Documentation

You are viewing the documentation for the 2.1.0 release in the 2.1.x series of releases. The latest stable release series is 3.0.x.

§Play for Scala developers

The Scala API for Play application developers is available in the play.api package.

The API available directly inside the play package (such as play.mvc) is reserved for Java developers. As a Scala developer, look at play.api.mvc.

§Main concepts

  1. HTTP programming
    1. Actions, Controllers and Results
    2. HTTP routing
    3. Manipulating results
    4. Session and Flash scopes
    5. Body parsers
    6. Actions composition
    7. Content negotiation
  2. Asynchronous HTTP programming
    1. Handling asynchronous results
    2. Streaming HTTP responses
    3. Comet sockets
    4. WebSockets
  3. The template engine
    1. Templates syntax
    2. Common use cases
  4. HTTP form submission and validation
    1. Form definitions
    2. Using the form template helpers
  5. Working with Json
    1. Play Json Basics
    2. Json Reads/Writes/Format Combinators
    3. Json Transformers
    4. Json Macro Inception
    5. Handling and serving Json requests
  6. Working with XML
    1. Handling and serving XML requests
  7. Handling file upload
    1. Direct upload and multipart/form-data
  8. Accessing an SQL database
    1. Configuring and using JDBC
    2. Using Anorm to access your database
    3. Integrating with other database access libraries
  9. Using the Cache
    1. The Play cache API
  10. Calling WebServices
    1. The Play WS API
    2. Connecting to OpenID services
    3. Accessing resources protected by OAuth
  11. Integrating with Akka
    1. Setting up Actors and scheduling asynchronous tasks
  12. Internationalization
    1. Messages externalisation and i18n
  13. The application Global object
    1. Application global settings
    2. Intercepting requests
    3. Dependency injection of controllers
  14. Testing your application
    1. Writing tests
    2. Writing functional tests

§Advanced topics

  1. Handling data streams reactively
    1. Iteratees
    2. Enumerators
    3. Enumeratees
  2. Reverse routing
    1. Javascript Routing

§Tutorials

  1. Your first application