Introduction to Play Framework for Scala

Summary

The course, including all transcripts and code examples, has been updated to Play 2.5.x, and includes information about future versions of Play Framework.

This course covers the fundamentals of Play Framework for Scala programmers. Exercises are provided throughout that reinforce the lecture material. The material builds from lecture to lecture, so be sure to go through the material from start to finish.

Duration

This course has 34 lectures and 6 hours of video. Students should expect to spend about 40 hours working through the material.

Objectives

After having participated in this course students should:

  • Understand what Play Framework 2 is and how to work with each of its major components
  • Know how to work with Play Framework for Scala projects using SBT, Activator, programming editors and IDEs
  • Understand routing, reverse routing, various ways of returning HTTP statuses and issuing server-side redirects
  • Know how to work with WebJars for non-Java assets
  • Have experience CRUD operations on domain models
  • Have experience with webapp internationalization and localization
  • Be able to generate HTML, JSON and other data formats for various HTTP requests
  • Be able to write view templates using Twirl and Plain Old Scala, as appropriate
  • Know how to work with HTML forms and constraints, and the various Play body parsers
  • Be familiar with standard Play filters, and know how to write custom filters
  • Be able to read and write Play configuration files
  • Have experience with unit testing Play applications
  • Package Play applications for deployment to production servers

Audience

Students should have prior experience with setting up a web server such as Apache, or programming a web application using a facility such as ASP, Tomcat, PHP, Ruby on Rails, etc.

Prerequisites

Intermediate Scala course or equivalent.

Setup Requirements

Setup is part of the course material.

Program

See the course description for a detailed outline and revision history.