Enviar búsqueda
Cargar
Intro a Grails @ ITESCA
•
3 recomendaciones
•
1,016 vistas
Domingo Suarez Torres
Seguir
Introducción a Groovy en ITESCA, Ciudad Obregón, Sonora, México
Leer menos
Leer más
Tecnología
Vista de diapositivas
Denunciar
Compartir
Vista de diapositivas
Denunciar
Compartir
1 de 60
Descargar ahora
Descargar para leer sin conexión
Recomendados
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Jose Juan R. Zuñiga
Redefiniendo el MVC con Grails
Redefiniendo el MVC con Grails
Jose Juan R. Zuñiga
Introducción a Groovy
Introducción a Groovy
Jose Juan R. Zuñiga
T3chFest 2016 - De Java a Groovy: ¡Hora de Aventuras!
T3chFest 2016 - De Java a Groovy: ¡Hora de Aventuras!
Iván López Martín
Spring boot + spock
Spring boot + spock
Fátima Casaú Pérez
Creación de Plataformas
Creación de Plataformas
Jose Juan R. Zuñiga
Introducción a groovy & grails
Introducción a groovy & grails
Fátima Casaú Pérez
Jobsket.com, Grails en un proyecto real
Jobsket.com, Grails en un proyecto real
Jobsket
Recomendados
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Jose Juan R. Zuñiga
Redefiniendo el MVC con Grails
Redefiniendo el MVC con Grails
Jose Juan R. Zuñiga
Introducción a Groovy
Introducción a Groovy
Jose Juan R. Zuñiga
T3chFest 2016 - De Java a Groovy: ¡Hora de Aventuras!
T3chFest 2016 - De Java a Groovy: ¡Hora de Aventuras!
Iván López Martín
Spring boot + spock
Spring boot + spock
Fátima Casaú Pérez
Creación de Plataformas
Creación de Plataformas
Jose Juan R. Zuñiga
Introducción a groovy & grails
Introducción a groovy & grails
Fátima Casaú Pérez
Jobsket.com, Grails en un proyecto real
Jobsket.com, Grails en un proyecto real
Jobsket
Groovy&Grails: desarrollo rápido de aplicaciones
Groovy&Grails: desarrollo rápido de aplicaciones
Fran García
Grails barcamp 2013
Grails barcamp 2013
Carlos Camacho
Codemotion 2015 crash y youdebug
Codemotion 2015 crash y youdebug
jmiguel rodriguez
Java poliglota
Java poliglota
Domingo Suarez Torres
Seminario Grails
Seminario Grails
Escuela de Groovy
Taller Grails
Taller Grails
Dani Latorre
Grails en SG08
Grails en SG08
Domingo Suarez Torres
Grails
Grails
Nicolás Bello Camilletti
Grails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web Java
Dani Latorre
Grails en el Fonasol
Grails en el Fonasol
Domingo Suarez Torres
Django on Jython Summer of Code Results
Django on Jython Summer of Code Results
Leonardo Soto
Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019
Micael Gallego
El proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open Source
Jose Juan R. Zuñiga
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
Iván López Martín
Ecuador jug 2017 -incrementando la productividad de proyectos java ee con c...
Ecuador jug 2017 -incrementando la productividad de proyectos java ee con c...
César Hernández
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
Iván López Martín
WebRTC y Kurento en el T3cgFest 2015
WebRTC y Kurento en el T3cgFest 2015
Micael Gallego
Cómo contribuir en Proyectos de Código Abierto
Cómo contribuir en Proyectos de Código Abierto
Agile Express Ecuador / Thoughtworks
Introduccion a Groovy
Introduccion a Groovy
Andres Almiray
Node JS (Francisco Cerdas)
Node JS (Francisco Cerdas)
PiXeL16
Grails敏捷项目开发
Grails敏捷项目开发
Michael Yan
Antral small concept note
Antral small concept note
Antral अंतराल
Más contenido relacionado
La actualidad más candente
Groovy&Grails: desarrollo rápido de aplicaciones
Groovy&Grails: desarrollo rápido de aplicaciones
Fran García
Grails barcamp 2013
Grails barcamp 2013
Carlos Camacho
Codemotion 2015 crash y youdebug
Codemotion 2015 crash y youdebug
jmiguel rodriguez
Java poliglota
Java poliglota
Domingo Suarez Torres
Seminario Grails
Seminario Grails
Escuela de Groovy
Taller Grails
Taller Grails
Dani Latorre
Grails en SG08
Grails en SG08
Domingo Suarez Torres
Grails
Grails
Nicolás Bello Camilletti
Grails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web Java
Dani Latorre
Grails en el Fonasol
Grails en el Fonasol
Domingo Suarez Torres
Django on Jython Summer of Code Results
Django on Jython Summer of Code Results
Leonardo Soto
Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019
Micael Gallego
El proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open Source
Jose Juan R. Zuñiga
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
Iván López Martín
Ecuador jug 2017 -incrementando la productividad de proyectos java ee con c...
Ecuador jug 2017 -incrementando la productividad de proyectos java ee con c...
César Hernández
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
Iván López Martín
WebRTC y Kurento en el T3cgFest 2015
WebRTC y Kurento en el T3cgFest 2015
Micael Gallego
Cómo contribuir en Proyectos de Código Abierto
Cómo contribuir en Proyectos de Código Abierto
Agile Express Ecuador / Thoughtworks
Introduccion a Groovy
Introduccion a Groovy
Andres Almiray
Node JS (Francisco Cerdas)
Node JS (Francisco Cerdas)
PiXeL16
La actualidad más candente
(20)
Groovy&Grails: desarrollo rápido de aplicaciones
Groovy&Grails: desarrollo rápido de aplicaciones
Grails barcamp 2013
Grails barcamp 2013
Codemotion 2015 crash y youdebug
Codemotion 2015 crash y youdebug
Java poliglota
Java poliglota
Seminario Grails
Seminario Grails
Taller Grails
Taller Grails
Grails en SG08
Grails en SG08
Grails
Grails
Grails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web Java
Grails en el Fonasol
Grails en el Fonasol
Django on Jython Summer of Code Results
Django on Jython Summer of Code Results
Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019
El proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open Source
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
Ecuador jug 2017 -incrementando la productividad de proyectos java ee con c...
Ecuador jug 2017 -incrementando la productividad de proyectos java ee con c...
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
WebRTC y Kurento en el T3cgFest 2015
WebRTC y Kurento en el T3cgFest 2015
Cómo contribuir en Proyectos de Código Abierto
Cómo contribuir en Proyectos de Código Abierto
Introduccion a Groovy
Introduccion a Groovy
Node JS (Francisco Cerdas)
Node JS (Francisco Cerdas)
Destacado
Grails敏捷项目开发
Grails敏捷项目开发
Michael Yan
Antral small concept note
Antral small concept note
Antral अंतराल
How To Make A Great Pbj
How To Make A Great Pbj
guest4a0e65
Groovy & Grails
Groovy & Grails
Michael Yan
NFC and Commerce combined
NFC and Commerce combined
Sven Haiges
Introduction to Grails Framework
Introduction to Grails Framework
PT.JUG
Destacado
(6)
Grails敏捷项目开发
Grails敏捷项目开发
Antral small concept note
Antral small concept note
How To Make A Great Pbj
How To Make A Great Pbj
Groovy & Grails
Groovy & Grails
NFC and Commerce combined
NFC and Commerce combined
Introduction to Grails Framework
Introduction to Grails Framework
Similar a Intro a Grails @ ITESCA
grails.org.mx Primera Reunion
grails.org.mx Primera Reunion
Domingo Suarez Torres
Taller Groovy
Taller Groovy
Domingo Suarez Torres
Eleva tu capacidad con Groovy
Eleva tu capacidad con Groovy
Domingo Suarez Torres
Introducción a Java FX
Introducción a Java FX
Iban Nieto Castillero
Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013
Carlos Camacho
GraalVM - MálagaJUG 2018-11-29
GraalVM - MálagaJUG 2018-11-29
Jorge Hidalgo
Desarrollando aplicaciones web con Zope 3
Desarrollando aplicaciones web con Zope 3
Roberto Allende
JAVA3.0
JAVA3.0
josemanuel2
Java 9, 10, 11 ,12, 13 and more
Java 9, 10, 11 ,12, 13 and more
HillmerC
Construccion de proyectos con gradle
Construccion de proyectos con gradle
David Gómez García
Groovy y Grails, y la pastilla roja
Groovy y Grails, y la pastilla roja
Escuela de Groovy
Programacion Web UGR - Tema 7.pdf
Programacion Web UGR - Tema 7.pdf
AnonymousNdBOr4
SCJP, Clase 1: Introducción al curso, Intro a Java, Declaración y Control de ...
SCJP, Clase 1: Introducción al curso, Intro a Java, Declaración y Control de ...
flekoso
Webinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador Java
Domingo Suarez Torres
Kde4 Se Libre
Kde4 Se Libre
campus party
NetBeans - El único IDE que necesitas
NetBeans - El único IDE que necesitas
Felipe Cerda
Netbeans ide 7.2(2)
Netbeans ide 7.2(2)
Lilián Torres
Netbeans ide 7.2(2)
Netbeans ide 7.2(2)
Rodrigo Torres
7 Recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 Recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
César Hernández
Jobsket Spring 2GX Madrid
Jobsket Spring 2GX Madrid
Jobsket
Similar a Intro a Grails @ ITESCA
(20)
grails.org.mx Primera Reunion
grails.org.mx Primera Reunion
Taller Groovy
Taller Groovy
Eleva tu capacidad con Groovy
Eleva tu capacidad con Groovy
Introducción a Java FX
Introducción a Java FX
Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013
GraalVM - MálagaJUG 2018-11-29
GraalVM - MálagaJUG 2018-11-29
Desarrollando aplicaciones web con Zope 3
Desarrollando aplicaciones web con Zope 3
JAVA3.0
JAVA3.0
Java 9, 10, 11 ,12, 13 and more
Java 9, 10, 11 ,12, 13 and more
Construccion de proyectos con gradle
Construccion de proyectos con gradle
Groovy y Grails, y la pastilla roja
Groovy y Grails, y la pastilla roja
Programacion Web UGR - Tema 7.pdf
Programacion Web UGR - Tema 7.pdf
SCJP, Clase 1: Introducción al curso, Intro a Java, Declaración y Control de ...
SCJP, Clase 1: Introducción al curso, Intro a Java, Declaración y Control de ...
Webinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador Java
Kde4 Se Libre
Kde4 Se Libre
NetBeans - El único IDE que necesitas
NetBeans - El único IDE que necesitas
Netbeans ide 7.2(2)
Netbeans ide 7.2(2)
Netbeans ide 7.2(2)
Netbeans ide 7.2(2)
7 Recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
7 Recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...
Jobsket Spring 2GX Madrid
Jobsket Spring 2GX Madrid
Más de Domingo Suarez Torres
Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Domingo Suarez Torres
Java Dev Day 2019 No kuberneteen por convivir
Java Dev Day 2019 No kuberneteen por convivir
Domingo Suarez Torres
Contenedores 101 Digital Ocean CDMX
Contenedores 101 Digital Ocean CDMX
Domingo Suarez Torres
Retos en la arquitectura de Microservicios
Retos en la arquitectura de Microservicios
Domingo Suarez Torres
Java Cloud Native Hack Nights GDL
Java Cloud Native Hack Nights GDL
Domingo Suarez Torres
meetup digital ocean kubernetes
meetup digital ocean kubernetes
Domingo Suarez Torres
Peru JUG Micronaut & GraalVM
Peru JUG Micronaut & GraalVM
Domingo Suarez Torres
DevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
DevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
Domingo Suarez Torres
Cloud Native Development in the JVM
Cloud Native Development in the JVM
Domingo Suarez Torres
Cloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a Kubernetes
Domingo Suarez Torres
Meetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architecture
Domingo Suarez Torres
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Domingo Suarez Torres
Cloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 Observability
Domingo Suarez Torres
Cloud Native Mexico Presentacion
Cloud Native Mexico Presentacion
Domingo Suarez Torres
gRPC: Beyond REST
gRPC: Beyond REST
Domingo Suarez Torres
Devops Landscape
Devops Landscape
Domingo Suarez Torres
Orquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNext
Domingo Suarez Torres
JVM Reactive Programming
JVM Reactive Programming
Domingo Suarez Torres
SGNext Elasticsearch
SGNext Elasticsearch
Domingo Suarez Torres
Webinar Arquitectura de Microservicios
Webinar Arquitectura de Microservicios
Domingo Suarez Torres
Más de Domingo Suarez Torres
(20)
Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Java Dev Day 2019 No kuberneteen por convivir
Java Dev Day 2019 No kuberneteen por convivir
Contenedores 101 Digital Ocean CDMX
Contenedores 101 Digital Ocean CDMX
Retos en la arquitectura de Microservicios
Retos en la arquitectura de Microservicios
Java Cloud Native Hack Nights GDL
Java Cloud Native Hack Nights GDL
meetup digital ocean kubernetes
meetup digital ocean kubernetes
Peru JUG Micronaut & GraalVM
Peru JUG Micronaut & GraalVM
DevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
DevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
Cloud Native Development in the JVM
Cloud Native Development in the JVM
Cloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a Kubernetes
Meetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architecture
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Presentacion
Cloud Native Mexico Presentacion
gRPC: Beyond REST
gRPC: Beyond REST
Devops Landscape
Devops Landscape
Orquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNext
JVM Reactive Programming
JVM Reactive Programming
SGNext Elasticsearch
SGNext Elasticsearch
Webinar Arquitectura de Microservicios
Webinar Arquitectura de Microservicios
Último
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
241531640
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Nombre Apellidos
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
aylincamaho
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
241522327
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
azmysanros90
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
MiguelAngelVillanuev48
Excel (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
ValentinaTabares11
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
jeondanny1997
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
chaverriemily794
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
MidwarHenryLOZAFLORE
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
narvaezisabella21
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
SergioMendoza354770
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
JOSEMANUELHERNANDEZH11
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
MariaBurgos55
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
MiguelAtencio10
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
241523733
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
JOSEFERNANDOARENASCA
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
DIDIERFERNANDOGUERRE
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
Alexander López
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
JavierHerrera662252
Último
(20)
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
Excel (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
Intro a Grails @ ITESCA
1.
Agilidad en el
desarrollo empresarial (o de como hacer webapps sin tanto dolor)
2.
Disculpa a ITESCA •
Vi mal la hora del vuelo. • Lo perdí • Casi no llego, vengo corriendo del aeropuerto. • Pero ya estoy aquí :) © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
3.
Agenda • Groovy • Grails
• Arquitectura • Componentes • Como usar la plataforma • !!Código¡¡ • Recursos. © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
4.
Objetivo • Conocer y
aprender como simplificar el desarrollo web con Grails © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
5.
Sobre el ponente •
Domingo Suárez Torres • Ciencias de la Informática @ IPN-UPIICSA • Gerente de Desarrollo @ Bursatec • Asigna, Mercado de Derivados • CTO @ SynergyJ y de SeptimoBit Software • Apasionado por el desarrollo de software • Fundador de JavaUp.org, SpringHispano.org, Grails.org.mx © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
6.
Trasfondo • Desarrollador Java
desde 1999 • 7 años desarrollando aplicaciones JEE • Experiencia en sectores:Ventas, Construcción, Salud, Gobierno, Financiero. • Javero de hueso colorado. • Commiter en Codehaus • Desarrollador de plugins de Grails © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
7.
Java Plataforma
políglota • Java • Groovy • Scala • Erlang • JRuby • Jython • JavaFX © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
8.
¿Que es Groovy? •
Groovy es un lenguaje ágil y dinámico para la Máquina Virtual de Java • Basado en los conceptos base del lenguage Java, incluye características inspiradas en otros lenguages como Python, Ruby y Smalltalk. • Habilita características de programación modernas con una curva de aprendizaje prácticamente plana para desarrolladores Java • Soporta Lenguajes de Dominio Específico y otras características de sintaxis corta © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
9.
¿Que es Groovy? •
Simplifica el ciclo de pruebas dado que soporta pruebas unitarias y mocking desde el inicio. • Se integra sin problemas con cualquier objeto y/o librería Java existentes • Compila directamente a código byte (igual que Java) puede ser usado virtualmente en cualquier lugar donde Java puede serlo también © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
10.
HolaMundo en Java public
class HelloWorld { String name; public void setName(String name) { this.name = name; } public String getName(){ return name; } public String greet(){ return “Hello “ + name; } public static void main(String args[]){ HelloWorld helloWorld = new HelloWorld() helloWorld.setName(“Groovy”) System.out.println( helloWorld.greet() ) } } © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
11.
HolaMundo en Groovy public
class HelloWorld { String name; public void setName(String name) { this.name = name; } public String getName(){ return name; } public String greet(){ return “Hello “ + name; } public static void main(String args[]){ HelloWorld helloWorld = new HelloWorld() helloWorld.setName(“Groovy”) System.out.println( helloWorld.greet() ) } } © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
12.
Manera Groovy ;) class
HelloWorld { String name def greet() { quot;Hello $namequot; } } def helloWorld = new HelloWorld(name:quot;Groovyquot;) println helloWorld.greet() © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
13.
Groovy casi Java •
Java es Groovy, Groovy es Java • Groovy ofrece una curva de aprendizaje sencilla para desarrolladores Java. Puedes empezar con sintaxis Java y moverte poco a poco a la sintaxis Groovy • 98% de código Java es código Groovy, virtualmente podrías renombrar un archivo *.java a .groovy y compilaría © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
14.
Groovy y Java
5 • Groovy soporta anotaciones (JSR 175) iguales a las de Java, es más, es el segundo lenguaje en la JVM que las soporta. ¿JavaFX? • hasta el momento no es posible definir anotaciones con Groovy • Groovy soporta Enums también • Por último también tiene habilitado el soporte de tipos genéricos, iguales a los de Java. © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
15.
Closures • Closures pueden
ser interpretados como bloques de código reusable, probablemente las hayas visto en otros lenguajes como JavaScript o Ruby • Closures substituyen a las clases internas en la mayoría de los casos • Groovy permite “forzar el tipo” de una Closure a una interface de un solo método (proxy) • Una closure tendrá un parámetro por omisión llamado “it” si es que no se definen parámetros para la misma © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
16.
Ejemplos de closures def
greet = { name -> println “Hello $name” } greet( “Groovy” ) // prints Hello Groovy def greet = { println “Hello $it” } greet( “Groovy” ) // prints Hello Groovy def iCanHaveTypedParametersToo = { int x, int y -> println “coordinates are ($x,$y)” } def myActionListener = { event -> // do something cool with event } as ActionListener © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
17.
Azúcar sintáctica: Toma
1 ¿No es adorable el Api de Collections? © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
18.
Azúcar sintáctica: Toma
2 © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
19.
Azúcar sintáctica: Toma
3 © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
20.
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 © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
21.
¿Que es Grails? •
Mas que un framework, es una plataforma para desarrollo de aplicaciones web © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
22.
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. © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
23.
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. © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
24.
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. © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
25.
Bases solidas • Spring •
Hibernate • Groovy • Quartz • Sitemesh • Jetty • Apache Ant • Plataforma Java © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
26.
Arquitectura de Grails
27.
¿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 © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
28.
¿Por que Groovy
& Grails? • ¿Porque no? © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
29.
¿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 © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
30.
¿Como desarrollo una
aplicación? • Crear una aplicación y ejecutarla. • Analizar la estructura de directorios © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
31.
!!No te creo¡¡
© 2008 Domingo Suarez; disponible bajo CC-SA 2.5
32.
IDEs y otras
herramientas • Funciona muy bien con Eclipse • Mejor con IntelliJ IDEA • Plugin para NetBeans • Para minimalistas con Textmate • Ant • Maven © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
33.
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” © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
34.
Estructura de proyecto
© 2008 Domingo Suarez; disponible bajo CC-SA 2.5
35.
Estructura Grails
© 2008 Domingo Suarez; disponible bajo CC-SA 2.5
36.
Seguimos con lo
básico El Modelo de dominio © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
37.
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. © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
38.
El modelo • Para
la persistencia se usa Hibernate. • Hibernate es un Mapeador Objeto- Relacional (ORM) • http://www.hibernate.org © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
39.
¿Como creo un
modelo? > grails create-domain-class Clase © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
40.
• Crear una
clase de dominio llamada Conferencista y otra Conferencia • Hacer el CRUD de esas clases con scaffolding dinámico. © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
41.
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. © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
42.
Consultas • ¿Se acuerdan
de los DAOs? © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
43.
Métodos dinámicos
© 2008 Domingo Suarez; disponible bajo CC-SA 2.5
44.
Más dinámicos...
© 2008 Domingo Suarez; disponible bajo CC-SA 2.5
45.
GORM © 2008 Domingo
Suarez; disponible bajo CC-SA 2.5
46.
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 © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
47.
Plugins • Vista
• Flex, con Blaze DataServices • YahooUI, ExtJS, GWT, • Spring WebFlow • WebServices (XFire, Axis, Metro) © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
48.
Despliegue • Grails genera
archivos WAR. • Se puedes desplegar en diversos servidores como: • Weblogic • Websphere • Tomcat • Jetty • SpringSource Application Platform © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
49.
¿Quien lo usa? •
LinkedIn • SAP • Tropicana • Sky • Más en: http://www.grails.org/Success+Stories © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
50.
Consejos • No lo
adoptes si no tienes experiencia en Hibernate y Spring • A menos que no tengas deadlines... © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
51.
SpringHispano.org
52.
Grails.org.mx
53.
Muestrame el código
© 2008 Domingo Suarez; disponible bajo CC-SA 2.5
54.
Proyectos • Coetus
• http://code.google.com/p/coetus/ • Geedback • http://code.google.com/p/geedback/ © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
55.
En la mira •
JBoss Seam • Basado en estándares JEE • JSF y JPA • Marcando la pauta de nuevas especificaciones como WebBeans • Para los amantes de anotaciones :) © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
56.
Agradecimientos • A mi
familia, que me dejo venir... • ITESCA © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
57.
Agradecimientos • Andres Almiray,
por las láminas de introducción a Groovy © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
58.
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. © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
59.
Preguntas ©
2008 Domingo Suarez; disponible bajo CC-SA 2.5
60.
Recursos •
http://groovy.codehaus.org • http://grails.org • http://www.springhispano.org • http://groovy.org.es • http://grails.org.mx • http://www.javahispano.org • Podcast en SpringHispano.org y Grails.org.mx • http://www.domingosuarez.com • http://www.domix.org © 2008 Domingo Suarez; disponible bajo CC-SA 2.5
Descargar ahora