The Play binary package comes with a comprehensive set of sample applications written in both Java and Scala. This is a very good place to look for code snippets and examples.
The sample applications are available in the
samples/directory of your Play installation.
This is a very basic application that demonstrates Play fundamentals:
- Writing controllers and actions.
- Routing and reverse routing.
- Linking to public assets.
- Using the template engine.
- Handling forms with validation.
This is a classic CRUD application, backed by a JDBC database. It demonstrates:
- accessing a JDBC database, using Ebean in Java and Anorm in Scala
- table pagination and CRUD forms
- integrating with a CSS framework (Twitter Bootstrap).
Twitter Bootstrap requires a different form layout to the default layout provided by the Play form helper, so this application also provides an example of integrating a custom form input constructor.
This is a dummy application presenting several typical form usages. It demonstrates:
- writing complex forms with validation
- handling forms with dynamically repeated values.
This advanced todo list demonstrates a modern Ajax-based web application. This is a work in progress, and we plan to add features in the future releases. For now you can check it out to learn how to:
- integrate authentication and security
- integrate with compiled assets - LESS CSS and CoffeeScript.
This a very simple Comet demonstration pushing clock events from the server to the Web browser using a the forever-frame technique. It demonstrates how to:
- create a Comet connection
- use Akka actors (in the Java version)
- write custom Enumerators (in the Scala version).
This application is a chat room, built using WebSockets. Additionally, there is a bot used that talks in the same chat room. It demonstrates:
- WebSocket connections
- advanced Akka usage.
This mobile web application monitors Play server performance. It demonstrates:
- advanced usage of Enumerators and Enumeratees.
– Play for Scala developers
– Play for Java developers
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.