Play Framework


Play Framework is an open-source web application framework which follows the model–view–controller architectural pattern. It is written in Scala and usable from other programming languages that are compiled to JVM Bytecode, e.g. Java. It aims to optimize developer productivity by using convention over configuration, hot code reloading and display of errors in the browser.
Support for the Scala programming language has been available since version 1.1 of the framework. In version 2.0, the framework core was rewritten in Scala. Build and deployment was migrated to SBT, and templates use Scala instead of Apache Groovy.

History

Play was created by software developer Guillaume Bort, while working at Zengularity SA. Although the early releases are no longer available online, there is evidence of Play existing as far back as May 2007. In 2007, pre-release versions of the project were available to download from Zenexity's website.

Motivation

Play is heavily inspired by ASP.NET MVC, Ruby on Rails and Django and is similar to this family of frameworks. Play web applications can be written in Scala or Java, in an environment that may be less Java Enterprise Edition-centric. Play uses no Java EE constraints. This can make Play simpler to develop compared to other Java-centric platforms.
Although Play 1.x could also be packaged as WAR files to be distributed to standard Java EE application servers, Play 2.x applications are now designed to be run using the built-in Akka HTTP or Netty web servers exclusively.

Major differences from Java frameworks

Play provides integration with test frameworks for unit testing and functional testing for both Scala and Java applications. For Scala, integrations with Scalatest and Specs2 are provided out-of-the-box and, for Java, there is integration with JUnit 4. For both languages, there is also integration with Selenium. SBT is used to run the tests and also to generate reports. It is also possible to use code coverage tools by using sbt plugins such as or .

Usage

, the Play Framework is the most popular Scala project on GitHub. In July 2015, Play was the 3rd most popular Scala library in Github, based on 64,562 Libraries. 21.3% of the top Scala projects used Play as their framework of choice.
In December 2010, the first e-book for the Play framework was released. This was subsequently also published in hard copy. In August 2011, a second book was released, covering more complex and modern features.
In August 2011, Heroku announced native support for Play applications on its cloud computing platform. This follows module-based support for Play 1.0 on Google App Engine, and documented support on Amazon Web Services.
In July 2013, Jelastic published a tutorial showing support for Play 2 on its cloud computing platform.

Literature

*