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