Con motivo del curso que el próximo mes de Septiembre impartiré en la Universidad de Alicante llamado Groovy&Grails: desarrollo rápido de aplicaciones, voy a aprovechar para escribir algo sobre el contenido del curso a medida que voy preparando el curso. Para empezar esta seríe de artículo, que mejor que empezar definiendo lo que es Groovy&Grails.
Groovy&Grails se puede definir como un entorno de trabajo para el desarrollo rápido de aplicaciones. Dicho entorno consta por un lado de Groovy como lenguaje de programación y por Grails como framework de desarrollo.
Como la propia web oficial de Groovy indica, éste es un lenguaje de programación ágil que está diseñado para ser utilizado utilizado en el entorno de la Máquina Virtual de Java. Esta relación tan estrecha entre Java y Groovy y algunas características que veremos en posteriores entradas, hacen de Groovy un lenguaje de programación muy potente, ya que podremos aprovecharnos de las ventajas de un entorno como Java y de un lenguaje de programación dinámico.
Otra característica interesante de Groovy es la posibilidad de crear tus propios DSL’s, que básicamente significa que tiene la posibilidad de crear reducidos lenguajes de programación para solucionar un determinado problema.
Por otro lado, Grails es un framework diseñado para el desarrollo rápido de aplicaciones y que cuyo principal paradigma es convención sobre configuración, lo que nos ahorrará algunas tareas engorrosas típicas de determinados entornos. Grails no sólo está dirigido a desarrolladores Java sino que está abierto a otros tipos deseosos de conocer entornos de desarrollo ágiles.
Grails es una herramienta de código abierto que trata de unir algunas de las mejores herramientas de desarrollo web en un solo framework. Por ejemplo, para la persistencia de los datos se ha basado en Hibernate, para el renderizado de las páginas utiliza Sitemesh y como contenedor de aplicaciones emplea Jetty.