Grails: por qué no has venido antes
Grails es un framework de desarrollo web basado en la utilización del lenguaje Groovy, que complementa el desarrollo web basado en Java.

Se ejecuta en una máquina virtual Java y está basado en librerías como Spring, Hibernate, Acegi, log4j, etc, aunque el desarrollador no tiene que preocuparse de la configuración de estos componentes.
El objetivo principal: facilitar la vida al desarrollador.
INSTALACIÓN
Es muy fácil de instalar. Teniendo la máquina virtual Java: descomprimir un zip, configurar una variable de entorno y listo!
Cuenta con plugins para distintos IDEs.
CoC y DRY
Sigue el paradigma de convención sobre la configuración (al igual que Ruby on Rails).
Para crear una aplicación nueva con la estructura estándar de carpetas basta hacer:
grails create-appConsigue que el programador tenga que encargarse de configurar lo mínimo imprescindible (principio DRY): se acabaron los ficheros XML de Spring, Hibernate y Struts o JSF.
EL ANDAMIAJE MVC
Sigue el patrón Modelo-Vista-Controlador.
Tiene una característica muy interesante, el scaffolding, que permite generar vistas y controladores dinámicamente (en tiempo de ejecución), para las entidades del modelo de dominio que así se definan.
¡¡ Puedes llegar a generar la versión inicial de una aplicación completamente a partir del modelo de dominio !!
class BookController {De esta manera, los métodos del controlador y las vistas son las que se definen por defecto en base a plantillas, a no ser que se definan métodos o vistas nuevas, o se sobreescriban las estándar.
def scaffold = true
...
}
Estas plantillas (para las operaciones típicas CRUD) son adaptables por el programador.
grails install-templatesTambién se pueden generar las vistas y controladores de forma estática en tiempo de programación, que se pueden tomar como versión inicial para empezar a programar.
grails generate-all
PLUGINS
Cuenta con plugins que amplían la funcionalidad disponible: búsquedas basadas en Lucene, seguridad basada en Acegi, informes JasperReports, etc.
En definitiva: viene muy bien para crear una aplicación web con arquitectura JEE que sea fundamentalmente CRUD en un tiempo record !
Para más información, continuar con la introducción y los tutoriales.

