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.