Ahh, Scala - the thinking man's programming language for the JVM. As a programmer / architect for the past 15 years I've seen my share of trends and fads come and go. Heck, I've been a part of some of them. Over the past month I have been looking for the "next" thing in web development and enterprise architecture. There were two topics that hit my radar and made it through my various filters. Big Data and Scala. More on Big Data in a future post.
As I looked at Scala and it's use in enterprise architecture and programming I got more and more interested. Since I am looking specifically for enterprise web solutions I was naturally led from Scala to Lift (http://liftweb.net/). Since one of my filters on new and upcoming technology is the publication of new books on the subject, a new book on Lift was definitely something worth looking into.
Lift In Action (http://www.manning.com/perrett/), published in November of 2011, a title from Manning Publications popular "In Action" series was a pleasure to read and work through. Since I am just now learning Scala I was a bit concerned that I would be lost when I started reading Lift In Action. That was not the case! Mr. Perrett does a fine job of getting the reader into the subject matter and in the "In Action" style, right into understanding the technology and getting something working quickly. By page 30 you already have a running Lift app.
After the "Hello Lift" application in Part 1 of the three part book, Mr. Perrett takes you through a tutorial in Part 2 and then offers a fairly comprehensive reference in Part 3. The tutorial is fast paced and in my opinion leaves out a little too much detail. The source code is available for download, however, after the construction of one view to model use case the book simply states :
"Notice that the argument list includes some models that we haven’t explicitly covered. Rather than cluttering these pages with lots of code definitions that are largely similar to the Supplier model, you can find the code for the other models in the online repository on github.com (http://github.com/timperrett/lift-in-action)."
I was able to figure out how the rest of the views and models got created after examining the source code for a couple hours. I would have liked to see more of the "cluttering" in the book. What was explained in the book was done well.
As an added bonus when I purchased Lift In Action from Manning they offered me Scala In Action at a discount. I will be reviewing that book in a future post.
Overall, I am very happy with Lift In Action and would recommend it to anyone interested in learning more about Scala and how it can be used to build enterprise web applications.