SlideShare una empresa de Scribd logo
Grails  Expo FISI 2011
Contenido Introducción. Groovy
Introducción Java  un lenguaje de mucho poder con librerías casi para todos los requerimientos. Cuenta con tecnologías estándar como JSF y EJB que buscan simplificar el desarrollo de aplicaciones Web Distintos  Frameworks web  alternativos como Wickets, Struts 2, Spring MVC, Stripes Servidores de aplicaciones  robustos y variados
Yo soy tu padre Java ?????
Java ahora tiene nuevos competidores
Los amigos de Java
Con tanto poder el nivel de complejidad también crece. Demasiada configuración de XML ¿Necesitamos otro Framework? Clases e Interfaces que extender o implementar.
Grails Grails es construido sobre gigantes:  Spring, Hibernate, SiteMesh, HSQLDB, Jetty , etc. Haremos grandes cosas. Convención sobre configuración. Usa el lenguaje dinámico  Groovy. Grails
Groovy
Groovy  Es un  lenguaje dinámico  para la JVM Mejor Integración con Java Hay una mayor  facilidad de aprendizaje  para los programadores Java Groovy ya está  incluido en el instalador de Grails Más productivo  en procesamiento XML, acceso a base de datos, manipulación de archivos, etc. Muchos  libros disponibles  al respecto Con Groovy serás mas productivo y derrotaras a “Darth Vader”
Flexibilidad con Groovy Si bien hay  similitudes con java . Los “ ; ” , “ () ” y  return  son opcionales Getters y Setters  dados  en tiempo de compilación
Flexibilidad con Groovy Automáticamente las clases en Groovy tienen un constructor named-args . Un map que el constructor toma y llama a cada setter por cada key que corresponde a una propiedad.
Flexibilidad con Groovy Los tipos son opcionales.  En lugar de definir un tipo explicito, usamos  def  para designar que la variable será tipificada dinamicamente. “ == “ es lo mismo que  “ equals() ”. Groovy  añade métodos a la  clase String .
Groovy Strings Groovy añade un nuevo String conocido como  GString . Un GString se crea declarando un literal con doble “”; un String literal con simple  ‘’ es un java.lang.String. GString puede ser usado en lugar de String . El cast se hace en tiempo de ejecución. La belleza de  GString  es la habilidad para  evaluar expresiones Groovy
Sin  Groovy Con  Groovy ¿Hulk Sonriendo?
Groovy Closures Un Groovy  Closure  en pocas palabras, es un bloque de código que puede ser asignado a una variable, a un método, y ser ejecutado.  Un Closure se declara colocando código entre  {} . Los parametros van antes del  ->  (dash-rocket), así
Groovy Closures Si ningún parámetro es declarado, hay uno implícitamente proveído: se llama  it   Más información de Closures  libro  “Programming  Groovy”
Groovy Collections Groovy  aporta muchas  mejoras a las clases collection de Java . Las más usadas en Grails son  List ,  Map  y  Set . List
Groovy Collections Métodos útiles  en  List Se imprime en la salida ¡Collections con esteroides!
Groovy Collections min()  y  max() sort() <<
Groovy Collections Map Ó: salida:
Groovy Collections Set
Demo TekDays Crear una aplicación web para organizar eventos con las siguientes características: Crear nuevos eventos Mostrar detalles del evento Editar Detalles del Evento Crear usuarios / organizadores Permitir voluntarios Añadir  usuarios a eventos
Demo TekDays Permitir a usuarios anonimos registrar interes Crear sponsors Añadir sponsors a eventos Tener una lista de tareas Añadir/remover tareas Asignar tareas a usuarios Postear mensajes a un forum Responder un mensaje en el forum
Demo TekDays Mostrar threads en el foro Personalizar la pagina de eventos Permitir acceso a la pagina de eventos con un simple URL
Iteración CERO
GRAILS_HOME
Grails Help
Creación de TekDays $ grails create-app TekDays $ cd TekDays $ grails run-app
 
Estructura de Proyecto
Creando clase de Dominio $ grails create-domain-class TekEvent Ver Código y test unitario: $ grails test-app -unit
Creando Controller $ grails create-controller TekEvent
Creando TekEvent
Estableciendo Constraints
Creando Data de Prueba En TekDays/grails-app/conf/BootStrap.groovy
 
 
Relationships $ grails create-domain-class TekUser
TekUserController $ grails create-controller TekUser En BootStrap.groovy:
Relación one-to-one En TekEvent
BootStrap
Modificamos nuestros Test
One-to-Many Modificamos TekEvent BootStrap:
 
Collecciones de tipos simple de datos Modificamos TekEvent otra vez: BootStrap:
 
¿Qué sigue? 0 días sin usar Groovy & Grails Más, más, más….
Contacto Av. Canaval Moreyra 380 Lima – Perú (511) 987500273 (511)4116200 anexo 2637 www.joedayz.com

Más contenido relacionado

