Eleven reasons to use the Play! Framework for Java Web Development
The Play! Framework is a great tool for rapidly building Java web applications. Play! takes many of the ideas from the dynamic languages world (Rails and Django), and provides them to Java web development. Reasons to conside Play! for Java Development are:
- Rapid development via a local development server that automatically compiles your java code for you. It’s amazing how good it is to develop like this, and what a difference the rapid feedback loop makes.
- A good clean MVC famework.
- Nice testing support baked in.
- A useful routing table to make clean urls easy to work with.
- A focus around REST, but no slavish observence of it.
- built-in simple JSON support.
- A good module framework with useful modules including a “CRUD” module, and a Scala module currently under development
- An interesting mix of Java class enhancement that makes it easy to work with code, and then have the enhancer provide some of the hard work for ensuring that multiple threads are handled well.
- Deployment to a range of platforms, including JEE Servlets (Play! 1.0.2 has been tested on containers such as tomcat, jetty, JBoss and IBM WebSphere Portal 6.1), and the GAE.
- Enhancements to the JPA which make it really easy to work with.
- An active and supportive community. There is the right balance between having strong opinions about the “Play!” way of doing things, and helping people to get things done.
Play! makes Java web development fun and productive. The feedback loop is really quick, and much of the boilerplate code is removed. It’s well worth considering for any application you want to write in Java.
Take a look at the video, and work through the tutorial to get a feel for what development with Play! is like.
April 10th, 2010 at 1:39 pm
[...] This post was mentioned on Twitter by rojotek, Atlanta Web Design. Atlanta Web Design said: Eleven reasons to use the Play! Framework for Java Web Development: …the dynamic languages world (Rails and Djan… http://bit.ly/c0l9WN [...]
April 11th, 2010 at 7:15 am
If you want some entertainment, have a closer look under the hood at how its implemented
April 12th, 2010 at 3:42 am
Nick,
Are you saying that the way it is implemented is good or bad?
April 12th, 2010 at 7:54 am
Methinks Nick is pointing out that it is entertaining
. The focus seems to be on making Play! clean to use, and using whatever heavy lifting is possible to get there. I would be grumpy if someone on my team wrote the code in Play!, but can live with it in the framework. Happily they are responsive to change, so if there is a bug it gets fixed.
April 12th, 2010 at 10:09 pm
I think things like this are simply entertaining:
// Really I don’t like this stuff
if(request.path.equals(“/favicon.ico”)) {
response.status = 404;
return true;
}
(from CorePlugin-1.0.2 line 45-49: http://bazaar.launchpad.net/~play-developers/play/1.0/annotate/head:/framework/src/play/CorePlugin.java#L45)
and to make sure /favicon.ico is dead:
// Patch favicon.ico
if (!request.path.equals(“/favicon.ico”)) {
super.init();
}
(from server.HttpHandler-1.0.2 line 455-458: http://bazaar.launchpad.net/~play-developers/play/1.0/annotate/head:/framework/src/play/server/HttpHandler.java#L455)
Is it implemented good or bad? Try to change/extend it! I think it is mostly ok for its age.
Have fun!
April 19th, 2010 at 8:31 am
Im saying its …. unorthadox.
statics galore.
exceptions to return data.
April 26th, 2010 at 7:30 pm
[...] Rob@Rojotek Software Development in Brisbane « Eleven reasons to use the Play! Framework for Java Web Development [...]
April 29th, 2010 at 6:14 pm
good work done keep it up.