Groovy para programadores Java

63
GROOVY PARA PROGRAMADORES JAVA por Alberto Vilches http://albertovilches.com Twitter: @albertovilches

description

Groovy para Programadores JavaCharla de 45 minutos para Madrid JUG en la Universidad Complutense de Informática de Madrid, el 29 de Septiembre de 2011

Transcript of Groovy para programadores Java

Page 1: Groovy para programadores Java

GROOVY PARA PROGRAMADORES JAVA

por Alberto Vilches http://albertovilches.com

Twitter: @albertovilches

Page 2: Groovy para programadores Java

SOBRE MI

Alberto Vilches

•  Programador freelance en Grails y Flex

•  Evangelizador Groovy y Grails

•  http://albertovilches.com

•  Twitter: @albertovilches

Page 3: Groovy para programadores Java

AGENDA

•  Antes de empezar •  Qué es Groovy •  Groovy Console •  Testing con Groovy •  Compilandor •  Config Slurper •  Algunas cosas más

Page 4: Groovy para programadores Java

ANTES DE EMPEZAR

GROOVY != GRAILS

Page 5: Groovy para programadores Java

¿QUÉ DIFERENCIA HAY?

Groovy -> Lenguaje

Grails -> Plataforma desarrollo Web

Page 6: Groovy para programadores Java

¿QUÉ DIFERENCIA HAY?

Groovy -> Lenguaje Compilador y GDK

•  groovy-1.8.jar

Grails -> Plataforma desarrollo Web

Groovy + Spring + Hibernate + Sitemesh + DBCP + Apache commons + Log4J + Junit + Ant +

Page 7: Groovy para programadores Java

ANTES DE EMPEZAR

Page 8: Groovy para programadores Java

ANTES DE EMPEZAR

JPA

Java app

Page 9: Groovy para programadores Java

ANTES DE EMPEZAR

¡No necesito Grails para usar Groovy

desde mi aplicación Java!

Page 10: Groovy para programadores Java

¿QUÉ ES GROOVY?

•  Groovy es Java •  Dinámico •  Inspirado en Ruby, Python y Smalltalk •  OOP puro •  Closures, Gstrings, Builders, DSL

Page 11: Groovy para programadores Java

¿QUÉ ES GROOVY?

•  Groovy es Java. •  Dinámico •  Inspirado en Ruby, Python y Smalltalk •  OOP puro •  Closures, Gstrings, Builders, DSL •  No compile type-checking •  Ligeramente más lento que Java

Page 12: Groovy para programadores Java

Groovy Console

Page 13: Groovy para programadores Java

GROOVY CONSOLE

http://groovyconsole.appspot.com

groovyConsole App

Page 14: Groovy para programadores Java

Testing

Page 15: Groovy para programadores Java

TESTING CON GROOVY

•  Power Asserts

•  GroovyTestCase

•  Mocking •  Closure as OnlyOneMethodInterface •  Map as Interface •  Expando •  MOP •  mockFor / stubFor

Page 16: Groovy para programadores Java

GROOVY POWER ASSERTS

Page 17: Groovy para programadores Java

GROOVY POWER ASSERTS

Page 18: Groovy para programadores Java

GROOVY POWER ASSERTS

Page 19: Groovy para programadores Java

GROOVY TEST CASE

•  Añade nuevos assert*

•  Y algunos métodos como shouldFail o notImplementedYet

•  Nombres de métodos largos

Page 20: Groovy para programadores Java

GROOVY TEST CASE

•  Añade nuevos assert*

•  Y algunos métodos como shouldFail o notImplementedYet

•  Nombres de métodos largos

Page 21: Groovy para programadores Java

MOCKING CON GROOVY

Closure as OnlyMethodInterface

Page 22: Groovy para programadores Java

MOCKING CON GROOVY

Map as Interface

Page 23: Groovy para programadores Java

MOCKING CON GROOVY

MOP: Meta Object Protocol

Page 24: Groovy para programadores Java

