4. Sobre el ponente
• Domingo Suárez Torres
• Ciencias de la Informática @ IPN-UPIICSA
• Gerente de Sistemas @ Bursatec
• CTO @ SeptimoBit Software
• Instructor y Consultor @ SynergyJ
• Apasionado por el desarrollo de software
• Fundador de JavaUp.org y SpringHispano.org
5. ¿Que es Groovy?
• Lenguaje de tipado dinamico
• Se compila y ejecuta en una JVM (Java Virtual
Machine)
• Su desarrollo se inspiro en SmallTalk, Python y Ruby
• Se integra con el lenguaje Java en cualquier nivel.
• http://groovy.codehaus.org/
6. ¿Que es Grails?
• Mas que un framework, es una plataforma
para desarrollo de aplicaciones web
7. Plataforma Grails
• Integra componentes que van desde el
sistema de construcción hasta la capa de
acceso a base de datos.
• El desarrollador programa en Groovy.
• Basado en herramientas existentes y
poderosas como:
• Spring, Hibernate, Quartz, Sitemesh,
etc.
8. Plataforma Grails
• Java 2 Enterprise Edition (J2EE, ahora JEE),
es considerado muy complicado, más de lo
necesario.
• Spring y Hibernate han sido proyectos
nacidos como Opensource que han
mejorado la manera de desarrollar en Java.
• Grails representa el siguiente nivel de
abstracción para JEE.
• Grails simplifica dramáticamente el uso de
Spring y Hibernate.
9. Spring como base
• Sus principales características
• Sistema de extensiones basada en plugins
• Entorno de configuración para ejecución
• Todo lo anterior, construido sobre Spring.
10. Bases solidas
• Spring Hibernate Groovy
• Hibernate
• Groovy
• Quartz Quartz
Spring
• Sitemesh
• Jetty
• Apache Ant
Java
Sitemesh
• Plataforma Java
12. ¿Por que Groovy & Grails?
• Todo el poder de frameworks de otras
plataformas como RubyOnRails, Django
• Basado en Tecnología Java, en desarrollo
empresarial no hay alternativa.
• Reuso de herramientas y tecnologías
existentes
• Caches Distribuidos
• Herramientas para depuración,IDEs
14. ¿Como iniciar?
• Instalar un JDK para tu sistema operativo
• Visitar http://grails.org y descargar la ultima
versión estable. Se distribuye en Zip y TarGZ
• Descomprimir el archivo
• Establecer la variable de ambiente
GRAILS_HOME y agregar a PATH el directorio
bin de $GRAILS_HOME
• Mayor detalle en: http://grails.org/Installation
15. ¿Como desarrollo una aplicación?
> grails create-app Demo
> cd Demo
> grails run-app
17. Practica
• Crear una aplicación y ejecutarla.
• Analizar la estructura de directorios
18. Orden en Grails
• El principio de “Convención sobre
configuración”
• No significa que no exista la configuración
• No confundir por “Convención en lugar de
configuración”
20. El modelo
• Representa una parte muy importante del
problema que intentamos resolver.
• En Grails, el modelo generalmente es
“persistente”, es decir se almacena su
estado.
21. El modelo
• Para la persistencia se usa Hibernate.
• Hibernate es un Mapeador Objeto-
Relacional (ORM)
• http://www.hibernate.org
22. ¿Como creo un modelo?
> grails create-domain-class Clase
23. Practica
• Crear una clase de dominio llamada
Conferencista y otra Conferencia
• Hacer el CRUD de esas clases con
scaffolding dinámico.
24. Ecosistema Grails
• La comunidad esta creciendo mucho.
• Gracias a la arquitectura de plugins de
Grails, se puede extender la funcionalidad.
• Existen mas de 50 plugins oficiales.
• Seguridad
• Interfases de usuario
• WebServices
25. Ejemplos de
aplicaciones
• Europosgrados
• geedback
26. Resumen
• Grails no es solo un framework, es una
plataforma de desarrollo web.
• Grails es la próxima generación de
abstracción de JEE basada en Spring y
Hibernate.
• Groovy y Grails se integran sin problemas
al código Java existente y a toda la
plataforma Java.
• Grails == Simplificación de la plataforma
JEE en web.
27. Recomiendo
• Análisis
• Prueben, analicen, vuelvan a probar, analicen
y decidan.
• Java
• Si se deciden por Grails, aprendan Spring y
Hibernate.