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
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