groovy para programadores java

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

Upload: alberto-vilches

Post on 11-Jun-2015

4.858 views

Category:

Technology


0 download

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

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!