SlideShare ist ein Scribd-Unternehmen logo
1 von 14
INTEGRANDO GROOVY &
GRAILS AL DESARROLLO DE
        SOFTWARE
        José Juan Reyes Zuñiga
   @neodevelop - @synergyj - @joedayz
AGENDA

• Qué   es Groovy?

• Como    lo integro a la JVM?

• Qué   es Grails?

• Como    desarrollo aplicaciones en Grails para Java?

• Conclusiones
¿QUÉ ES GROOVY?


• “Groovy  is like a super version of Java. It can leverage Java's
 enterprise capabilities but also has cool productivity features
 like closures, builders and dynamic typing. If you are a
 developer, tester or script guru, you have to love Groovy."
¿QUÉ PODEMOS HACER CON
        GROOVY?
• Lo   mismo que en Java pero...

 • Más    fácil

 • Más    simple

 • Más    rápido

• Mucho    más...

 • Innovar

 • Inventar
¿QUÉ PODEMOS
     ENCONTRAR EN GROOVY?
•   Totalmente Orientado a objetos
•   Perfecta integración con Java
•   Closures
•   Convención de JavaBeans
•   Esencia vs. Ceremonia
•   Aritmética con BigDecimal por default para la operación de punto
    flotante
•   API’s amigables y prácticas
•   XML, JDBC, JMX, Swing
•   DSL(Domain Specific Language)
•   Builders
•   Sobrecarga de operadores
•   GDK
AZÚCAR SINTÁCTICA

• Listas
  • def numeros = [1,2,3,4,5]
• Mapas
  • def mapa = [DF:'Distrito Federal',MTY:'Monterrey']
• Rangos
  • def rangos = 199..299
• Asignación Múltiple
  • def (a,b) = [10,20]
• Return Opcional
  • def metodo(bool) { if(bool) 1 else 0 }
GROOVY EN PROFUNDIDAD

• Meta-programación
  • La habilidad de un lenguaje para   modificarse a sí mismo
• Transformaciones AST
  • @Singleton
  • @Inmutable, @Lazy, @Delegate
  • @Newify
  • @Category & @Mixin
  • @PackageScope
  • @Bindable & @Vetoable
  • @Grab
QUÉ + HAY EN GRAILS?

• MVC                        • URL Mappings
• GORM                       • Flows
  • Hibernate                • Templates
  • Sin configuración         • i18n
  • Se pueden hacer mapeos   • Diseños gráficos
  • Dynamic finders           • Testing
  • Queries                  • Uso de componentes   Spring
• Constraints                • Plugin’s
• Services                   • Más....
• GSP para la vista
• Taglibs
GRAILS + PLUGINS
LET’S CODE
¿QUIERES SER
  GROOVY?
   Conclusiones
¡¡¡GRACIAS!!!
     José Juan Reyes Zuñiga
@neodevelop - @synergyj - @joedayz

Weitere ähnliche Inhalte

Was ist angesagt?

Multiplica tu productividad usando un preprocesador de css
Multiplica tu productividad usando un preprocesador de cssMultiplica tu productividad usando un preprocesador de css
Multiplica tu productividad usando un preprocesador de cssLeonidas Esteban González
 
Webinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador JavaWebinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador JavaDomingo Suarez Torres
 
Sácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSSSácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSSLeonidas Esteban González
 
De escritorio a Javascript, nuestra experiencia desde las trincheras
De escritorio a Javascript, nuestra experiencia desde las trincherasDe escritorio a Javascript, nuestra experiencia desde las trincheras
De escritorio a Javascript, nuestra experiencia desde las trincherasRoberto Luis Bisbé
 
¿Por qué usar frameworks javascript?
¿Por qué usar frameworks javascript?¿Por qué usar frameworks javascript?
¿Por qué usar frameworks javascript?aitorgr
 
NodeJS
NodeJSNodeJS
NodeJSIBM
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJSAlberto Gimeno
 
Análisis de Grav Cms, ¿es mejor que Wordpress?
Análisis de Grav Cms, ¿es mejor que Wordpress?Análisis de Grav Cms, ¿es mejor que Wordpress?
Análisis de Grav Cms, ¿es mejor que Wordpress?Daniel Primo
 
Casper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end DrupalCasper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end DrupalDavid Gil Sánchez
 
