Publicidad
Publicidad

Más contenido relacionado

Publicidad
Publicidad

Introducción a Groovy

  1. Groovy: el lenguaje dinámico para la JVM José Juan R. Zuñiga (@neodevelop) @grailsmx
  2. Agenda • Introducción abierta(Open Source y lenguajes de desarrollo) • ¿Que es groovy? • Hola Mundo en Groovy • Azúcar Sintáctica • +Groovy en una mirada • Aplicaciones Desktop con Groovy • Acceso a base de datos con Groovy • Metaprogramación • Testing
  3. Introducción
  4. Groovy
  5. HolaMundo en Java public class HolaMundo { private String nombre; public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public String saluda() { return "Hola " + this.nombre + " !!!"; } public static void main(String[] args) { HolaMundo objeto = new HolaMundo(); objeto.setNombre("@grailsmx"); System.out.println(objeto.saluda()); } }
  6. HolaMundo en Groovy public class HolaMundo { private String nombre; public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public String saluda() { return "Hola " + this.nombre + " !!!"; } public static void main(String[] args) { HolaMundo objeto = new HolaMundo(); objeto.setNombre("@grailsmx"); System.out.println(objeto.saluda()); } }
  7. Mejor a la manera Groovy class HolaMundo { String nombre def saluda() { "Hola ${this.nombre} !!!" } } def objeto = new HolaMundo(nombre:"@grailsmx") println(objeto.saluda())
  8. ¿Cómo llegamos a esto…? • Tener el JDK instalado • Establecer la variable JAVA_HOME y agregarla al PATH en el subdirectorio /bin • Descargamos la distribución de Groovy en http:// groovy.codehaus.org/ • Creamos una variable de entorno GROOVY_HOME apuntando al directorio donde se descomprimió la distribución • Adicionalmente, incluir en el PATH el directorio / bin de la variable de entorno GROOVY_HOME, es decir: %GROOVY_HOME%/bin • Let’s rock the code!!!
  9. + Groovy en una mirada • 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
  10. Azúcar sintáctica + GDK • 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 }
  11. 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
  12. Aplicaciones Desktop
  13. Let’s code again!!!
  14. Base de Datos
  15. Metaprogramación
  16. Testing
  17. ¿Quieres ser Groovy?
  18. Aun hay algo más… @grailsmx
  19. Esperen… @grailsmx
  20. Agradecimiento • GULEV • @springhispano • @grailsmx
  21. ¿Preguntas? …o comentarios… springhispano.org grails.org.mx @neodevelop @grailsmx
Publicidad