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.
Related posts:










[...] 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 [...]
If you want some entertainment, have a closer look under the hood at how its implemented
Nick,
Are you saying that the way it is implemented is good or bad?
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.
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!
Im saying its …. unorthadox.
statics galore.
exceptions to return data.
[...] Rob@Rojotek Software Development in Brisbane « Eleven reasons to use the Play! Framework for Java Web Development [...]
good work done keep it up.
Go back to play framework website, take a look at play 2.0 , come back and tell me if you still like it.
Josh.