Webassembly, Blazor y Javascript, una combinación explosiva
Webassembly, Blazor y Javascript, una combinación explosivaWebassembly, Blazor y Javascript, una combinación explosiva
Webassembly, Blazor y Javascript, una combinación explosivaRoberto Sanz Ciriano
 
Angular 2 & nativescript… chau híbrido
Angular 2 & nativescript… chau híbridoAngular 2 & nativescript… chau híbrido
Angular 2 & nativescript… chau híbridomelidevelopers
 
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix.  armando nuestros sitios dinámicamente con html5, php y mysqlWeb matrix.  armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysqlPeter Concha
 
Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013Carlos Camacho
 

Was ist angesagt? (20)

Multiplica tu productividad usando un preprocesador de css
Multiplica tu productividad usando un preprocesador de cssMultiplica tu productividad usando un preprocesador de css
Multiplica tu productividad usando un preprocesador de css
 
Webinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador JavaWebinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador Java
 
HTML
HTMLHTML
HTML
 
Sácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSSSácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSS
 
Grails en SG08
Grails en SG08Grails en SG08
Grails en SG08
 
De escritorio a Javascript, nuestra experiencia desde las trincheras
De escritorio a Javascript, nuestra experiencia desde las trincherasDe escritorio a Javascript, nuestra experiencia desde las trincheras
De escritorio a Javascript, nuestra experiencia desde las trincheras
 
Net love open source v1.7
Net love open source v1.7Net love open source v1.7
Net love open source v1.7
 
¿Por qué usar frameworks javascript?
¿Por qué usar frameworks javascript?¿Por qué usar frameworks javascript?
¿Por qué usar frameworks javascript?
 
NodeJS
NodeJSNodeJS
NodeJS
 
Las Herramientas de un Frontend
Las Herramientas de un FrontendLas Herramientas de un Frontend
Las Herramientas de un Frontend
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJS
 
Análisis de Grav Cms, ¿es mejor que Wordpress?
Análisis de Grav Cms, ¿es mejor que Wordpress?Análisis de Grav Cms, ¿es mejor que Wordpress?
Análisis de Grav Cms, ¿es mejor que Wordpress?
 
20170405 - Ecosistema Javascript
20170405 - Ecosistema Javascript20170405 - Ecosistema Javascript
20170405 - Ecosistema Javascript
 
Casper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end DrupalCasper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end Drupal
 
Webassembly, Blazor y Javascript, una combinación explosiva
Webassembly, Blazor y Javascript, una combinación explosivaWebassembly, Blazor y Javascript, una combinación explosiva
Webassembly, Blazor y Javascript, una combinación explosiva
 
Grails en el Fonasol
Grails en el FonasolGrails en el Fonasol
Grails en el Fonasol
 
Angular 2 & nativescript… chau híbrido
Angular 2 & nativescript… chau híbridoAngular 2 & nativescript… chau híbrido
Angular 2 & nativescript… chau híbrido
 
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix.  armando nuestros sitios dinámicamente con html5, php y mysqlWeb matrix.  armando nuestros sitios dinámicamente con html5, php y mysql
Web matrix. armando nuestros sitios dinámicamente con html5, php y mysql
 
Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013
 
Meteor intro-2014 - spanish
Meteor intro-2014 - spanishMeteor intro-2014 - spanish
Meteor intro-2014 - spanish
 

Andere mochten auch

Scraping recalcitrant web sites with Python & Selenium
Scraping recalcitrant web sites with Python & SeleniumScraping recalcitrant web sites with Python & Selenium
Scraping recalcitrant web sites with Python & SeleniumRoger Barnes
 
Controlling the browser through python and selenium
Controlling the browser through python and seleniumControlling the browser through python and selenium
Controlling the browser through python and seleniumPatrick Viafore
 
Selenium como herramienta de Web Scraping
Selenium como herramienta de Web ScrapingSelenium como herramienta de Web Scraping
Selenium como herramienta de Web ScrapingDani Latorre
 
Jobsket.com, Grails en un proyecto real
Jobsket.com, Grails en un proyecto realJobsket.com, Grails en un proyecto real
Jobsket.com, Grails en un proyecto realJobsket
 

Andere mochten auch (6)

