SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
Groovy
Hacia
Una JVM
políglota
                            Grails ´11
            Donostia - San Sebastián,
                             27/09/11
                          Rubén Egiluz
Rubén
Egiluz               Colaborador
                     en la
                     asociacion
                     JavaHispano



               Apprentice
               Software
               Craftsmanship
Ingeniero
informático
en Donewtech
                               Colaborador
                               en Agile
                               Norte
         Desarrollador
         de Java desde
         hace 7 años
                                             Follow me!
                                              @regiluze
a
gen
       1                 5
      Qué es            Groovy en
      Java              profundidad

 da    2                 6
      Qué es            Groovy
      Groovy            Tools

      3                  7
      Mi casa           Casos
      es tu casa        de éxito

        4                8
      Viajando de       Dudas y
      .java a .groovy   aclaraciones
arrancamos
con
Groovy!
¿Qué       1
es java?
Una
plataforma
  no un lenguaje…
Una
plataforma
        no un lenguaje…



Java Platform:                      Java
Máquina                   programming
virtual,                      language:
formato                    sintaxis, etc.
bytecode, etc.
¿Varios
JSR 901:
Java Language Spec. (1996) 
                                          lengüajes?
JSR 241:
The Groovy Programing Languaje (2004) 

JSR 274:
The BeanShell Scripting Language (2005)

JSR 223:
Scripting for the Java Platform (2006) 

JSR 292:
Supporting Dynamically typed Languages on the
Java Platform (2011)
¿Qué es   2
groovy?
"An agile and dynamic language for the java Virtual
Machine"

Conceptos base de lenguaje java con inspiraciones de
Ruby, Python y smalltalk

Totalmente orientado a objeto, pure OOP

Scripting

Permite dynamic typing y opcionalmente static typing

Integración completa con Java
Mi casa   3
es tu
casa
Interacción con lenguaje java transparente

TODO código groovy se ejecuta dentro de JVM
Dos
maneras de
ejecutar
classes
groovy en la
JVM
¿Es un
lenguaje
interpretado?
Viajando   4
de .java
a
.groovy
Viajando
de .java
a
.groovy
Viajando
de .java
a
.groovy
Se
elimina lo
obvio
Viajando
de .java
a .groovy
Se elimina lo
ceremonioso
Viajando
de .java
a .groovy
Tipos
dinámicos
Viajando
de .java
a .groovy
Interpolación
de variables
Viajando
de .java
a .groovy
POJOS
supervitaminados
Viajando
de .java
a .groovy
Scripts
Viajando
de .java
a .groovy
Viajando
de .java
a .groovy
Groovy
en            5
profundidad
Groovy en
profundidad
Closures
Groovy en
profundidad
Meta-
programación
(Meta-Object
Protocol MOP)
Groovy en
profundidad
GDK versión
"tuneada" del
JDK
Groovy en
profundidad
Transformaciones
AST
Groovy en
profundidad
DSL (Domain-
Specific
Language)
Groovy en
profundidad
Builders
Groovy en
profundidad
Sobrecarga
de
operadores
Memorize




Ranges

                     Regex

Gpars

         GStrings
Groovy
Tools    6
Groovy
Tools
IDE: plugins en Netbeans, eclipse o Spring Source
Tool e IntellijIDEA  

Construcción: Gant, Gradle

Frameworks: Grails, Griffon, Gaelyk

Testing: GroUnit, Spock, EasyB, Gmock, CodeNarc
Casos
de éxito   7
Casos
de éxito
Ayuntamiento de Vitoria: @grailsteiz
Escuela de groovy
Atlassian
EventBis / TicketBis
Linkedin
Sky.com
Powered
by
Dudas y
aclaraciones
Referencias
                                                                    http://groovy.codehaus.org/
http://www.donewtech.com/
                                                                    http://www.manning.com/koenig/
http://agilemanifesto.org/iso/es/
                                                                    http://grails.org/
http://manifesto.softwarecraftsmanship.org/
                                                                    http://docs.codehaus.org/display/GROOVY/Griffon
http://www.javahispano.org/
                                                                    http://gaelyk.appspot.com/
http://norte.agile-spain.org/
                                                                    http://gant.codehaus.org/
http://agile-spain.org/
                                                                    http://codenarc.sourceforge.net/
http://www.is-research.de/info/vmlanguages/category/jvm-language/
                                                                    http://code.google.com/p/spock/
http://www.jcp.org/en/jsr/detail?id=901
                                                                    http://code.google.com/p/gmock/
http://www.jcp.org/en/jsr/detail?id=241
                                                                    http://www.easyb.org/
http://www.jcp.org/en/jsr/detail?id=274
                                                                    http://twitter.com/#!/springrod/status/2035497810
http://www.jcp.org/en/jsr/detail?id=223
                                                                    http://www.sky.com/
