§What is Play?
Play is a high-productivity Java and Scala web application framework that integrates components and APIs for modern web application development. Play was developed by web developers for web application development.
You will find Play’s Model-View-Controller (MVC) architecture familiar and easy to learn. Play provides concise and functional programming patterns. And the large community developing Play applications provides an excellent resource for getting your questions answered.
As a full-stack framework, it includes all of the components you need to build Web Applications and REST services, such as an integrated HTTP server, form handling, Cross-Site Request Forgery (CSRF) protection, a powerful routing mechanism, I18n support, and more. Play saves precious development time by directly supporting everyday tasks and hot reloading so that you can immediately view the results of your work.
Play’s lightweight, stateless, web-friendly architecture uses Akka and Akka Streams under the covers to provide predictable and minimal resource consumption (CPU, memory, threads). Thanks to its reactive model, applications scale naturally–both horizontally and vertically. See Elasticity and Efficient Resource Usage for more information.
Play is non-opinionated about database access, and integrates with many object relational mapping (ORM) layers. It supports Anorm, Ebean, Slick, and JPA out of the box, but many customers use NoSQL or other ORMs.
Read more about Play philosophy and history.
- Check the requirements to work with Play
- Try the Hello World tutorial
- Create a new application from a template
- Learn more from Play examples
Next: Requirements to work with Play
Found an error in this documentation? The source code for this page can be found here. After reading the documentation guidelines, please feel free to contribute a pull request. Have questions or advice to share? Go to our community forums to start a conversation with the community.