Scraping recalcitrant web sites with Python & Selenium
Scraping recalcitrant web sites with Python & SeleniumScraping recalcitrant web sites with Python & Selenium
Scraping recalcitrant web sites with Python & Selenium
 
Selenium
SeleniumSelenium
Selenium
 
Controlling the browser through python and selenium
Controlling the browser through python and seleniumControlling the browser through python and selenium
Controlling the browser through python and selenium
 
Selenium como herramienta de Web Scraping
Selenium como herramienta de Web ScrapingSelenium como herramienta de Web Scraping
Selenium como herramienta de Web Scraping
 
Selenium
SeleniumSelenium
Selenium
 
Jobsket.com, Grails en un proyecto real
Jobsket.com, Grails en un proyecto realJobsket.com, Grails en un proyecto real
Jobsket.com, Grails en un proyecto real
 

Ähnlich wie Integrando Groovy & Grails en el proceso de desarrollo

Desarrollo multiplataforma de apps con GWT y PhoneGap
Desarrollo multiplataforma de apps con GWT y PhoneGapDesarrollo multiplataforma de apps con GWT y PhoneGap
Desarrollo multiplataforma de apps con GWT y PhoneGapbetabeers
 
Charla 1er betabeers Córdoba
Charla 1er betabeers CórdobaCharla 1er betabeers Córdoba
Charla 1er betabeers CórdobaLuis Muñoz Hueso
 
Grails, opción real y escalable para sitios web de alta carga
Grails, opción real y escalable para sitios web de alta cargaGrails, opción real y escalable para sitios web de alta carga
Grails, opción real y escalable para sitios web de alta cargaDomingo Suarez Torres
 
Modulariza tus aplicaciones Grails - Springio 2012
Modulariza tus aplicaciones Grails - Springio 2012Modulariza tus aplicaciones Grails - Springio 2012
Modulariza tus aplicaciones Grails - Springio 2012Dani Latorre
 
Poniendo a drupal en el mapa
Poniendo a drupal en el mapaPoniendo a drupal en el mapa
Poniendo a drupal en el mapaEduardo Riesco
 
Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)Armando Picón Z.
 
Jobsket Spring 2GX Madrid
Jobsket Spring 2GX MadridJobsket Spring 2GX Madrid
Jobsket Spring 2GX MadridJobsket
 
Trabajando con código heredado y ser feliz
Trabajando con código heredado y ser felizTrabajando con código heredado y ser feliz
Trabajando con código heredado y ser felizDiego Caballero
 
Kendo UI - Potencia tu Web
Kendo UI - Potencia tu WebKendo UI - Potencia tu Web
Kendo UI - Potencia tu WebDavid Gonzalo
 
Presentacion java scripts
Presentacion java scriptsPresentacion java scripts
Presentacion java scriptsHernando Moreno
 
Twittalicious - Desarrollo de un Producto con Drupal
Twittalicious - Desarrollo de un Producto con DrupalTwittalicious - Desarrollo de un Producto con Drupal
Twittalicious - Desarrollo de un Producto con DrupalRuben Teijeiro
 
Twittalicious - Desarrollo de un Producto con Drupal
Twittalicious - Desarrollo de un Producto con DrupalTwittalicious - Desarrollo de un Producto con Drupal
Twittalicious - Desarrollo de un Producto con DrupalRojomorgan
 
Ionic y angular.js
Ionic y angular.jsIonic y angular.js
Ionic y angular.jsGDG Cali
 
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...Esri
 
Gwt intro adwe_murcia
Gwt intro adwe_murciaGwt intro adwe_murcia
Gwt intro adwe_murciaADWE Team
 

Ähnlich wie Integrando Groovy & Grails en el proceso de desarrollo (20)

Desarrollo multiplataforma de apps con GWT y PhoneGap
Desarrollo multiplataforma de apps con GWT y PhoneGapDesarrollo multiplataforma de apps con GWT y PhoneGap
Desarrollo multiplataforma de apps con GWT y PhoneGap
 
Charla 1er betabeers Córdoba
Charla 1er betabeers CórdobaCharla 1er betabeers Córdoba
Charla 1er betabeers Córdoba
 
Grails, opción real y escalable para sitios web de alta carga
Grails, opción real y escalable para sitios web de alta cargaGrails, opción real y escalable para sitios web de alta carga
Grails, opción real y escalable para sitios web de alta carga
 