http://jcp.org/en/jsr/detail?id=292
                                                                    http://www.eventbis.com/es_ES/index.htm
http://www.flickr.com/photos/14358247@N05/3182971707/
                                                                    http://www.ticketbis.com/
http://www.slideshare.net/aalmiray/introduccion-a-groovy
                                                                    http://grails.org/Testimonials
http://www.slideshare.net/linkedin/grails-at-linked?src=embed
                                                                    http://www.grails.org/Success+Stories
Eskerrik asko!
 ¡Gracias!
Thanks!    Merci!
  ‫!شكرا‬      謝謝!
Danke! Grazie!
¡Grácies! ευχαριστώ!
   ありがとう!
          Obrigado!
Introducción a groovy

Mais conteúdo relacionado

Semelhante a Introducción a groovy

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
 
Groovy AST Demystified
Groovy AST DemystifiedGroovy AST Demystified
Groovy AST DemystifiedAndres Almiray
 
Groovy y Grails, y la pastilla roja
Groovy y Grails, y la pastilla rojaGroovy y Grails, y la pastilla roja
Groovy y Grails, y la pastilla rojaEscuela de Groovy
 
Swift sin hype y su importancia en el 2017
 Swift sin hype y su importancia en el 2017  Swift sin hype y su importancia en el 2017
Swift sin hype y su importancia en el 2017 Software Guru
 
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!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
 
Groovy Koans - SpringIO 2011
Groovy Koans - SpringIO 2011Groovy Koans - SpringIO 2011
Groovy Koans - SpringIO 2011Dani Latorre
 
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!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
 
GHOP - GSoC Campus Party 2008
GHOP - GSoC Campus Party 2008GHOP - GSoC Campus Party 2008
GHOP - GSoC Campus Party 2008Dani Latorre
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plonementtes
 
Grails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web JavaGrails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web JavaDani Latorre
 
Revista Rails Girls Venezuela Mayo 2018
Revista Rails  Girls Venezuela Mayo  2018Revista Rails  Girls Venezuela Mayo  2018
Revista Rails Girls Venezuela Mayo 2018kyaalena
 
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...Iván López Martín
 
HTML5, CSS3 y móviles
HTML5, CSS3 y móvilesHTML5, CSS3 y móviles
HTML5, CSS3 y móvilesPideCurso
 

Semelhante a Introducción a groovy (20)

Eleva tu capacidad con Groovy
Eleva tu capacidad con GroovyEleva tu capacidad con Groovy
Eleva tu capacidad con Groovy
 
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
 
Groovy AST Demystified
Groovy AST DemystifiedGroovy AST Demystified
Groovy AST Demystified
 
Introduccion a Groovy
Introduccion a GroovyIntroduccion a Groovy
Introduccion a Groovy
 
Groovy y Grails, y la pastilla roja
Groovy y Grails, y la pastilla rojaGroovy y Grails, y la pastilla roja
Groovy y Grails, y la pastilla roja
 
Grails en el Fonasol
Grails en el FonasolGrails en el Fonasol
Grails en el Fonasol
 
Swift sin hype y su importancia en el 2017
 Swift sin hype y su importancia en el 2017  Swift sin hype y su importancia en el 2017
Swift sin hype y su importancia en el 2017
 
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
 
Groovy Koans - SpringIO 2011
Groovy Koans - SpringIO 2011Groovy Koans - SpringIO 2011
Groovy Koans - SpringIO 2011
 
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
Madrid-GUG (Alicante) 2017 - De Java a Groovy: ¡Hora de Aventuras!
 
GHOP - GSoC Campus Party 2008
GHOP - GSoC Campus Party 2008GHOP - GSoC Campus Party 2008
GHOP - GSoC Campus Party 2008
 
Grails en SG08
Grails en SG08Grails en SG08
Grails en SG08
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plone
 
Grails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web JavaGrails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web Java
 
Revista Rails Girls Venezuela Mayo 2018
Revista Rails  Girls Venezuela Mayo  2018Revista Rails  Girls Venezuela Mayo  2018
Revista Rails Girls Venezuela Mayo 2018
 
grails.org.mx Primera Reunion
grails.org.mx Primera Reuniongrails.org.mx Primera Reunion
grails.org.mx Primera Reunion
 
Sobre GrooScript
Sobre GrooScriptSobre GrooScript
Sobre GrooScript
 
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
 
HTML5, CSS3 y móviles
HTML5, CSS3 y móvilesHTML5, CSS3 y móviles
HTML5, CSS3 y móviles
 
El mundo se acaba en 2012
El mundo se acaba en 2012El mundo se acaba en 2012
El mundo se acaba en 2012
 

Último

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
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
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
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 

Último (11)

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
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.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
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Introducción a groovy