Coming soon: Play 2.0. "It's time to move on"

Parece que tenemos buenas noticias de la actividad de desarrollo de mi framework web favorito y cómo ya muchos sabrán es Play!. Un framework web del que ya había escrito algunas entradas a modo de inducción al tema (esta, esta y esta otra).

Bueno, pues revisando mi cuenta de G+, me encontré con una entrada realizada por el mismo fundador del proyecto Play!, el francés Guillaume Bort quien en el sitio web del proyecto dijo:

It's time to move on! We are working on the next major version of Play framework, integrating a brand new build system and awesome asynchronous features all with native Java and Scala support.

Cosas interesantes que se vienen del proyecto.
Primero que nada muchos me habían comentado el inconveniente que tiene el usar Play 1.x.x por el hecho que para muchas cosas este framework [Play!] echaba mano de Python (de hecho, lo que agregamos al PATH cuando instalamos Play! es un script Python). Esto al parecer se va a terminar con esta nueva versión y se optará por algo más común en el mundo Java (aunque es más común en Scala) y eso es: SBT; si queremos podemos olvidarnos del script python para construir nuestro proyecto, ya que el como he mencionado el equipo de Play! pone rumbo hacia SBT.

Otra cosa interesante es el sistema de plantillas que se mueve de estar basado en Groovy a estar basado en Scala...con el fin de poder saber que errores antes de ir al runtime.

Y se nos agrega también la posibilidad de usar AKKA, una librería de uso de actores tanto para Java cómo para Scala.

En fin, el proyecto ahora se ve más interesante y flexible de lo que era. Si desean ver el anuncio completo pueden ir aquí para ver con más detalle este avance.

Saludos.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

ORM?

Creo que Play trae su propio ORM, no? También se puede programar en Scala las clases de dominio? Habrá que echarle un ojo.

Re: ORM?

Lo que se puede leer en el anuncio es:

Today, the preferred way for a Play Java application to access an SQL database is the Play Model library that is powered by Hibernate. But since it's annoying in a stateless Web framework like Play to manage stateful entities such as the ones defined in the official JPA specification, we have provided a special flavor of JPA keeping things as stateless as possible. This forced us to hack Hibernate in a way that is probably not sustainable in the long term. To address this, we plan to move to an existing implementation of stateless JPA called EBean. If you don't care too much about what is used under the hood then it will change almost nothing for you, but if you really want to use Hibernate or even another official JPA implementation you will be able to do it without any special integration with Play. And if you are using Scala we will continue to bundle Anorm.

Respecto a Scala, si. Play! comenzó siendo un framework para Java, después se creó un módulo (a modo de plugin) para usar Scala con Play!, el problema era que lo que realmente cambiaba era la sintáctica, por lo que se replanteó dicho plugin, hasta quedar cómo ahora (en la versión 1.2.3) dónde Play! se adapta a la filosofía de Scala. Sin embargo en el anuncio comentan algo:

Properly integrating Scala into a Java-based framework is not trivial. Considering Scala’s compatibility with Java, one can quickly achieve a first naive integration that simply uses Scala’s syntax instead of Java’s. This, however, is certainly not the optimal way of using the language. Scala is a mix of true object orientation with functional programming. Leveraging the full power of Scala requires rethinking most of the framework’s APIs. After several versions we now have a clean Scala module that allows the use of most of Play's features from Scala, in a Scala-ish manner.
Now, we are reaching the limits of what we can do with Scala support as a separate module. Initial design choices we made in Play 1.x, relying heavily on Java reflection API and byte code manipulation, have made it harder to progress without completely rethinking some essential parts of Play’s internals. Meanwhile, we have created several awesome components for the Scala module, like the new type-safe template engine and the brand new SQL access component Anorm. So we have decided that, to fully unleash the power of Scala with Play, we are moving Scala support from a separate module to the core of Play 2.0, which will be designed from the beginning to natively support Scala as a programming language.

Y también nos dicen algo cómo: Pero si usas Java, no hay problema, continúa usando Java con la experiencia vitaminada.

En fin, ahora se ve más interesante.

Imagen de opensas

traducción del anuncio de play 2.0

acabamos de publicar una traducción del anuncio de play 2.0

la pueden consultar aquí:

saludos

sas