Day01
Day01Day01
Day01
 
Modulariza tus aplicaciones Grails - Springio 2012
Modulariza tus aplicaciones Grails - Springio 2012Modulariza tus aplicaciones Grails - Springio 2012
Modulariza tus aplicaciones Grails - Springio 2012
 
Poniendo a drupal en el mapa
Poniendo a drupal en el mapaPoniendo a drupal en el mapa
Poniendo a drupal en el mapa
 
Html5 avanzado
Html5 avanzadoHtml5 avanzado
Html5 avanzado
 
Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)
 
Presentacion cw2012
Presentacion cw2012Presentacion cw2012
Presentacion cw2012
 
Jobsket Spring 2GX Madrid
Jobsket Spring 2GX MadridJobsket Spring 2GX Madrid
Jobsket Spring 2GX Madrid
 
Netbeans Osum
Netbeans OsumNetbeans Osum
Netbeans Osum
 
Trabajando con código heredado y ser feliz
Trabajando con código heredado y ser felizTrabajando con código heredado y ser feliz
Trabajando con código heredado y ser feliz
 
Kendo UI - Potencia tu Web
Kendo UI - Potencia tu WebKendo UI - Potencia tu Web
Kendo UI - Potencia tu Web
 
Presentacion java scripts
Presentacion java scriptsPresentacion java scripts
Presentacion java scripts
 
Sobre GrooScript
Sobre GrooScriptSobre GrooScript
Sobre GrooScript
 
Twittalicious - Desarrollo de un Producto con Drupal
Twittalicious - Desarrollo de un Producto con DrupalTwittalicious - Desarrollo de un Producto con Drupal
Twittalicious - Desarrollo de un Producto con Drupal
 
Twittalicious - Desarrollo de un Producto con Drupal
Twittalicious - Desarrollo de un Producto con DrupalTwittalicious - Desarrollo de un Producto con Drupal
Twittalicious - Desarrollo de un Producto con Drupal
 
Ionic y angular.js
Ionic y angular.jsIonic y angular.js
Ionic y angular.js
 
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...
API REST de Geoservicios de Esri y los Servicios estándar OGC Clásicos - JIID...
 
Gwt intro adwe_murcia
Gwt intro adwe_murciaGwt intro adwe_murcia
Gwt intro adwe_murcia
 

Mehr von Jose Juan R. Zuñiga

Apps software development with Vert.X
Apps software development with Vert.XApps software development with Vert.X
Apps software development with Vert.XJose Juan R. Zuñiga
 
A lil' of Groovy for Ruby developers
A lil' of Groovy for Ruby developersA lil' of Groovy for Ruby developers
A lil' of Groovy for Ruby developersJose Juan R. Zuñiga
 
Herramientas para el desarrollo de software
Herramientas para el desarrollo de softwareHerramientas para el desarrollo de software
Herramientas para el desarrollo de softwareJose Juan R. Zuñiga
 
Mirando hacia atrás: Retrospectivas
Mirando hacia atrás: RetrospectivasMirando hacia atrás: Retrospectivas
Mirando hacia atrás: RetrospectivasJose Juan R. Zuñiga
 
Creación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyCreación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyJose Juan R. Zuñiga
 
El proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open SourceEl proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open SourceJose Juan R. Zuñiga
 
15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mxJose Juan R. Zuñiga
 
Introduccion a grails en Campusparty
Introduccion a grails en CampuspartyIntroduccion a grails en Campusparty
Introduccion a grails en CampuspartyJose Juan R. Zuñiga
 
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)Jose Juan R. Zuñiga
 

Mehr von Jose Juan R. Zuñiga (20)

Apps software development with Vert.X
Apps software development with Vert.XApps software development with Vert.X
Apps software development with Vert.X
 
A lil' of Groovy for Ruby developers
A lil' of Groovy for Ruby developersA lil' of Groovy for Ruby developers
A lil' of Groovy for Ruby developers
 
Herramientas para el desarrollo de software
Herramientas para el desarrollo de softwareHerramientas para el desarrollo de software
Herramientas para el desarrollo de software
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Webapps testing with Groovy
Webapps testing with GroovyWebapps testing with Groovy
Webapps testing with Groovy
 