PPT
Introducción a Grails
PDF
Introducción a Groovy
ODP
Sobre GrooScript
PPTX
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
PPTX
Introducción a groovy & grails
PDF
Introducción al desarrollo Web: Backend
PPT
Creación de Plataformas
KEY
Java poliglota
Introducción a Grails
Introducción a Groovy
Sobre GrooScript
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Introducción a groovy & grails
Introducción al desarrollo Web: Backend
Creación de Plataformas
Java poliglota

La actualidad más candente (10)

PDF
1. Introducción al HTML.
PDF
1. Objetivos del curso de GIT y GITHUB.
ODP
Usando Django con Docker
PDF
7. react js-1
PDF
Groovy&Grails: desarrollo rápido de aplicaciones
PDF
OSGeo Live
ODP
Extracción de datos de páginas web con Python (webscraping)
PDF
Framework de test spock
PDF
Eleva tu capacidad con Groovy
1. Introducción al HTML.
1. Objetivos del curso de GIT y GITHUB.
Usando Django con Docker
7. react js-1
Groovy&Grails: desarrollo rápido de aplicaciones
OSGeo Live
Extracción de datos de páginas web con Python (webscraping)
Framework de test spock
Eleva tu capacidad con Groovy
Publicidad

Destacado (20)

PPT
Versão 1.46
PPT
Mujeres deportistas
PPTX
Social Media: More power to your elbow! AVOW Wrexham Workshop 27 03 14
PDF
Os Kanies
PPTX
Lak11 ws-messing withdata
PDF
A Comparative Study on Privacy Preserving Datamining Techniques
PDF
Glossary en
PDF
Statistical study of_ob_stars_in_ngc6334_and_ngc6357
PDF
Enhancing Privacy of Confidential Data using K Anonymization
PDF
A mechanism for the present day creation of a new class of black holes
PDF
Nice Conference 2011 Final
PPTX
Nclb
PPT
4º Ideias na Laje - Marcelo Amorim
ODP
The Common Good
PPT
תרבות האינטרנט של בני נוער: תוכן, טכנולוגיה ושיתוף
ODP
Lazio powerpoint
PDF
powermoms 2009
PDF
Imprints of fast rotating massive stars in the galactic bulge
PDF
Sul21 midia-kit
Versão 1.46
Mujeres deportistas
Social Media: More power to your elbow! AVOW Wrexham Workshop 27 03 14
Os Kanies
Lak11 ws-messing withdata
A Comparative Study on Privacy Preserving Datamining Techniques
Glossary en
Statistical study of_ob_stars_in_ngc6334_and_ngc6357
Enhancing Privacy of Confidential Data using K Anonymization
A mechanism for the present day creation of a new class of black holes
Nice Conference 2011 Final
Nclb
4º Ideias na Laje - Marcelo Amorim
The Common Good
תרבות האינטרנט של בני נוער: תוכן, טכנולוגיה ושיתוף
Lazio powerpoint
powermoms 2009
Imprints of fast rotating massive stars in the galactic bulge
Sul21 midia-kit
Publicidad

Similar a Grails en Expo FISI 2011 (20)

PPT
Introduction a Groovy
PDF
Introduccion a Groovy
KEY
Integrando Groovy & Grails en el proceso de desarrollo
ZIP
grails.org.mx Primera Reunion
PDF
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
PDF
T3chFest 2016 - De Java a Groovy: ¡Hora de Aventuras!
KEY
Taller Groovy
PDF
Intro a Grails @ ITESCA
PDF
Seminario de Groovy y grails
ODP
Jobsket.com, Grails en un proyecto real
PPTX
The Grails Framework.
PDF
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
PPTX
Introduccion a grails en Campusparty
ODP
Grails barcamp 2013
PPT
Introduccion A Groovy
PDF
Grails en SG08
PPTX
Groovy&Grails: desarrollo rápido de aplicaciones
PPT
Charla grails
Introduction a Groovy
Introduccion a Groovy
Integrando Groovy & Grails en el proceso de desarrollo
grails.org.mx Primera Reunion
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
T3chFest 2016 - De Java a Groovy: ¡Hora de Aventuras!
Taller Groovy
Intro a Grails @ ITESCA
Seminario de Groovy y grails
Jobsket.com, Grails en un proyecto real
The Grails Framework.
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
Introduccion a grails en Campusparty
Grails barcamp 2013
Introduccion A Groovy
Grails en SG08
Groovy&Grails: desarrollo rápido de aplicaciones
Charla grails

Último (20)

PPT
Protocolos de seguridad y mecanismos encriptación
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PDF
Estrategia de Apoyo de Daylin Castaño (5).pdf
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PPTX
Propuesta BKP servidores con Acronis1.pptx
PPTX
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
PDF
capacitación de aire acondicionado Bgh r 410
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
DOCX
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
PDF
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
DOCX
Guía 5. Test de orientación Vocacional 2.docx
DOCX
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
PPTX
ccna: redes de nat ipv4 stharlling cande
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PDF
Diapositiva proyecto de vida, materia catedra
Protocolos de seguridad y mecanismos encriptación
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Estrategia de Apoyo de Daylin Castaño (5).pdf
informe_fichas1y2_corregido.docx (2) (1).pdf
TRABAJO DE TECNOLOGIA.pdf...........................
Propuesta BKP servidores con Acronis1.pptx
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
capacitación de aire acondicionado Bgh r 410
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
Guía 5. Test de orientación Vocacional 2.docx
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
ccna: redes de nat ipv4 stharlling cande
Historia Inteligencia Artificial Ana Romero.pptx
Presentacion de Alba Curso Auditores Internos ISO 19011
Diapositiva proyecto de vida, materia catedra

