Groovy para programadores Java
-
Upload
alberto-vilches -
Category
Technology
-
view
4.857 -
download
0
description
Transcript of Groovy para programadores Java
GROOVY PARA PROGRAMADORES JAVA
por Alberto Vilches http://albertovilches.com
Twitter: @albertovilches
SOBRE MI
Alberto Vilches
• Programador freelance en Grails y Flex
• Evangelizador Groovy y Grails
• http://albertovilches.com
• Twitter: @albertovilches
AGENDA
• Antes de empezar • Qué es Groovy • Groovy Console • Testing con Groovy • Compilandor • Config Slurper • Algunas cosas más
ANTES DE EMPEZAR
GROOVY != GRAILS
¿QUÉ DIFERENCIA HAY?
Groovy -> Lenguaje
Grails -> Plataforma desarrollo Web
¿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 +
ANTES DE EMPEZAR
ANTES DE EMPEZAR
JPA
Java app
ANTES DE EMPEZAR
¡No necesito Grails para usar Groovy
desde mi aplicación Java!
¿QUÉ ES GROOVY?
• Groovy es Java • Dinámico • Inspirado en Ruby, Python y Smalltalk • OOP puro • Closures, Gstrings, Builders, DSL
¿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
Groovy Console
GROOVY CONSOLE
http://groovyconsole.appspot.com
groovyConsole App
Testing
TESTING CON GROOVY
• Power Asserts
• GroovyTestCase
• Mocking • Closure as OnlyOneMethodInterface • Map as Interface • Expando • MOP • mockFor / stubFor
GROOVY POWER ASSERTS
GROOVY POWER ASSERTS
GROOVY POWER ASSERTS
GROOVY TEST CASE
• Añade nuevos assert*
• Y algunos métodos como shouldFail o notImplementedYet
• Nombres de métodos largos
GROOVY TEST CASE
• Añade nuevos assert*
• Y algunos métodos como shouldFail o notImplementedYet
• Nombres de métodos largos
MOCKING CON GROOVY
Closure as OnlyMethodInterface
MOCKING CON GROOVY
Map as Interface
MOCKING CON GROOVY
MOP: Meta Object Protocol
MOCKING CON GROOVY
Expando
MOCKING CON GROOVY
a
MOCKING CON GROOVY
a
MOCKING CON GROOVY
a
TESTING
¿Qué necesito para usar todo esto?
• groovy-1.8.jar en tu CLASSPATH
• Tus tests deben ser clases Groovy
• Heredar de GroovyTestCase (opcional)
TESTING: SPOCK
• http://code.google.com/p/spock/
Compilador
COMPILADOR
Leer
Compilar
Cargar
COMPILADOR
COMPILADOR: LEER
COMPILADOR: COMPILAR
COMPILADOR: CARGAR
COMPILADOR: CARGAR
COMPILADOR GROOVY
• GroovyShell
• Script
• Eval.me()
COMPILADOR: LEER
COMPILADOR: LEER
COMPILADOR: LEER
COMPILADOR
¡Leer + compilar + cargar + ejecutar!
COMPILADOR
¡Leer + compilar + cargar + ejecutar!
COMPILADOR
¡Leer + compilar + cargar + ejecutar!
baseImponible IRPF IVA codigo
String
ENTRADA
SALIDA
COMPILADOR
¡Leer + compilar + cargar + ejecutar!
baseImponible IRPF IVA codigo
String
ENTRADA
SALIDA
COMPILADOR
¡Leer + compilar + cargar + ejecutar!
baseImponible IRPF IVA codigo
String
ENTRADA
SALIDA
Config Slurper
CONFIG SLURPER
• Alternativa a los ficheros Properties
• No texto plano -> ¡código groovy! • Valores nativos, no solo Strings • Anidado opcional
CONFIG SLURPER
CONFIG SLURPER
CONFIG SLURPER
CONFIG SLURPER
CONFIG SLURPER
CONFIG SLURPER
Y muchas cosas más…
SCRIPTS + SQL
• a
SCRIPTS + SQL
• a
DSLS Y BUILDERS
• a
¡GRACIAS!
¡¡¡¡NO!!!! ¿TE HA PARECIDO POCO?
GREACH = EVENTO DEDICADO A GROOVY
• 10€ (incluye comida)
• 10€ (incluye comida) • En Madrid, 4 de Nov. de 2011
• 10€ (incluye comida) • En Madrid, 4 de Nov. de 2011 • Apúntate en http://greach.es
¡GRACIAS!
¡Hasta la próxima!