Play Framework 2.0 - The Future?
Evolution has stuffed the dustbin of history with ideas that looked good, but ultimately didn‘t make sense. One idea that is irrepressible is that people are more productive and creative when what they are doing involves less drudgery. Tom Demarco wrote a brilliant book called Slack a few years ago that discussed our propensity toward turning all matters of execution into death marches merely because we have stigmatized all notions of work that don‘t involve the Dickensian dint of sooty toil. [BTW, it was Nietzsche who first wrote considerably on the subject of the ill effects of dour dispositions that have lost all sense of play (c.f. The Gay Science).] So while their framework may sound stupid, like DeMarco‘s book, it‘s a jab that speaks volumes about their mission. Here‘s hoping that they stick to it.
The fact that their stuff works with Scala just raised the likelihood of me taking a long look in that direction an order of magnitude.
Finally, let‘s face the facts: Java has had a decade and a half to make a real end-to-end environment that is fast, fun and productive. When I am working in unit tests that run in a few seconds in Java, I have zero complaints, truly, it is a great language and environment. However, as soon as we crawl up from there, things go to hell quite rapidly. The buffo cast of container testing wannabes has really reached the Brumaire stage of farce, Folks. It probably is time that the legacy EJB, the first prophet who claimed salvation (Spring) and the second (EJB3) be given some fresh competition. I hope Play can be that.
Just so happens that when I was reading the 2.0 announcement, I saw something in there that was very compelling for a problem I happen to be working on: a way of making classes that can be persisted to either a NOSQL or JPA backend. For all the chatter about how bad EJB was because you had to pollute your domain classes and tie them to the bean layer, and all the POJO trumpet fanfares, 90% of Java EE code these days has annotations in the domain classes tying them to an ORM (@Entity, @Id, etc.).
Mark my words, the line of the defenders of the secret will be that Play is a toy and if you try and get airborne with it, you will die in a fiery crash.