The "Twirl View Templates" lecture is not free and you are not enrolled in the course, or you are not logged in. Information about the lecture follows. Click on the About the Course and Course Outline tabs above to learn more about the course. You can enroll by clicking on the button on the upper right of this page.
References: | Lecture Twirl Form Helpers Lecture Deploying Play Applications Lecture Redirects Lecture Plain Old Scala View Templates Lecture WebJars Lecture Implicit Values Lecture Higher-Order Functions Lecture Implicit Conversions Lecture Implicit Classes Lecture For-Loops and For-Comprehensions Lecture For-Loops and For-Comprehensions Examples Lecture Option, Some and None Lecture Pattern Matching Lecture More Fun With Functions |
---|---|
Referenced by: | Lecture A Closer Look at Google Guice Lecture Play Framework Tools Lecture Standard Files and Directories and Template Lecture Reverse Routes Lecture Redirects Lecture Plain Old Scala View Templates Lecture For-Loops and For-Comprehensions |
Play Framework view templates are invoked by controller Action
methods, which automatically render them to HTML. The resulting HTML responses are sent back to users. Play Framework's Twirl templating DSL is introduced in this lecture.
Date | Changes |
---|---|
2016-07-17 | Added section Twirl File Type Examples, which shows working examples of .scala.txt , .scala.xml and .scala.js Twirl templates |
2016-07-01 | Renamed references from Application.scala to ApplicationController.scala |
2016-06-22 | Updated transcript to match sample code and republished video |
2016-06-06 | Added mention of Twirl v1.2.0 |
2015-07-31 | Hived the Redirect Flashing and Plain Old Scala View Templates lectures and updated to Play 2.4.2 |
2015-06-21 | Added TemplateMagic section |
2015-04-21 | Updated to Play 2.3.8 |
2014-04-12 | First published transcript. |
This “Introduction to Play Framework for Scala” course covers the fundamentals for creating reactive web sites, and is designed to give you a variety of hands-on experiences. The course consists of 6 hours of video, over 300 pages of lecture notes (if printed as an O'Reilly-sized book), and about a dozen exercises. As you can see from the Revision History tab on this page, this course is kept up-to-date. Exercises are provided throughout that reinforce the lecture material. Several complete working sample Play Framework projects are provided and discussed in detail.
The course outline tab outlines the course in detail. The unique features for Play Framework are introduced, along with popular software tools like IntelliJ IDEA, Atom, custom scripts and useful plugins for web browsers.
As of Oct 5, 2019, the code examples for the course have been updated to Play 2.7.3. The transcripts and videos are being updated from Play 2.5.9 to Play 2.7.3+, and this is expected to take a few months to complete.
The course shows how Play Framework uses the model/view/controller (MVC) paradigm to route requests to controllers, and demonstrates many ways of extracting data from requests. Detailed discussions of Play Framework view templates are invoked by controllers are provided, prior to rendering them to HTML, plain text, Javascript or XML. Play Framework's Twirl templating DSL is explored in depth, and view templates written in pure Scala are demonstrated. Two methods of handling JSON are covered.
The course emphasizes dependency injection with Google Guice. Not all of Guice is compatible with Play Framework; this lecture points out the danger areas, and introduces the popular Scala-Guice
library in Play Framework 2 applications. A summary of Play's injectable state is provided, and a discussion of how Play's modes relate to Guice's stages is included. Guice Providers, @Named
and Guice modules are discussed using practical examples.
Internationalization and localization is covered in detail, followed by form helpers and form handling. An entire lecture is dedicated to a CRUD (create, retrieve, update and delete) application which is designed to be used as a reference application.
Other topics covered include Play Framework application configuration, logging, unit tests and integration tests, standard filters and custom filters. One of the most important lectures discusses how to package and deploy Play Framework applications using SBT Native Packager.
In addition to self-paced online learning, Micronautics Research offers remote instructor-led training for this course, which combines the self-study material with videoconferencing for office hours. Please contact us for further details.
The video on the front page of this web site discusses how to study this course. The transcript tab contains the same information as the video in written form.
Intermediate Scala or equivalent. Students should have prior experience with setting up a web server such as Apache httpd, or programming a web application using a facility such as ASP, Tomcat, PHP, Ruby on Rails, etc.
Date | Lecture | Changes |
---|---|---|
2019-12-13 | Standard Files and Directories and Template | Updated to Play 2.8 |
2019-11-06 | Introducing Play-JSON | Updated to Scala 2.13 and Play 2.7.3 |
2019-10-24 | A Closer Look at Google Guice | Updated transcript to Play Framework 2.7.3. |
2019-10-24 | Using Google Guice for Dependency Injection | Rewrote the guice Dependency section of the transcript. |
2019-10-24 | Working on Play Projects with IntelliJ IDEA | Updated the transcript to Play 2.7.3 and IntelliJ IDEA 2019.2.3. |
2019-10-14 | Installing Play Framework | Republished video updated for Play Framework 2.7.3. |
2019-10-12 | Working on Play Projects with IntelliJ IDEA | Added new section JPDA Overview to transcript and moved Debugging with JPDA section into this lecture from Play Run Modes |
2019-10-12 | Play Framework REPL | Hived this lecture from Play Framework REPL |
2019-10-11 | Working on Play Projects with IDEs | Updated transcript to Play Framework 2.7.3. |
2019-10-11 | Play Framework REPL & Tools | Updated transcript to Play 2.7.3. |
2019-10-11 | Standard Files and Directories and Improved Template | Updated transcript to Play 2.7.3. |
2019-10-09 | Installing Play Framework | Renamed lecture from Installing Activator to Installing Play Framework, removed all mention of Activator (it is obsolete), and rewrote the remaining material in terms of sbt plugins. Added mention of giter8 . |
2019-10-08 | Play Framework Overview | Added new sections Git Clone the Course Notes and Refer to Lecture Transcripts and republished the video. |
2019-10-07 | Play Framework Overview | Updated transcript and republished video for Play Framework 2.7.3. |
2019-10-07 | Working on Play Projects with Scala-IDE | Removed this obsolete lecture. |
2019-10-07 | Using Activator | Removed this outdated lecture. |
2019-10-05 | All | Updated all sample code to Play 2.7.3 & Scala 2.13 (see the git branch called 2.7.3) |
2019-09-30 | Standard Files and Directories and Improved Template | Updated transcript to use gitter8 instead of activator. |
2019-05-01 | Working on Play Projects with IntelliJ IDEA | Removed references to abandoned sbt-idea plugin |
2017-06-11 | Play Framework REPL & Tools | Documented how to allow any domain to work with IDEA's Remote Call plugin |
2017-03-29 | Using Activator | This lecture is deprecated, because Play 2.6 will drop support for Activator. |
2017-03-29 | Installing Activator | Added section Play 2.6 will drop support for Activator to transcript |
2017-03-11 | Updated all sample code to Play Framework 2.5.12 | |
2016-09-14 | Forms, Fields, Mappings and Constraints | Added a discussion of picking up multiple values from a form |
2016-08-27 | Testing Play for Scala Applications | Added section Comparing the play.modules Configuration Object with GuiceApplicationBuilder Parameters to transcript |
2016-08-12 | Configuration | Showed how to use playGenerateSecret |
2016-08-12 | Deploying Play Applications | Updated to sbt-native-packager 1.1.4 and Play 2.5.4 |
2016-08-09 | Guice Providers, @Named and Exercise | Added sections Guice's Automatically Created Default Provider and Untargeted Bindings |
2016-07-24 | Standard Filters and Filter Chains | Enhanced the SecurityHeadersFilter section in the transcript |
2016-07-22 | Configuration | Added Checking Combined Configuration File section to transcript |
2016-07-17 | Updated code examples in git repo to SBT 0.3.12 | |
2016-07-17 | Twirl View Templates | Added section Twirl File Type Examples, which shows working examples of .scala.txt , .scala.xml and .scala.js Twirl templates |
2016-07-15 | A Closer Look at Google Guice | Reworded step 1 of first example in transcript |
2016-07-07 | Introducing Play-JSON | Published video |
2016-07-06 | Guice Providers, @Named and Exercise | Published video |
2016-07-05 | A Closer Look at Google Guice | Published video |
2016-07-04 | Using Google Guice for Dependency Injection | Published video |
2016-07-03 | A Closer Look at Google Guice | Hived from Using Google Guice for Dependency Injection. |
2016-07-01 | Play Logging | Renamed references from Application.scala to ApplicationController.scala |
2016-07-01 | Internationalization and Localization | Renamed references from Application.scala to ApplicationController.scala |
2016-07-01 | Body Parsers | Renamed references from Application.scala to ApplicationController.scala |
2016-07-01 | Plain Old Scala View Templates | Renamed references from Application.scala to ApplicationController.scala |
2016-07-01 | Twirl View Templates | Renamed references from Application.scala to ApplicationController.scala |
2016-07-01 | Reverse Routes | Renamed references from Application.scala to ApplicationController.scala |
2016-07-01 | Routes and Dispatching to Controllers | Renamed references from Application.scala to ApplicationController.scala |
2016-07-01 | Working on Play Projects with IntelliJ IDEA | Renamed references from Application.scala to ApplicationController.scala |
2016-07-01 | Play 2 Controllers | Added information about play.api.Application |
2016-06-30 | Custom Filters | Published video |
2016-06-30 | Standard Filters and Filter Chains | Published video |
2016-06-29 | Play Framework Overview | Updated overview diagram to include filters |
2016-06-29 | Custom Filters | Hived from Filters lecture |
2016-06-29 | Example Play for Scala Tests | Published video |
2016-06-28 | Play Logging | Published video |
2016-06-27 | Testing Play for Scala Applications | Published video |
2016-06-26 | Guice Providers, @Named and Exercise | Published transcript and solution to new exercise |
2016-06-25 | Configuration | Published video |
2016-06-24 | CRUD Webapp Walkthrough | Updated video to match sample code, which now uses dependency injection |
2016-06-24 | Twirl Form Helpers | Updated Controller Setup for Views Containing Twirl Input Helpers section for dependency injection and republished video |
2016-06-24 | Internationalization and Localization | Added Play's I18N Settings in HOCON Files are Backwards section and rewrote lecture for dependency injection. Republished 25% longer video. |
2016-06-23 | Play Framework REPL & Tools | Updated the incantation for fakeApp.repl so it provides an implicit Application without generating warnings |
2016-06-23 | WebJars | Updated to match sample code and republished video |
2016-06-22 | Plain Old Scala View Templates | Updated video to match transcript and sample code |
2016-06-22 | Twirl View Templates | Updated transcript to match sample code and republished video |
2016-06-21 | Mitigating the Impact of API Churn on Tests | Hived this lecture from the Testing Play for Scala Applications lecture |
2016-06-21 | Example Play for Scala Tests | Hived this lecture from the Testing Play for Scala Applications lecture |
2016-06-20 | Testing Play for Scala Applications | Updated all unit tests and transcript to Play 2.5.4 & scalatestplus-play 1.5.1 |
2016-06-18 | Play Logging | Published transcript |
2016-06-18 | Reverse Routes | Added section Redefining IDEA's Classpath to Include Generated Source and republished video |
2016-06-17 | Play 2 Controllers | Republished video |
2016-06-17 | Routes and Dispatching to Controllers | Update transcript to Play 2.5.4 and republished video |
2016-06-17 | Working on Play Projects with IDEs | Updated to Play 2.5.4 and republished video |
2016-06-16 | Standard Files and Directories and Improved Template | Updated to Play 2.5.4 and republished video |
2016-06-15 | Using Activator | Updated to Activator 1.3.10 and republished video |
2016-06-14 | Installing Activator | Updated video |
2016-06-14 | Configuration | Updated to Play 2.5.4 |
2016-06-14 | Filters | Updated to Play 2.5.4 using dependency injection |
2016-06-14 | Play Framework Overview | Added Other Resources section and updated video |
2016-06-10 | WebJars | Updated versions mentioned in the lecture; a very minor change, so the video won't be updated to reflect these changes |
2016-06-10 | Reverse Routes | Small changes throughout; Activator 1.3.6 renamed Application to HomeController. |
2016-06-10 | Play 2 Controllers | Updated the Controller objects vs. Controller classes and The Sample Controller sections to include dependency injection for Play 2.5.4 |
2016-06-10 | Routes and Dispatching to Controllers | Updated code example for the Unmatched Requests section |
2016-06-10 | Updated all code examples to Play 2.5.4 | |
2016-06-09 | Briefly: Using Google Guice for Dependency Injection | Wrote initial transcript |
2016-06-09 | Updated all sample code in git repository to Play 2.5.3; fully utilizes dependency injection | |
2016-06-08 | Standard Files and Directories and Improved Template | Updated transcript to Play 2.5.3 |
2016-06-06 | Twirl View Templates | Added mention of Twirl v1.2.0 |
2016-06-06 | Plain Old Scala View Templates | Added additional use cases for Plain Old Scala view templates |
2016-05-27 | Standard Files and Directories and Improved Template | Added information on suppressing the Play directory structure in favor of the standard SBT directory structure to transcript |
2016-05-09 | Forms, Fields, Mappings and Constraints | Added new section about Fields to transcript |
2016-04-23 | Standard Files and Directories and Improved Template | Updated transcript to Play 2.5.2 |
2016-03-13 | Standard Files and Directories and Improved Template | Moved the Examining Dependencies section to the end of the SBT Tasks and Settings transcript of the Introduction to Scala course |
2016-03-13 | Using Activator | Changed references from Typesafe (the company name) to Lightbend |
2016-03-13 | Play Framework Overview | Added A Word About Play Framework Documentation section |
2016-02-11 | Installing Activator | Updated video |
2015-12-05 | Working on Play Projects with IntelliJ IDEA | Added information about enabling debugging when launching an SBT task |
2015-11-30 | Plain Old Scala View Templates | Updated video |
2015-11-30 | Using Activator | Republished video |
2015-11-10 | Installing Typesafe Activator | Added section to transcript: Optional: Install Node.js |
2015-10-25 | Standard Files and Directories and Improved Template | Added SBT MetaProject Dependencies section |
2015-10-08 | Working on Play Projects with Scala-IDE | Updated to Play 2.4.3, Activator 1.3.6 and Scala-IDE 4.2.0, and published video |
2015-10-06 | Redirects | Tweaked transcript and published video |
2015-10-05 | Reverse Routes | Published video |
2015-10-04 | CRUD Example | Updated transcript and published video |
2015-10-01 | Internationalization and Localization | Published video |
2015-09-30 | Deploying Play Applications | Published video |
2015-09-17 | Play Framework Overview | Updated transcript and republished video |
2015-09-03 | Installing Typesafe Activator | Updated activator installation script |
2015-08-30 | Deploying Play Applications | First published transcript |
2015-08-28 | Plain Old Scala View Templates | Added section The include Template Needs Enhancing For Deployment |
2015-08-25 | Twirl Form Helpers | Updated and published video |
2015-08-21 | Forms, Fields, Mappings and Constraints | Updated transcript and published video |
2015-08-18 | Define and Persist Model | Updated transcript and published video |
2015-08-13 | Body Parsers | Updated and published video |
2015-08-12 | Standard Files and Directories and Improved Template | Updated to Anorm 2.5 |
2015-08-07 | WebJars | Updated transcript and published video |
2015-08-06 | Plain Old Scala View Templates | Published video |
2015-07-31 | Plain Old Scala View Templates | Hived from the Twirl View Templates lecture |
2015-07-31 | Redirect Flashing | Hived from the Twirl View Templates lecture and updated to Play 2.4.2 |
2015-07-30 | Routes and Dispatching to Controllers | Updated transcript and published video |
2015-07-28 | Reverse Routes | Hived from Routes and Dispatching to Controllers |
2015-07-04 | Updated code examples to Play 2.4.2 | |
2015-07-03 | Debugging Play Applications Deployed to Heroku | Lecture is no longer free |
2015-06-24 | Updated all project except json to Scala 2.11.7 and Play 2.4.1 (awaiting Macro Paradise compiler plugin for json ) |
|
2015-06-23 | Working on Play Projects with IDEs | Updated to Play 2.4 and published video. |
2015-06-22 | Play Framework Tools | Updated to Play 2.4, added the Running the Play Web Application From the SBT Console section and published video |
2015-06-21 | Twirl and Plain Old Scala View Templates | Added TemplateMagic section |
2015-06-12 | Using Activator | Updated content and published video. |
2015-06-10 | JSON Writes, Formats and Combinator DSL | First published this transcript |
2015-06-07 | JSON Paths and Reads | Added sample code showing how kifi/json works with custom Reads . |
2015-06-07 | Introducing Play-JSON | Added a section on the kifi/json annotation macro |
2015-05-29 | JSON Paths and Reads | Published transcript |
2015-05-29 | Introducing Play-JSON | Published transcript |
2015-05-28 | All | Updated to Play 2.4.0 |
2015-05-06 | Twirl Form Helpers | First published transcript |
2015-05-05 | Ajax Example: Separate JavaScript and Twirl | Hived from Ajax Example: JavaScript Embedded in Twirl |
2015-05-01 | Ajax Example: JavaScript Embedded in Twirl | First published transcript |
2015-04-25 | Forms, Fields, Mappings and Constraints | First published transcript |
2015-04-24 | Define and Persist Model | First published transcript |
2015-04-21 | Twirl and Plain Old Scala View Templates | Updated to Play 2.3.8 |
2015-04-21 | Play 2 Controllers | Updated to Play 2.3.8 |
2015-04-21 | Play Framework Tools | Updated IntelliJ IDEA info for v14 |
2015-04-21 | Standard Files and Directories | Enhanced with new information and updated to Play 2.3.8 |
2015-04-21 | Creating a New Play Framework v2.2 Application | Deleted obsolete lecture, moved any relevant information to other lectures |
2015-04-21 | Using Activator | Updated to Play 2.4. |
2015-04-21 | Routes and Dispatching to Controllers | Completed transcript, up to date with Play 2.4. |
2015-04-21 | Body Parsers | Completed transcript |
2015-04-11 | Using Activator | Added Copyright section to transcript |
2014-12-07 | Updated courseNotes code to Play 2.3.7 |
|
2014-11-28 | Debugging JVM Programs on Heroku | Wrote lecture transcript |
2014-09-06 | Installing Typesafe Activator | Released video, updated scripts and transcript |
2014-09-05 | Installing Typesafe Activator | Provided Activator min/max installation script (1MB vs 400MB download) |
2014-09-04 | Using Activator for Play | Added more scripts and provided information on how to use them |
2014-09-03 | Standard Files and Directories | Hived this lecture from the Using Activator for Play lecture |
2014-09-03 | Play Framework Tools | Split this lecture out |
2014-09-03 | Creating a New Play Framework v2.2 Application | De-emphasized this lecture |
2014-09-03 | Using Activator for Play | Started writing this lecture |
2014-09-03 | Installing Activator | Started writing this lecture |
2014-08-15 | Creating a New Play Application | Updated the Play Framework Tools for Chrome and IntelliJ IDEA section |
2014-06-29 | Configuration | Lecture transcript written, shows how the various configuration files work together |
2014-06-22 | Updated brew install incantation in this page. |
|
2014-04-30 | Content Delivery Networks | Added new lecture transcript. |
2014-04-27 | WebJars | Added new lecture transcript. |
2014-04-25 | Performance | Added new lecture transcript. |
2014-04-08 | Play Framework Overview | Published video. |
2014-03-14 | Early Access Program begins. |
Price: | $495usd |
---|---|
Instructor(s): |