miércoles, 11 de julio de 2012

Play Framework

Ayer estuve probando el Framework para desarrollo de aplicaciones web Play, es un framework open source escrito en Scala y Java, ideado para construir aplicaciones web de una forma rápida y eficiente, se basa en el archiconocido patrón de diseño Modelo-Vista-Controlador, el cual por cierto, se puede ver claramente reflejado en la estructura básica de un proyecto Play.

Mi primer contacto, como no puede ser de otra manera, fue seguir el tutorial que se ofrece en la página principal de Play, este tutorial está disponible tanto para Java como para Scala, mi primera intención fue seguirlo en Scala ya que en su día me interesé por este lenguaje de programación, pero dado que no tenía mucho tiempo para evaluarlo, finalmente decidí seguirlo en Java, lenguaje en el cual me encuentro más confortable.

La primera impresión fue muy agradable, Play proporciona herramientas para trabajar dentro de un Entorno Integrado de Desarrollo como puede ser Eclipse, lo cual todo sea dicho suele ser en general mi primera intención, pero lo cierto es que no es para nada necesario, este framework esta preparado de tal forma que es muy sencillo crear una aplicación sólo con un editor de texto, arrancando el framework en modo comando desde una consola, con un editor de texto y un navegador se puede trabajar de forma autónoma, para los que venimos del mundo de los servidores de aplicaciones J2EE es especialmente agradable no tener que preocuparse por actualizar los cambios en la aplicación en el servidor, con guardar los cambios en el editor de texto y refrescar el navegador es suficiente. Los errores, como errores de sintaxis o configuración, aparecen en el navegador, no es necesario buscalos en la consola.

Lo cierto es que siguiendo el tutorial se construye de forma rápida y sencilla una aplicación de tipo CRUD, en este caso una lista de tareas por hacer, al final del tutorial se explica una forma de subir la aplicación a producción mediante el sistema de control de versiones GIT, y la infraestructura para aplicaciones en la nube, Heroku.

Para la persistencia de datos utiliza un Sistema gestor de Base de Datos en Memoria, la configuración de este parece muy sencilla y no creo que cambiar a otro Proveedor sea muy difícil ya que todo parece muy estándar, sólo es necesario cambiar unos parámetros en un fichero de configuración.

Conclusiones.

He tenido buenas sensaciones con este framework, parece bastante orientado a REST y mi intención es seguir su evolución, hoy en día a mi no me sirve porque hay un par de funcionalidades que ha perdido de la versión 1.* a la 2.0.2, que es la actual, como es poder exportar el proyecto a un fichero .war, que es justo lo que satisfaría mis necesidades ahora mismo.