Great book for Java programmers kean to move toward Scala and/or Play! framework. The book starts as Scala vs Java tutorial, with code provided for both. The book is written in “one book, one project� style, like a tutorial starting a project from scratch and adding new functionality every chapter, emphasizing different aspects of the framework or language used. I liked it a lot because it presents a lot of modern frameworks and tools, from Sublime Text 2 to LESS or CoffeeScript, from WebSockets to Akka. The book is very well done, presenting the different aspects involved in writing a modern web application, touching subjects as realtime client updating, integrating external web services, testing all layers or deploying on the cloud. The most ennoying thing of the book is the way the code snippets are presented : jpeg files embedded in the page, a little bit blurry and not suitable for copy/paste (if you're the kind of programmer that wants to try it right away, not to search it in a separate folder). I recommend the book (get it here : ) if you're interested in some modern web development in your beloved JVM in June 2013.
This book is a good one to get familiar with Play Framework. However, if you are looking for an advanced Play book, this is not for you. The book follows the well-known chat-like applications (in the book Forum + Chat + Twitter Feed), but I must say, the approach used here was different from the ones I was used to. The book is centered in the Java API, but the code provided with the book contains examples for both Java and Scala. You can download the code from
Pros: * Good Introductory Book * Incremental complexity * Includes Testing * Explains how to bring the app live
Cons: * Some noise introduced when explaining outsider frameworks or languages (CoffeeScript, Less) * Asynchronous should be explained in more depth
I'll try to give my 5 cents chapter by Chapter:
1) Getting Started This chapter is skip-able if you are familiar with Play. Nothing new under the sun here.
2) Taking the First Step Another introduction, now it is Scala's turn. This is needed for the Templates used in Play! Framework. Again, nothing new if you are familiar with Scala.
3) Templating Easily with Scala Here it's when the tutorial really begins. It's a nice introduction to Templates in Play! Framework, nothing exhaustive though. In this chapter, there is a tiny introduction to Less, as I said before, in my opinion, this only adds some noise to the picture.
4) Handling Data on the Server Side Our tiny example grows in this chapter as we provide it with a Database. This chapter contains a quick introduction to ORM's and how we can validate the input data easily in Play Framework.
5) Dealing with Content Nice explanation on how the content is being parsed and which parses already exist in Play. Well explained.
6) Moving to Real-time Web Applications The most interesting part of this chapter is the Websockets introduction, very basic though. In this chapter our little app becomes dynamic as we push data from the server to the Browser. Again, there is some noise due to the (unneeded?) introduction to CoffeeScript.
7) Web Services Easy introduction to REST and problems derived from interacting with 3rd-party services like Twitter. Our little app becomes asynchronous. I think the author doesn't manage to explain the complexity of asynchronicity and how it works behind the scenes.
8) Smashing All Test Layers I find it very good that the author decided to include this chapter. Testing is usually the forgotten part of all this introduction books. It explains the different types of testing and how this can be accomplished with Specs2.
9) Code Once, Deploy Everywhere This chapter was a complete surprise. The author decided to spend some time explaining how we can bring our little application to a Live environment. It describes briefly which services can be used and are compatible with Play Framework. Nice chapter! I hope the author keeps it up to date in further editions.
This book is great for java developers looking to develop play framework applications through Scala. While the new features of Play2 are covered, ample amount of scala is also discussed; from basics to application. The deployment section is also quite updated and covers cloud deployments but the testing chapter loses the pace set by the book; mock based testing is not clear. One problem while reading the ebook version is that code examples are shown straight out of sublime text, so directly using the code while reading is a bit painful. However, the book provides a download for the same. If you are looking to learn and use play framework or scala or any quick and fast scala based web application framework, this is the book for you. For absolute beginners, I'd recommend using this text alongside or after finishing with the official documentations. You can view the official book page via