(For Java, that is)
(For Java, that is)
- 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)
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.
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!
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.
This benchmark is based on Play 1 but you can see Japid is 4 - 5 times faster than the Scala template