Creación de plugins con Grails
Creación de plugins con GrailsCreación de plugins con Grails
Creación de plugins con Grails
 
El desarrollador de software
El desarrollador de softwareEl desarrollador de software
El desarrollador de software
 
Groovy in Java7mx
Groovy in Java7mxGroovy in Java7mx
Groovy in Java7mx
 
Mirando hacia atrás: Retrospectivas
Mirando hacia atrás: RetrospectivasMirando hacia atrás: Retrospectivas
Mirando hacia atrás: Retrospectivas
 
Equipos en Scrum ¡oing!
Equipos en Scrum ¡oing!Equipos en Scrum ¡oing!
Equipos en Scrum ¡oing!
 
Creación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyCreación de Builders y DSL's con Groovy
Creación de Builders y DSL's con Groovy
 
El proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open SourceEl proceso de desarrollo con herramientas Open Source
El proceso de desarrollo con herramientas Open Source
 
15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx
 
Introducción a Groovy
Introducción a GroovyIntroducción a Groovy
Introducción a Groovy
 
Introduccion a grails en Campusparty
Introduccion a grails en CampuspartyIntroduccion a grails en Campusparty
Introduccion a grails en Campusparty
 
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
 
Redefiniendo el MVC con Grails
Redefiniendo el MVC con GrailsRedefiniendo el MVC con Grails
Redefiniendo el MVC con Grails
 
Spring
SpringSpring
Spring
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
 
Creación de Plataformas
Creación de PlataformasCreación de Plataformas
Creación de Plataformas
 

Kürzlich hochgeladen

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 

Kürzlich hochgeladen (13)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 

Integrando Groovy & Grails en el proceso de desarrollo

  • 1. INTEGRANDO GROOVY & GRAILS AL DESARROLLO DE SOFTWARE José Juan Reyes Zuñiga @neodevelop - @synergyj - @joedayz
  • 2. AGENDA • Qué es Groovy? • Como lo integro a la JVM? • Qué es Grails? • Como desarrollo aplicaciones en Grails para Java? • Conclusiones
  • 3. ¿QUÉ ES GROOVY? • “Groovy is like a super version of Java. It can leverage Java's enterprise capabilities but also has cool productivity features like closures, builders and dynamic typing. If you are a developer, tester or script guru, you have to love Groovy."
  • 4. ¿QUÉ PODEMOS HACER CON GROOVY? • Lo mismo que en Java pero... • Más fácil • Más simple • Más rápido • Mucho más... • Innovar • Inventar
  • 5. ¿QUÉ PODEMOS ENCONTRAR EN GROOVY? • Totalmente Orientado a objetos • Perfecta integración con Java • Closures • Convención de JavaBeans • Esencia vs. Ceremonia • Aritmética con BigDecimal por default para la operación de punto flotante • API’s amigables y prácticas • XML, JDBC, JMX, Swing • DSL(Domain Specific Language) • Builders • Sobrecarga de operadores • GDK
  • 6. AZÚCAR SINTÁCTICA • Listas • def numeros = [1,2,3,4,5] • Mapas • def mapa = [DF:'Distrito Federal',MTY:'Monterrey'] • Rangos • def rangos = 199..299 • Asignación Múltiple • def (a,b) = [10,20] • Return Opcional • def metodo(bool) { if(bool) 1 else 0 }
  • 7. GROOVY EN PROFUNDIDAD • Meta-programación • La habilidad de un lenguaje para modificarse a sí mismo • Transformaciones AST • @Singleton • @Inmutable, @Lazy, @Delegate • @Newify • @Category & @Mixin • @PackageScope • @Bindable & @Vetoable • @Grab
  • 8.
  • 9.
  • 10. QUÉ + HAY EN GRAILS? • MVC • URL Mappings • GORM • Flows • Hibernate • Templates • Sin configuración • i18n • Se pueden hacer mapeos • Diseños gráficos • Dynamic finders • Testing • Queries • Uso de componentes Spring • Constraints • Plugin’s • Services • Más.... • GSP para la vista • Taglibs
  • 13. ¿QUIERES SER GROOVY? Conclusiones
  • 14. ¡¡¡GRACIAS!!! José Juan Reyes Zuñiga @neodevelop - @synergyj - @joedayz

Hinweis der Redaktion