Having recently got into Grails I'm wondering whether the Play framework potentially has more of a future and whether I should invest my time in learning Scala and Play. What are your feelings on the likely commercial take-up of Play and how it might fare in relation to other frameworks? In other words, do you think we'll be seeing many adverts for Play developers a few years from now?
If you're relatively new to Scala (as I am), then I'd guess that learning Play would also help your understanding of Scala/FP, which may be more marketable than any specific framework. Although I'm also a big fan of Grails which perhaps has the advantage of being easier to integrate into existing JEE systems.
Joined: Jan 24, 2013
One thing I'll say about play and learning it:
They use some more advanced Scala-isms. If you're learning it the way I learned rails, you'll look at things and think "MAGIC". After you're comfortable with Scala, the API will start to look just like a convenient library of stuff. The Java api, by extension, tries to be as similar to the scala version. This involves a lot more "actual magic" vs. "good language". Grails is similar, in that Groovy does the heavy lifting to make the usual spring APIs nice and simple.
As far as the future of Play, it's heavily hitting the Asynchronous-style development, trying to simplify that style to the point it's as "easy" as synchronous-style code.
We're using Play 2.1 and Akka in a project I'm working on now. Slinging together some Async calls and feeding them out a socket for HTTP is pretty dang simple. While the Akka-Actor -> Play Enumerator bridge isn't as nice as it could be, it's not too many lines of code to accomplish everything you need.
Having used both Grails and Play, I think I'd pick Play at this point because it gets out of the way of what I need to do *even more* than Grails. Again, I may be biased. However, when I first saw Play I was wholly unexcited. It wasn't until using it in anger, that I learned i liked it.