The Play framework makes it easier to build web applications with Java and Scala. The framework is a clean alternative to bloated Enterprise Java stacks. It focuses on developer productivity and targets RESTful architectures. Play is a perfect companion to agile software development.
The goal of the framework goal is to ease web applications development while sticking with Java. With the Play framework there is no need to compile, deploy or restart the server. Just edit the Java files, save, refresh browser and results can be seen immediately. Play has a clean and efficient template system based on Groovy as an expression language. The template system provides template inheritence, includes and tags. Play framework is very developer friendly, when an error occurs, the source code and the exact line containing the problem is displayed even in templates. Play framework is based on non blocking, asynchronous IO model and allows to create modern web applications based on long polling and WebSockets. Additionally, the framework provides plugin system and integration with Hibernate, OpenID, Memcached.
Play has an integrated test runner, which makes test-driven development (TDD) very easy. All kinds of tests, from simple unit tests to full acceptance tests are supported, and can be run directly in browser using Selenium. Code coverage is also measured.
The Play framework is purely Java solution. Therefore, any existing Java library can be used. Play integrates nicely with the Eclipse IDE or Netbeans IDE.