Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Groovy & Grails 2012
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Javier Ramírez Jr
November 23, 2012
Programming
98
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Groovy & Grails 2012
Slides de la conferencia impartida en los Congresos del ITLC e ITQ 2011-2012.
Javier Ramírez Jr
November 23, 2012
More Decks by Javier Ramírez Jr
See All by Javier Ramírez Jr
El Futuro de Java, Cloud y AI
benek
0
37
Resilient Architecture Simplified - Isabel Palomar - @javaMexico
benek
0
66
Groovy Talk 2013 - javaMexico.org
benek
3
160
Charla sobre Testing
benek
1
120
Other Decks in Programming
See All in Programming
CSC307 Lecture 17
javiergs
PRO
0
320
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
200
さぁV100、メモリをお食べ・・・
nilpe
0
140
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
550
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.2k
ふつうのFeature Flag実践入門
irof
7
3.9k
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
260
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
170
OSもどきOS
arkw
0
560
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
340
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
510
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
320
How to train your dragon (web standard)
notwaldorf
97
6.7k
The Invisible Side of Design
smashingmag
302
52k
Abbi's Birthday
coloredviolet
2
8.1k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Music & Morning Musume
bryan
47
7.2k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
360
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
How to Ace a Technical Interview
jacobian
281
24k
Odyssey Design
rkendrick25
PRO
2
700
Transcript
None
Grails Desarrollo ágil de aplicaciones web
None
Javier Ramírez (AKA Benek)
Founder javaMexico.org Javier Ramírez (AKA Benek)
Founder javaMexico.org Javier Ramírez Software Developer (AKA Benek)
Founder javaMexico.org Dir. de TI en Sintel TI Javier Ramírez
Software Developer (AKA Benek)
Founder javaMexico.org Dir. de TI en Sintel TI @_benek Javier
Ramírez Software Developer (AKA Benek)
www.javamexico.org
De qué va...
De qué va... • Java
De qué va... • Java • Groovy
De qué va... • Java • Groovy • Grails
“¿por qué debería interesarme?”
“¿por qué debería interesarme?”
•innovador = interesante “¿por qué debería interesarme?”
•innovador = interesante •esto no lo verán en clase “¿por
qué debería interesarme?”
¿Groovy?
¿Groovy?
¿Groovy?
lenguaje de programación para la JVM
¿En Java se pueden utilizar más lenguajes?
¿En Java se pueden utilizar más lenguajes? Sí.
¿cómo funciona?
¿cómo funciona? código en lenguaje x
¿cómo funciona? código en lenguaje x compilador o intérprete
¿cómo funciona? código en lenguaje x compilador o intérprete bytecode
¿cómo funciona? código en lenguaje x compilador o intérprete bytecode
máquina virtual (JVM)
... y cientos +
= ¿?
= Java
= Súper Java
= Java + Esteroides
Orientado a Objetos Dinámico Compacto Inspirado en Ruby, Python, Perl,
Smalltalk, Java Características
“Hola Mundo”
“Hola Mundo Cruel”
Java
Groovy
¿?
En Groovy, tu conocimiento de Java importa.
Groovy
Groovy
Groovy
Groovy
Groovy
Groovy El punto y coma es opcional
Groovy
¿Qué más podemos hacer con Groovy? ...
Evitar concatenación “Hola “ + nombre;
Evitar concatenación “Hola “ + nombre;
Evitar concatenación “Hola “ + nombre; “Hola $nombre”
“return” no es necesario Si la última línea es una
expresión, Groovy devuelve el valor por nosotros
evitar paréntesis en métodos println “Hola Mundo!”
Usando “def” no es necesario definir tipos de dato Tipos
dinámicos
Entonces...
Groovy también funciona como lenguaje para scripting ->
Así que...
Así que...
Java
Groovy
Groovy
•Closures •Meta-programación •AST Transformations Características avanzadas
Meta-programación en 60 segundos...
¡Grails!
Groovy on Rails
Groovy on Rails
Groovy on Rails Grails ->
Framework p/ construir aplicaciones web con Groovy
Alta productividad
¿Por qué la velocidad es importante?
¿Por qué la velocidad es importante?
Convention over Configuration
Convention over Configuration
Configuraciones comunes para la mayoría de los escenarios Convention over
Configuration
Funciona sobre los hombros de gigantes
Provee un entorno completo, preparado y listo para desarrollar Grails
1. JDK 5 o superior 2. Descargar: grails.org 3. GRAILS_HOME
Requerimientos
Por cuestiones de tiempo, no podremos crear un ejemplo ahora
mismo
Por cuestiones de tiempo, no podremos crear un ejemplo ahora
mismo
Por cuestiones de tiempo, no podremos crear un ejemplo ahora
mismo Dijimos que era rápido
Grails ya nos provee un entorno configurado Bootstrap i18n Unit
test DataSources ORM Logging Dependencias Ambientes Controllers Services Plugins
Grails ya nos provee un entorno configurado Bootstrap i18n Unit
test DataSources ORM Logging Dependencias Ambientes Controllers Services Plugins
Grails ya nos provee un entorno configurado Bootstrap i18n Unit
test DataSources ORM Logging Dependencias Ambientes Controllers Services Plugins Enterprise Stuff
Caso práctico Usando: Grails 2.1.1
scaffolding live class reloading H2 comandos
más info... grails.org/ Documentation
en español... grails.org.mx javamexico.org
¡Gracias!
Javier Ramírez Jr www.javamexico.org www.sintelti.com.mx Twitter: @_beneK