If you’ve read any other entries on this blog, you’ll know that I’m an advocate of the Play! Framework.

As of today, this has changed.

My client is currently in the process of migrating their services to a federated collection of web services. Business metrics are required, and so we needed to look at a logging service. We discussed various options, and my proposal was accepted. We have a few well-defined fields, and service-specific data is logged as a JSON document. The discussion lasted about 25 minutes or so.

I went back to my desk, and wrote the code – a RESTful service, an asynchronous client using Akka, and a front-end in 15 minutes – using Play 2.

Let me spell that out, in case you missed the figures. Implementing the entire solution took 3/5s the length of time of the meeting.

Can you imagine doing that with another web framework, especially in the Java space? Play is, by definition at this point, an embarrassment – it can, should and will make other frameworks embarrassed of what they can offer.

I’m no longer an advocate of the Play! Framework. I’m an unequivocal advocate of it.

Edit: I’ve changed ashamed to embarrassed – ashamed was the wrong word to use, and gave negative connotations.

26 thoughts on “The Play Framework is now officially an embarrassment

  1. Hi

    I don’t think there is fair comparing time between discussing/nailing requirements and coding. They are go hand in hand and a job well done in requirements often makes coding a pleasure and fast.

    If typing on a keyboard was the actual speed limit for progress we would not need as many developers.

    Now before we get into a heated discussion šŸ™‚ , I actually agree with your post and I love Scala/Play2 as well. Keeping turnaround time low and low complexity is one of the the first thing I look for in a tool. Play is definitely the tool that lives up to these goals best in Java-/Scala-land. šŸ˜›

  2. I figured it was time to post something that might generate a spot of controversy or annoyance – hence the language and the sentiment šŸ˜›

  3. The title is still a bit weird. It might be my english, but I would read it as a negative thing about PlayFramework. It’s seems like it’s an embarrassment within the Java space instead of that it embarrasses other frameworks..

    I agree with you that Play surfes it’s purpose and has a great turnaround, but every framework has it’s tipping point from where it it might take a large(r) amount of time to implement a feature in comparison to any other framework.

  4. @Tim – no, but it looks damn interesting. I really like the look of the polyglot support it has. I’ll give it a try this weekend.

  5. @rosdi I think there are still some things holding it back from enterprise adoption, such as the lack of war support. However, there are very good reasons for that particular issue, and I think the unwillingness of the Play team to compromise on these kind of issues is something that is going to advance it even further.

  6. I agree, it’s not the Framework persae, it’s that Java and MUCH, but of course not all, of its surrounding technology is and continues to be an embarassment on so many levels. Stuff like CherryPy has been around since 2001! Play and Scala is a step in the right direction for Java technologies in general. Every development tool I’ve used has some shortcomings. The ones that address these short comings well are the one’s that are productive.

  7. About the title… it might be a dialect thing, but Jeroen’s read matches my own: in my native dialect (east coast American), saying something is an embarrassment is to say that those *who use it* ought to be embarrassed…

  8. I don’t know what the Play framework is, but if I see in search results that “it’s an embarrassment”, I am no longer interested in finding out….

  9. @Jeroen and Guy – the title was meant to be provocative, but it is correct English. Something can be embarrassing in the comparative, as well as the personal.

    Thanks for reading, and taking the time and trouble to comment!

  10. @Guy – no offence, but if you’re relying on Google|whatever summaries to decide your choice of technology, then I think you need to look deeper. If I was searching on a tech and I saw what looked to be (and may well be) a negative article, I would want to read it just as much as anything touting the benefits.

  11. Please educate me…
    Bottom line, why you think Play 2 is superior to another well known and popular java framework like spring framework?

    Thank you in advance
    jD @http://pragmatikroo.blogspot.com

  12. @jD – I think that’s more a blog post than a comment. I’ll put something together on this topic – certainly something a bit more detailed than this post. Thanks for suggesting the topic!

  13. @berra – how could I check what was required before a meeting that defined the requirements? I already knew during the meeting that it wouldn’t take long to implement using Play 2 (or Play 1 for that matter), but I wasn’t able to prove that until the meeting ended.

    The further clarify the point, I would rather be coding than in a meeting, but some things are unavoidable.

  14. @Vic – sorry, I meant to reply to your comment earlier.

    I agree that Java has stagnated to some degree and that node.js (and, as Tim Fox suggested above, vert.x) are very cool and excellent for fast development. However, I feel the Scala support of Play 2 goes a long way to bridge that gap, and the static nature of the supported languages result in a faster and more stable development than when using a JavaScript-based approach.

  15. @Vic I tried using node.js as an overall solution but it has dissapointed me. I had problems with packages and after a while when I finally managed to fix that and start coding I saw that for normal stuff that’s not real time (most of the web application/pages) node.js adds unnecesary complexity with callbacks and you code becomes harder to read…

    I’m still in favor of Java on this topic…

  16. Like many who commented – I was expecting a negative article

    Embarrassment does not mean it embarrasses others. Maybe you were looking for something like “an embarrasser”? – So it’s actually getting interpreted as embarrassing in and of itself. I would really change the title ASAP.

    It could result in those searching or just skimming around to take it a vote against the framework and not bother reading (not everyone has time to read every negative article). And add the fact that it’s moved from Java to Scala it could push some to not to take a look depending on your point of view re: Scala.

  17. @dario The title was chosen on purpose to be provocative and confusing – there are a few comments here and on twitter to indicate it worked.

    I understand your views on people skimming, but according to Google Analytics this is by far the most popular (or at least, most read) article on here.

    But indeed, you’re right – I’m abusing language for my own ends and it’s a bit of a dirty trick.

  18. Love the “cognitive dissonance” ( or from a language point of view : irony) …absolute love it!

    I’m English by the way, so although I “got it” , I can see how the peculiar use may not play out so well in other climes.

    Cheerio!

  19. Love the “cognitive dissonance” ( or from a language point of view : irony) …absolutely love it!

    I’m English by the way, so although I “got it” , I can see how the peculiar use may not play out so well in other climes.

    Cheerio!

Leave a Reply

Your email address will not be published. Required fields are marked *