Buscar
Social
Ofertas laborales ES
« Singleton vs inyeccion de dependencias | Main | Spring Web Flow 2.0 »
viernes
may162008

Rails vs OpenXava: una carrera por la productividad

Javier Paniza ha publicado en JavaLobby un interesante artículo que compara los pasos para crear una aplicación CRUD utilizando Ruby en Rails y OpenXava. Obviamente la comparativa esta sesgada ya que Javier es el creador de OpenXava, pero aún así resulta interesante ver las diferencias sustanciales entre un framework MVC como Rails y un framework model-driven como OpenXava.

Quizás lo interesante del artículo es dar a conocer una alternativa para la construcción de aplicaciones Java en la que solo especificas el módelo del dominio de tu aplicación y el framework te construye todo lo demás (desde la BD hasta la vista). A pesar de que existen varios frameworks en Java que hacen esto (Javier menciona además de OpenXava a Trails, NakedObjects, JMatter, MDA y RomaFramework, yo añadiría a Grails y Seam) el desarrollador medio se ha quedado con la idea de que el desarrollo en Java sigue siendo como hace unos años con Struts y EJBs y desplegando en WebSphere 4.0. Cuando la realidad es que Java se ha ido adaptando cada vez más a las necesidades de RAD presentes en la industria.

En el artículo, se puede apreciar que OpenXava genera un resultado mucho más acabado y bonito que Rails, fruto de que el framework produce una aplicación lista para usarse (no hay que olvidar que OpenXava está sobre todo enfocado a producir Portlets listos para desplegarse en un contenedor); mientras que Rails produce una aplicación lista para modificarse para incluir CSS y cambiar el diseño de las páginas.

La comparativa de Javier deja claro que en Java usando un framework model-driven se puede echar a andar una aplicación web con una velocidad similar al tiempo que te tomaría hacerlo en Rails y con un resultado visual mucho mejor. Sin embargo el ciclo de desarrollo no se queda en esto y es donde creo que Rails u otros frameworks como Django de Python siguen teniendo ventaja. En este tipo de frameworks, es mucho más sencillo el despliegue de aplicaciones en los servidores y la modificación de aplicaciones que están en producción, además del tiempo que te ahorras por no tener que compilar el código generado. Sobre estos puntos Alberto Molpeceres ya habló en un artículo. Sin embargo el mundo Java se está acercando a estos últimos puntos con iniciativas como OSGi y JavaRebel y obviamente con los frameworks como OpenXava.

Sería interesante implementar la misma aplicación (con todo y la  foto de la paella valenciana ;-) ) en otros frameworks similares como Grails o Trails o porqué no en Django o Akelos (PHP) y sacar conclusiones más globales. ¿Cuál es vuestra experiencia desarrollando en Rails vs desarrollando en Model-Driven frameworks?

 

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.
Comentarios deshabilitados
Comentarios deshabilitados en esta noticia.