SlideShare uma empresa Scribd logo
1 de 22
grails.org.mx
 Primera reunión :)
Misión de la comunidad



• Difusión de Groovy & Grails en
  México
Contexto

• SpringSource compra a G2One
• SpringSource desarrolla Spring
• Grails se basa en Spring
• SpringHispano es la comunidad
  hermana de grails.org.mx
Java
 Plataforma políglota
• Java
• Groovy
• Scala
• Erlang
• JRuby
• Jython
¿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
¿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
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() )‫‏‬
    }
}
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() )‫‏‬
    }
}
Manera Groovy ;)


class HelloWorld {
   String name
   def greet() { quot;Hello $namequot; }
}

def helloWorld = new HelloWorld(name:quot;Groovyquot;)
println helloWorld.greet()
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
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
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)
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
Azúcar sintáctica:
    Toma 1
Azúcar sintáctica:
    Toma 2
Azúcar sintáctica: Toma
           3
¿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,
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.
Spring como base

• Sus principales características
• Sistema de extensiones basada en
  plugins

• Entorno de configuración para
Muestrame el código
Agradecimientos



• Andres Almiray, por las láminas de
  introducción a Groovy

Mais conteúdo relacionado

Mais procurados (6)

Blazor, un nuevo framework .NET
Blazor, un nuevo framework .NETBlazor, un nuevo framework .NET
Blazor, un nuevo framework .NET
 
Tabla sqa de programacion
Tabla sqa de programacionTabla sqa de programacion
Tabla sqa de programacion
 
Ecuador jug 2017 -incrementando la productividad de proyectos java ee con c...
Ecuador jug   2017 -incrementando la productividad de proyectos java ee con c...Ecuador jug   2017 -incrementando la productividad de proyectos java ee con c...
Ecuador jug 2017 -incrementando la productividad de proyectos java ee con c...
 
Seminario de Groovy y grails
Seminario de Groovy y grailsSeminario de Groovy y grails
Seminario de Groovy y grails
 
Javascript para principiantes - Primer Script
Javascript para principiantes - Primer Script Javascript para principiantes - Primer Script
Javascript para principiantes - Primer Script
 
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
 

Destaque (7)

the Social Web
the Social Webthe Social Web
the Social Web
 
Politica Actual
Politica ActualPolitica Actual
Politica Actual
 
鮮花地毯
鮮花地毯鮮花地毯
鮮花地毯
 
藍色多瑙河
藍色多瑙河藍色多瑙河
藍色多瑙河
 
More Than Useful @ FBTB 2008
More Than Useful @ FBTB 2008More Than Useful @ FBTB 2008
More Than Useful @ FBTB 2008
 
Grails en SG08
Grails en SG08Grails en SG08
Grails en SG08
 
JVM Reactive Programming
JVM Reactive ProgrammingJVM Reactive Programming
JVM Reactive Programming
 

Semelhante a grails.org.mx Primera Reunion

Realizando pruebas en la JVM con velocidad y eficacia
Realizando pruebas en la JVM con velocidad y eficaciaRealizando pruebas en la JVM con velocidad y eficacia
Realizando pruebas en la JVM con velocidad y eficacia
Software Guru
 

Semelhante a grails.org.mx Primera Reunion (20)

Taller Groovy
Taller GroovyTaller Groovy
Taller Groovy
 
Intro a Grails @ ITESCA
Intro a Grails @ ITESCAIntro a Grails @ ITESCA
Intro a Grails @ ITESCA
 
Grails en el Fonasol
Grails en el FonasolGrails en el Fonasol
Grails en el Fonasol
 
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)
 
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!
 
T3chFest 2016 - De Java a Groovy: ¡Hora de Aventuras!
T3chFest 2016 - De Java a Groovy: ¡Hora de Aventuras!T3chFest 2016 - De Java a Groovy: ¡Hora de Aventuras!
T3chFest 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!
Codemotion Madrid 2016 - De Java a Groovy: ¡Hora de Aventuras!
 
Groovy&Grails: desarrollo rápido de aplicaciones
Groovy&Grails: desarrollo rápido de aplicacionesGroovy&Grails: desarrollo rápido de aplicaciones
Groovy&Grails: desarrollo rápido de aplicaciones
 
Introduccion A Groovy
Introduccion A GroovyIntroduccion A Groovy
Introduccion A Groovy
 
Introduccion a Groovy
Introduccion a GroovyIntroduccion a Groovy
Introduccion a Groovy
 
Realizando pruebas en la JVM con velocidad y eficacia
Realizando pruebas en la JVM con velocidad y eficaciaRealizando pruebas en la JVM con velocidad y eficacia
Realizando pruebas en la JVM con velocidad y eficacia
 