Grails en Expo FISI 2011

  • 1. Grails Expo FISI 2011
  • 3. Introducción Java un lenguaje de mucho poder con librerías casi para todos los requerimientos. Cuenta con tecnologías estándar como JSF y EJB que buscan simplificar el desarrollo de aplicaciones Web Distintos Frameworks web alternativos como Wickets, Struts 2, Spring MVC, Stripes Servidores de aplicaciones robustos y variados
  • 4. Yo soy tu padre Java ?????
  • 5. Java ahora tiene nuevos competidores
  • 7. Con tanto poder el nivel de complejidad también crece. Demasiada configuración de XML ¿Necesitamos otro Framework? Clases e Interfaces que extender o implementar.
  • 8. Grails Grails es construido sobre gigantes: Spring, Hibernate, SiteMesh, HSQLDB, Jetty , etc. Haremos grandes cosas. Convención sobre configuración. Usa el lenguaje dinámico Groovy. Grails
  • 10. Groovy Es un lenguaje dinámico para la JVM Mejor Integración con Java Hay una mayor facilidad de aprendizaje para los programadores Java Groovy ya está incluido en el instalador de Grails Más productivo en procesamiento XML, acceso a base de datos, manipulación de archivos, etc. Muchos libros disponibles al respecto Con Groovy serás mas productivo y derrotaras a “Darth Vader”
  • 11. Flexibilidad con Groovy Si bien hay similitudes con java . Los “ ; ” , “ () ” y return son opcionales Getters y Setters dados en tiempo de compilación
  • 12. Flexibilidad con Groovy Automáticamente las clases en Groovy tienen un constructor named-args . Un map que el constructor toma y llama a cada setter por cada key que corresponde a una propiedad.
  • 13. Flexibilidad con Groovy Los tipos son opcionales. En lugar de definir un tipo explicito, usamos def para designar que la variable será tipificada dinamicamente. “ == “ es lo mismo que “ equals() ”. Groovy añade métodos a la clase String .
  • 14. Groovy Strings Groovy añade un nuevo String conocido como GString . Un GString se crea declarando un literal con doble “”; un String literal con simple ‘’ es un java.lang.String. GString puede ser usado en lugar de String . El cast se hace en tiempo de ejecución. La belleza de GString es la habilidad para evaluar expresiones Groovy
  • 15. Sin Groovy Con Groovy ¿Hulk Sonriendo?
  • 16. Groovy Closures Un Groovy Closure en pocas palabras, es un bloque de código que puede ser asignado a una variable, a un método, y ser ejecutado. Un Closure se declara colocando código entre {} . Los parametros van antes del -> (dash-rocket), así
  • 17. Groovy Closures Si ningún parámetro es declarado, hay uno implícitamente proveído: se llama it Más información de Closures libro “Programming Groovy”
  • 18. Groovy Collections Groovy aporta muchas mejoras a las clases collection de Java . Las más usadas en Grails son List , Map y Set . List
  • 19. Groovy Collections Métodos útiles en List Se imprime en la salida ¡Collections con esteroides!
  • 20. Groovy Collections min() y max() sort() <<
  • 21. Groovy Collections Map Ó: salida:
  • 23. Demo TekDays Crear una aplicación web para organizar eventos con las siguientes características: Crear nuevos eventos Mostrar detalles del evento Editar Detalles del Evento Crear usuarios / organizadores Permitir voluntarios Añadir usuarios a eventos
  • 24. Demo TekDays Permitir a usuarios anonimos registrar interes Crear sponsors Añadir sponsors a eventos Tener una lista de tareas Añadir/remover tareas Asignar tareas a usuarios Postear mensajes a un forum Responder un mensaje en el forum
  • 25. Demo TekDays Mostrar threads en el foro Personalizar la pagina de eventos Permitir acceso a la pagina de eventos con un simple URL
  • 29. Creación de TekDays $ grails create-app TekDays $ cd TekDays $ grails run-app
  • 30.  
  • 32. Creando clase de Dominio $ grails create-domain-class TekEvent Ver Código y test unitario: $ grails test-app -unit
  • 33. Creando Controller $ grails create-controller TekEvent
  • 36. Creando Data de Prueba En TekDays/grails-app/conf/BootStrap.groovy
  • 37.  
  • 38.  
  • 39. Relationships $ grails create-domain-class TekUser
  • 40. TekUserController $ grails create-controller TekUser En BootStrap.groovy:
  • 45.  
  • 46. Collecciones de tipos simple de datos Modificamos TekEvent otra vez: BootStrap:
  • 47.  
  • 48. ¿Qué sigue? 0 días sin usar Groovy & Grails Más, más, más….
  • 49. Contacto Av. Canaval Moreyra 380 Lima – Perú (511) 987500273 (511)4116200 anexo 2637 www.joedayz.com