Hacker News new | ask | show | jobs
by gren 4959 days ago
My two cents:

- non-blocking IO with the powerful iteratee concepts (a nice approach to play with streams (EventSource/WebSockets/*) which is not only an event-based approach like in NodeJS, but more a "reactive" approach)

- functional approach of things with Scala

- everything is much more type-safe (especially templates) which make apps stronger (not prone to simple error like NPE in templates) but also faster (templates are compiled)

2 comments

Most of your points only apply to Scala.

Is there anything Play 2 Java can do that Play 1 Java + Japid template cannot do as well?

Seems like the move to Play 2 and Scala is more political than technical. The Play people formed an alliance with Typesafe, a Scala company, and thus decided to move away from Java and focus on Scala, abandoning their huge Java user base of Play 1.

Nope this is not what happened. Play team made the decision months before to start moving to Scala when experimenting the play-scala module of Play1.

This is a technical decision to build a web framework to the JVM. And even if the core is written in Scala, it doesn't mean you can't use it in Java. Give a try!

The first two are obviously Scala only which is of no help to those with existing Java code bases. And for templates Japid is much, much faster than the Scala equivalent.

It does seem that real time data management is a good use case for Play2 but curious to know for typical web apps what benefits there would be.

Why would Japid be faster than Scala templates?
http://www.jtict.com/blog/rails-wicket-grails-play-lift-jsp/

This benchmark is based on Play 1 but you can see Japid is 4 - 5 times faster than the Scala template

play1.x with scala was quite experimental (play2 is really different and robustly designed) and those benchmarks always generate trolls... Anyway, I can't make people change their mind about those points even if I had numbers to show because everyone sees what he wants to see. This is just subjectivity ;)