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 dinámico
• 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/
10. Detalles
• Groovy es leeentooo.... No tanto como les
gustaría a los alarmistas.
• Es cuestión de tiempo
• Si necesitas velocidad, puedes recurrir a Java.
• A veces no importa tanto
11. ¿Que es Grails?
• Mas que un framework, es una plataforma
para desarrollo de aplicaciones web
12. 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.
13. 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.
14. 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.
15. Bases solidas
• Spring Hibernate Groovy
• Hibernate
• Groovy
• Quartz Quartz
Spring
• Sitemesh
• Jetty
• Apache Ant
Java
Sitemesh
• Plataforma Java
17. ¿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
19. ¿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
20. ¿Como desarrollo una aplicación?
• Crear una aplicación y ejecutarla.
• Analizar la estructura de directorios
22. IDEs y otras herramientas
• Funciona muy bien con Eclipse
• Mejor con IntelliJ IDEA
• Plugin para NetBeans
• Para minimalistas con Textmate
• Ant
• Maven
23. 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”
27. 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.
28. El modelo
• Para la persistencia se usa Hibernate.
• Hibernate es un Mapeador Objeto-
Relacional (ORM)
• http://www.hibernate.org
29. ¿Como creo un modelo?
> grails create-domain-class Clase
30. • Crear una clase de dominio llamada
Conferencista y otra Conferencia
• Hacer el CRUD de esas clases con
scaffolding dinámico.
31. Scaffolding: No es bala de plata
• Dos tipo de andamiaje
• Dinámico (El de la demo)
• Estático (Necesario generar
artefactos, es posible
modificarlos al gusto)
• Es una ayuda, no es la principal
fortaleza de Grails.
36. 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
37. Plugins
• Vista
• Flex, con Blaze DataServices
• YahooUI, ExtJS, GWT,
• Spring WebFlow
• WebServices (XFire, Axis, Metro)
38. Despliegue
• Grails genera archivos WAR.
• Se puedes desplegar en diversos servidores
como:
• Weblogic
• Websphere
• Tomcat
• Jetty
• SpringSource Application Platform
39. ¿Quien lo usa?
• LinkedIn
• SAP
• Tropicana
• Más en: http://www.grails.org/Success+Stories
40. Consejos
• No lo adoptes si no tienes experiencia en
Hibernate y Spring
• A menos que no tengas deadlines...
41. 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.
42. En la mira
• JBoss Seam
• Basado en estándares JEE
• JSF y JPA
• Marcando la pauta de nuevas
especificaciones como WebBeans