Play is a framework for writing Web applications using Scala or Java. It provides a productive development environment allowing you to just hit the refresh button of your browser to compile your changes and reload the application. Because of its stateless nature, the framework makes it easy to build applications that scale. It gives a reactive programming model to harness the event-driven HTTP layer. The abstractions provided by the framework do not hide the nature of the HTTP protocol, so that you have all the control you need to build standard compliant modern Web services.This book provides a step-by-step walkthrough of how to build a complete web application following best application development practices using Play Framework 2. All aspects specific to web-oriented architectures are covered: the HTTP layer, JSON manipulation, HTML templating, asset compression and concatenation, form submission, content negotiation, and security. The book will also provide detailed architectural insights into Play Framework to give you a better understanding to successfully build scalable applications. Finally, the book covers a set of best practices to keep your code simple, composable, and predictable.