MOCKING CON GROOVY

Expando

Page 25: Groovy para programadores Java

MOCKING CON GROOVY

a

Page 26: Groovy para programadores Java

MOCKING CON GROOVY

a

Page 27: Groovy para programadores Java

MOCKING CON GROOVY

a

Page 28: Groovy para programadores Java

TESTING

¿Qué necesito para usar todo esto?

•  groovy-1.8.jar en tu CLASSPATH

•  Tus tests deben ser clases Groovy

•  Heredar de GroovyTestCase (opcional)

Page 29: Groovy para programadores Java

TESTING: SPOCK

•  http://code.google.com/p/spock/

Page 30: Groovy para programadores Java

Compilador

Page 31: Groovy para programadores Java

COMPILADOR

Leer

Compilar

Cargar

Page 32: Groovy para programadores Java

COMPILADOR

Page 33: Groovy para programadores Java

COMPILADOR: LEER

Page 34: Groovy para programadores Java

COMPILADOR: COMPILAR

Page 35: Groovy para programadores Java

COMPILADOR: CARGAR

Page 36: Groovy para programadores Java

COMPILADOR: CARGAR

Page 37: Groovy para programadores Java

COMPILADOR GROOVY

•  GroovyShell

•  Script

•  Eval.me()

Page 38: Groovy para programadores Java

COMPILADOR: LEER

Page 39: Groovy para programadores Java

COMPILADOR: LEER

Page 40: Groovy para programadores Java

COMPILADOR: LEER

Page 41: Groovy para programadores Java

COMPILADOR

¡Leer + compilar + cargar + ejecutar!

Page 42: Groovy para programadores Java

COMPILADOR

¡Leer + compilar + cargar + ejecutar!

Page 43: Groovy para programadores Java

COMPILADOR

¡Leer + compilar + cargar + ejecutar!

baseImponible IRPF IVA codigo

String

ENTRADA

SALIDA

Page 44: Groovy para programadores Java

COMPILADOR

¡Leer + compilar + cargar + ejecutar!

baseImponible IRPF IVA codigo

String

ENTRADA

SALIDA

Page 45: Groovy para programadores Java

COMPILADOR

¡Leer + compilar + cargar + ejecutar!

baseImponible IRPF IVA codigo

String

ENTRADA

SALIDA

Page 46: Groovy para programadores Java

Config Slurper

Page 47: Groovy para programadores Java

CONFIG SLURPER

•  Alternativa a los ficheros Properties

•  No texto plano -> ¡código groovy! •  Valores nativos, no solo Strings •  Anidado opcional

Page 48: Groovy para programadores Java

CONFIG SLURPER

Page 49: Groovy para programadores Java

CONFIG SLURPER

Page 50: Groovy para programadores Java

CONFIG SLURPER

Page 51: Groovy para programadores Java

CONFIG SLURPER

Page 52: Groovy para programadores Java

CONFIG SLURPER

Page 53: Groovy para programadores Java

CONFIG SLURPER

Page 54: Groovy para programadores Java

Y muchas cosas más…

Page 55: Groovy para programadores Java

SCRIPTS + SQL

•  a

Page 56: Groovy para programadores Java

SCRIPTS + SQL

•  a

Page 57: Groovy para programadores Java

DSLS Y BUILDERS

•  a

Page 58: Groovy para programadores Java

¡GRACIAS!

¡¡¡¡NO!!!! ¿TE HA PARECIDO POCO?

Page 59: Groovy para programadores Java

GREACH = EVENTO DEDICADO A GROOVY

Page 60: Groovy para programadores Java

• 10€ (incluye comida)

Page 61: Groovy para programadores Java

• 10€ (incluye comida) • En Madrid, 4 de Nov. de 2011

Page 62: Groovy para programadores Java

• 10€ (incluye comida) • En Madrid, 4 de Nov. de 2011 • Apúntate en http://greach.es

Page 63: Groovy para programadores Java

¡GRACIAS!

¡Hasta la próxima!