Eleva tu capacidad con Groovy
Eleva tu capacidad con GroovyEleva tu capacidad con Groovy
Eleva tu capacidad con Groovy
 
JAVA3.0
JAVA3.0JAVA3.0
JAVA3.0
 
Introducción a Groovy
Introducción a GroovyIntroducción a Groovy
Introducción a Groovy
 
Grails en Expo FISI 2011
Grails en Expo FISI 2011Grails en Expo FISI 2011
Grails en Expo FISI 2011
 
Realizando Pruebas en la JVM con Velocidad y Eficacia
Realizando Pruebas en la JVM con Velocidad y EficaciaRealizando Pruebas en la JVM con Velocidad y Eficacia
Realizando Pruebas en la JVM con Velocidad y Eficacia
 
Introducción a Groovy
Introducción a GroovyIntroducción a Groovy
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 Java
 
GraalVM - MálagaJUG 2018-11-29
GraalVM - MálagaJUG 2018-11-29GraalVM - MálagaJUG 2018-11-29
GraalVM - MálagaJUG 2018-11-29
 
Introducción a Grails
Introducción a GrailsIntroducción a Grails
Introducción a Grails
 

Mais de Domingo Suarez Torres

Mais de Domingo Suarez Torres (20)

Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de KubernetesCloud 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 convivirJava Dev Day 2019  No kuberneteen por convivir
Java Dev Day 2019 No kuberneteen por convivir
 
Contenedores 101 Digital Ocean CDMX
Contenedores 101 Digital Ocean CDMXContenedores 101 Digital Ocean CDMX
Contenedores 101 Digital Ocean CDMX
 
Retos en la arquitectura de Microservicios
Retos en la arquitectura de MicroserviciosRetos en la arquitectura de Microservicios
Retos en la arquitectura de Microservicios
 
Java Cloud Native Hack Nights GDL
Java Cloud Native Hack Nights GDLJava Cloud Native Hack Nights GDL
Java Cloud Native Hack Nights GDL
 
meetup digital ocean kubernetes
meetup digital ocean kubernetesmeetup digital ocean kubernetes
meetup digital ocean kubernetes
 
Peru JUG Micronaut & GraalVM
Peru JUG Micronaut & GraalVMPeru 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 IstioDevFest 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 JVMCloud Native Development in the JVM
Cloud Native Development in the JVM
 
Cloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesCloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a Kubernetes
 
Meetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureMeetup 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 EnvoyCloud 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 ObservabilityCloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Meetup enero 2018 Observability
 
Cloud Native Mexico Presentacion
Cloud Native Mexico PresentacionCloud Native Mexico Presentacion
Cloud Native Mexico Presentacion
 
gRPC: Beyond REST
gRPC: Beyond RESTgRPC: Beyond REST
gRPC: Beyond REST
 
Devops Landscape
Devops LandscapeDevops Landscape
Devops Landscape
 
Orquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNextOrquestación de contenedores con Kubernetes SGNext
Orquestación de contenedores con Kubernetes SGNext
 
SGNext Elasticsearch
SGNext ElasticsearchSGNext Elasticsearch
SGNext Elasticsearch
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de Microservicios
 
Elasticsearch JVM-MX Meetup April 2016
Elasticsearch JVM-MX Meetup April 2016Elasticsearch JVM-MX Meetup April 2016
Elasticsearch JVM-MX Meetup April 2016
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (10)

Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
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.
 
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
 
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...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
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
 

grails.org.mx Primera Reunion

  • 2. Misión de la comunidad • Difusión de Groovy & Grails en México
  • 3. Contexto • SpringSource compra a G2One • SpringSource desarrolla Spring • Grails se basa en Spring • SpringHispano es la comunidad hermana de grails.org.mx
  • 4. Java Plataforma políglota • Java • Groovy • Scala • Erlang • JRuby • Jython
  • 5. ¿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
  • 6. ¿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
  • 7. 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() )‫‏‬ } }
  • 8. 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() )‫‏‬ } }
  • 9. Manera Groovy ;) class HelloWorld { String name def greet() { quot;Hello $namequot; } } def helloWorld = new HelloWorld(name:quot;Groovyquot;) println helloWorld.greet()
  • 10. 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
  • 11. 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
  • 12. 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)
  • 13. 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
  • 17. ¿Que es Grails? • Mas que un framework, es una plataforma para desarrollo de aplicaciones web
  • 18. 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,
  • 19. 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.
  • 20. Spring como base • Sus principales características • Sistema de extensiones basada en plugins • Entorno de configuración para
  • 22. Agradecimientos • Andres Almiray, por las láminas de introducción a Groovy