Introducción a Groovy
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Introducción a Groovy

  • 2,685 views
Uploaded on

Presentación para el #Gulev2KX en Veracruz

Presentación para el #Gulev2KX en Veracruz

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,685
On Slideshare
2,675
From Embeds
10
Number of Embeds
2

Actions

Shares
Downloads
37
Comments
0
Likes
0

Embeds 10

http://www.slideshare.net 9
http://www.linkedin.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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