SpringSource ha lanzado recientemente su nuevo framework open source de desarrollo Web al estilo Rails llamado Roo (se pronuncia Ru). SpringSource ya cuenta con otro framework de este tipo llamado Grails, el que particularmente me agrada bastante y utilizo mucho. El único inconveniente de Grails en algunas circunstancias, IMHO, es el uso del lenguaje Groovy. No es que el lenguaje sea malo. Todo lo contrario. Es un magnífico lenguaje dinámicamente tipeado que corre sobre la máquina virtual Java. Pero no en todas partes están dispuestos a aceptarlo.

De ahí que encuentre su espacio en la industria este nuevo framework Roo. Al igual que Grails o cualquier otro Rails (Ruby On Rails, MonoRail, TurboGears), Roo también privilegia Convención por sobre Configuración. También hace uso de proyectos open-source exitosos para resolver las problemáticas comunes a todo proyecto: JUnit + Selenium para los Tests Unitarios automatizados, Log4J para el logging, Hibernate para la persistencia (entre otras implementaciones de JPA), Spring como fábrica de objetos y contenedor IoC, ActiveMQ para la mensajería (JMS), Acegi para la seguridad, Maven para el deployment, Apache Tiles + JSP como implementación de MVC, Dojo como framework JavaScript del lado de la vista entre otros proyectos.

Pero a diferencia de Grails o Ruby On Rails, Roo no se vale de un lenguaje dinámico como Groovy o Ruby: genera código 100% Java. Y el dinamismo requerido para esta clase de framework lo logra mediante Aspectos, haciendo uso de AspectJ. Estoy recién realizando pruebas con esto y los primeros ejercicios se ven interesantes. Se nota que la productividad de proyectos web Java se verá altamente beneficiada de un framework como este. Claro que recién está partiendo. Veamos cómo lo recibe la industria.

Si te dedicas principalmente al desarrollo Java, te recomiendo a que conozcas y pruebes esta plataforma gratuita en conjunto con el IDE de SpringSource basado en Eclipse: STS. Sitio oficial: http://www.springsource.org/roo