Grails

Acabo de descubrir Grails http://grails.org/.

Grails http://grails.org/ es un framework web open source para la
plataforma Java, que sigue los principios Don’t Repeat Your Self(No te
repitas) y Convention over Configuration(Convención sobre
configuración).
Grails se inspiró de incio en Ruby on Rails, llegándose a llamar de
inicio
Groovy on Rails con el que además de estos principios comparten otras
similitudes como: scaffolding, layouts, taglibs(en rails helpers),
sistema
de plugins…

Grails es algo más que un framework MVC, también nos ofrece capa de
persistencia, capa de servicio, contenedor de servlets y gestor de bases
de
datos. Se sustenta sobre varios frameworks y librerías Java muy
conocidas y
probadas como son Spring Framework, Hibernate, Sitemesh, Log4j, Jetty,
Hsqldb… y del lenguaje de programación Groovy.
Alguien tiene experiencia en esto? que ventajas y/o diferencias tiene
con
RoR? Se complementan?

Salutes


Iñaki Cormenzana Méndez

Security Research & Computer science Deliriums.
http://www.proxxo.com.ar

Hola Iñaki,

2008/11/26 Iñaki [email protected]

Grails es algo más que un framework MVC, también nos ofrece capa de
persistencia, capa de servicio, contenedor de servlets y gestor de bases de
datos. Se sustenta sobre varios frameworks y librerías Java muy conocidas y
probadas como son Spring Framework, Hibernate, Sitemesh, Log4j, Jetty,
Hsqldb… y del lenguaje de programación Groovy.
Alguien tiene experiencia en esto? que ventajas y/o diferencias tiene con
RoR? Se complementan?

Yo llevo unos 10 meses trabajando con grails(con rails algo menos), en
muchas cosas se nota el parecido “sospechoso” ;), pero algunas
diferencias
sí que hay:

Con grails se define como es la db en las clases del dominio y no con
migrations.
Tiene command objects(objetos no persistentes similares a los form bean
de
struts).
Trae menos taglibs(helpers) de serie.
Mientras que en rails se suele seguir el “fat model, skinny controller”
y en
grails lo normal es “fat service, skinny controller”.
Lo que en rails son filters la equivalencia en grails serían
interceptors,
pero grails tiene filters para aplicar a varios controllers
simultáneamente(un conepto muy parecido a los filters de los servlets).
En grails el soporte REST es completamente manual, hay que currárselo
todo
en el mapeo de urls.

Tema aparte es la integración con java y más aún con spring e hibernate,
puedes utilizar servicios de spring igual que si fueran servicios
grails,
puedes usar hibernate “como siempre”… en fin, bajo mi punto de vista,
para
quienes conozcan java es más fácil de aprender.

Sobre si se complementan… pues de primeras te diría que no, más que
nada
porque se pueden hacer el mismo tipo de aplicaciones, por otro lado si
tienes que desarrollar una aplicación java por narices, pues todo sería
ver
si te viene bien jror o prefieres tener una integración más transparente
con
grails.

De todas formas, como hay muchas cosas muy parecidas, es relativamente
sencillo pasar de un framework a otro :).

Si tienes más dudas sobre grails creo que lo mejor es dirigirte al foro
de
groovy.org.es o directamente a la lista de grails, por no generar ruido
en
la lista.

PD: Disculpad a los que no os interese el tema :wink: