Groovy
Webinar: Productividad para el desarrollador Java
Agenda
Como puede usar Groovy un desarrollador Java

  JavaBeans

  POGOs

  Metaprogramación

  GDK

  Testing

Proyectos poliglotas
Como puede usar
    Groovy un
desarrollador Java
Tipos de uso
En el shell de tu sistema operativo
  Windows, Linux/Unix, Mac OS X
En un IDE
  Eclipse, SpringSource Tool Suite
  Netbeans
  IntelliJ IDEA
Con una herramienta de build
  Ant
  Maven
En el Shell

Es tan sencillo como descargar el Zip

  http://groovy.codehaus.org/Download

Seguir estas sencillas instrucciones

  http://groovy.codehaus.org/Installing+Groovy
Netbeans
Eclipse
SpringSource Tool Suite
IntelliJ IDEA
Ant y Maven


Existen tareas para Ant

Plugins para compilar los
fuentes en Groovy
Muchos de ustedes ya
conocen estas herramientas
Tal vez lo que no
conozcan es el lenguaje
JavaBeans
Constructor por omisión (vacío, sin parámetros)

Propiedades privadas

  Se acceden mediante métodos
  “accesores” (getters)

  Se modifican mediante métodos
  “mutadores” (setters)

Implementan la interfaz java.io.Serializable
Convenciones

Muchos frameworks usan esta convención

Esta ampliamente dispersa en la idiosincracia de un Java developer

Necesitamos escribir algo de código

El IDE nos puede ayudar en esto
¿Que puede hacer
 Groovy por mi?
POGOs

Las propiedades automáticamente
son privadas

El compilador de Groovy genera
automáticamente mutadores y
accesores
Esencia VS Ceremonia
Metaprogramación
Meta ¿que?
Metaprogramación
Es la característica de un programa para
 modificarse a si mismo o a los demás.
¿Cuantas veces
 hemos necesitado
modificar clases que
 no son nuestras?
¿Se podrá modificar la
clase java.lang.String?
Closures

Son muy importantes

Cuando “inyectamos” código con metaprogramación, inyectamos
closures

Tienen muchas características que pueden explotarse de maneras
muy interesantes. Grails usa mucho los Closures
¿en que nos ayuda la
metaprogramación?
Agregar funcionalidad a las
 librerías/clases estándar
Métodos
inyectados
   con
 metapro-
gramación

Función
del GDK
GDK
Groovy Development Kit
GDK
Tiene el objetivo de facilitar ciertas tareas que usando
   el API estándar del JDK es un poco complicado
El GDK tiene muchisimas
     mejoras al JDK
Scripts
Scripts
Todos los ejemplos que hemos hecho han sido scripts

No necesitan compilarse

Se ejecutan usando el interprete de Groovy

Son muy cómodos y rápidos de ejecutar

¿Que ocurre si necesitamos usar alguna librería?

¿Como la metemos al ClassPath?
Grapes/Grab
Groovy tiene soporte para Ivy, para poder
  usar librerías usando un repositorio y
ponerlas automáticamente en el classpath
Demo de Grape
Herramientas de
 construcción
Demo de Gradle
Testing con JUnit
Testing con Spock
Si no podemos usar
   Groovy en código
 productivo, es bueno
empezar por pruebas o
    en el proceso de
      construcción
¿Que esperan para
 probar Groovy?
Gracias
                      domingo.suarez@synergyj.com
                                @domix



Presentación en:
http://slideshare.net/domingo.suarez
Código en:
http://github.com/synergyj

Webinar: Groovy y la producttividad para el desarrollador Java