Documentation

You are viewing the documentation for the 2.4.0-M2 development release. 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
    8. Handling errors
  2. Asynchronous HTTP programming
    1. Asynchronous results
    2. Streaming HTTP responses
    3. Comet sockets
    4. WebSockets
  3. The template engine
    1. Scala templates syntax
    2. Common use cases
    3. Custom format
  4. Form submission and validation
    1. Handling form submission
    2. Protecting against CSRF
    3. Custom Validations
    4. Custom Field Constructors
  5. Working with Json
    1. JSON basics
    2. JSON with HTTP
    3. JSON Reads/Writes/Format Combinators
    4. JSON Transformers
    5. JSON Macro Inception
  6. Working with XML
  7. Handling file upload
  8. Accessing an SQL database
    1. Configuring and using JDBC
    2. Using Slick to access your database
      1. Using Play Slick
      2. Play Slick resources
      3. Advanced drivers configuration
      4. Keeping tables separated
      5. Using a separated execution context
    3. Using Anorm to access your database
    4. Integrating with other database access libraries
  9. Using the Cache
  10. Calling WebServices
    1. The Play WS API
    2. Connecting to OpenID services
    3. Accessing resources protected by OAuth
  11. Integrating with Akka
  12. Internationalization
  13. Testing your application
    1. Testing your Application
    2. Testing with ScalaTest
    3. Writing functional tests with ScalaTest
    4. Testing with specs2
    5. Writing functional tests with specs2
  14. Logging

Advanced topics

  1. Handling data streams reactively
    1. Iteratees
    2. Enumerators
    3. Enumeratees
  2. HTTP architecture
    1. HTTP API
    2. HTTP filters
    3. HTTP request handlers
  3. Dependency injection
    1. Runtime dependency injection
    2. Compile time dependency injection
  4. Reverse routing
  5. Extending Play

Next: Main concepts