Post on 12-Jun-2015
GrailsAgilidad en el desarrollo empresarial
Agenda
• Groovy y Grails
• Arquitectura
• Componentes
• Como usar la plataforma
• !!Código¡¡
• Recursos.
Objetivo
• Conocer y aprender como simplificar el desarrollo web con Grails
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
¿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/
¿Que es Grails?• Mas que un framework, es una plataforma
para desarrollo de aplicaciones web
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.
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.
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.
Bases solidas
• Spring
• Hibernate
• Groovy
• Quartz
• Sitemesh
• Jetty
• Apache Ant
• Plataforma Java
Groovy
Spring
SitemeshJava
Quartz
Hibernate
Arquitectura de Grails
¿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
¿Por que Groovy & Grails?
• ¿Porque no?
¿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
¿Como desarrollo una aplicación?
> grails create-app Demo
> cd Demo
> grails run-app
¿Como desarrollo una aplicación?
!!No te creo¡¡
Practica
• Crear una aplicación y ejecutarla.
• Analizar la estructura de directorios
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”
Seguimos con lo básico
El Modelo de dominio
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.
El modelo
• Para la persistencia se usa Hibernate.
• Hibernate es un Mapeador Objeto-Relacional (ORM)
• http://www.hibernate.org
¿Como creo un modelo?
> grails create-domain-class Clase
Practica
• Crear una clase de dominio llamada Conferencista y otra Conferencia
• Hacer el CRUD de esas clases con scaffolding dinámico.
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
Ejemplos de aplicaciones
• Europosgrados
• geedback
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.
Recomiendo
• Análisis
• Prueben, analicen, vuelvan a probar, analicen y decidan.
• Java
• Si se deciden por Grails, aprendan Spring y Hibernate.
Agradecimientos
• A mi familia que me dejo venir...
Preguntas
Recursos
• http://grails.org
• http://www.SpringHispano.org
• http://groovy.org.es
• http://grails.org.mx Próximamente.
• http://www.domingosuarez.com
• http://www.domix.org