Introducción a groovy

Preview:

DESCRIPTION

Introduction to groovy, an agile and dynamic language for the java virtual machine

Citation preview

Groovy

Grails ´11Donostia - San Sebastián,

27/09/11

Rubén Egiluz

Hacia Una JVM políglota

Follow me! @regiluze

Ingeniero informáticoen Donewtech

Apprentice Software Craftsmanship

Desarrollador de Java desde hace 7 años

Colaborador en Agile Norte

Colaborador en la asociacion JavaHispano

Rubén Egiluz

agenda

Qué es Java

1

Qué es Groovy

2

Mi casa es tu casa

3

Viajando de .java a .groovy

4

Groovy en profundidad

5

Groovy Tools

6

Casos de éxito

7

Dudas y aclaraciones

8

arrancamos conGroovy!

¿Qué es java? 1

Una plataforma

no un lenguaje…

Java programming

language: sintaxis, etc.

Java Platform: Máquina virtual, formato bytecode, etc.

no un lenguaje…

Una plataforma

JSR 901: Java Language Spec. (1996) 

JSR 241: The Groovy Programing Languaje (2004) 

JSR 274: The BeanShell Scripting Language (2005)

JSR 223: Scripting for the Java Platform (2006) 

JSR 292: Supporting Dynamically typed Languages on the Java Platform (2011)

¿Varios lengüajes?

¿Qué es groovy? 2

"An agile and dynamic language for the java Virtual Machine"

Conceptos base de lenguaje java con inspiraciones de Ruby, Python y smalltalk

Totalmente orientado a objeto, pure OOP

Scripting

Permite dynamic typing y opcionalmente static typing

Integración completa con Java

Mi casa es tu casa

3

Interacción con lenguaje java transparente

TODO código groovy se ejecuta dentro de JVM

Dos maneras de ejecutar classes groovy en la JVM

¿Es un lenguaje interpretado?

Viajando de .java a .groovy

4

Viajando de .java a .groovy

Viajando de .java a .groovy

Se elimina lo obvio

Viajando de .java a .groovy

Se elimina lo ceremonioso

Viajando de .java a .groovy

Tipos dinámicos

Viajando de .java a .groovy

Interpolación de variables

Viajando de .javaa .groovy

POJOS supervitaminados

Viajando de .java a .groovy

Scripts

Viajando de .java a .groovy

Viajando de .java a .groovy

Groovy en profundidad

5

Groovy en profundidad

Closures

Groovy en profundidad

Meta-programación (Meta-Object Protocol MOP)

Groovy en profundidad

GDK versión "tuneada" del JDK

Groovy en profundidad

Transformaciones AST

Groovy en profundidad

DSL (Domain-Specific Language)

Groovy en profundidad

Builders

Groovy en profundidad

Sobrecarga de operadores

Gpars

GStrings

Regex

Ranges

Memorize

Groovy Tools 6

IDE: plugins en Netbeans, eclipse o Spring Source Tool e IntellijIDEA  

Construcción: Gant, Gradle

Frameworks: Grails, Griffon, Gaelyk

Testing: GroUnit, Spock, EasyB, Gmock, CodeNarc

Groovy Tools

Casos de éxito 7

Ayuntamiento de Vitoria: @grailsteiz

Escuela de groovy

Atlassian

EventBis / TicketBis

Linkedin

Sky.com

Casos de éxito

Powered by

Dudas y aclaraciones

http://www.donewtech.com/http://agilemanifesto.org/iso/es/http://manifesto.softwarecraftsmanship.org/http://www.javahispano.org/http://norte.agile-spain.org/http://agile-spain.org/http://www.is-research.de/info/vmlanguages/category/jvm-language/http://www.jcp.org/en/jsr/detail?id=901http://www.jcp.org/en/jsr/detail?id=241http://www.jcp.org/en/jsr/detail?id=274http://www.jcp.org/en/jsr/detail?id=223http://jcp.org/en/jsr/detail?id=292http://www.flickr.com/photos/14358247@N05/3182971707/http://www.slideshare.net/aalmiray/introduccion-a-groovyhttp://www.slideshare.net/linkedin/grails-at-linked?src=embed

Referenciashttp://groovy.codehaus.org/http://www.manning.com/koenig/http://grails.org/http://docs.codehaus.org/display/GROOVY/Griffonhttp://gaelyk.appspot.com/http://gant.codehaus.org/http://codenarc.sourceforge.net/http://code.google.com/p/spock/http://code.google.com/p/gmock/http://www.easyb.org/http://twitter.com/#!/springrod/status/2035497810http://www.sky.com/http://www.eventbis.com/es_ES/index.htmhttp://www.ticketbis.com/http://grails.org/Testimonialshttp://www.grails.org/Success+Stories

¡Gracias!Eskerrik asko!

Thanks! Merci!

Danke!¡Grácies!

!شكرا 謝謝!Grazie!

ευχαριστώ!

Obrigado!ありがとう!