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
99
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
38
Resilient Architecture Simplified - Isabel Palomar - @javaMexico
benek
0
68
Groovy Talk 2013 - javaMexico.org
benek
3
160
Charla sobre Testing
benek
1
120
Other Decks in Programming
See All in Programming
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
160
170k Jobs a Day on GKE: Scaling Mercari's CI Platform - and What's Next for AI-Native Development
junyaokabe
0
110
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.8k
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
「人を評価する AI」の設計と実装
ryoyanara
0
200
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
380
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
110
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
220
リアルな遅延を測る仕様
kota_yata
1
100
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
230
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
710
AIが無かった頃の素敵な出会いの話
codmoninc
1
430
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Agile that works and the tools we love
rasmusluckow
331
22k
Become a Pro
speakerdeck
PRO
31
6.2k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
480
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Everyday Curiosity
cassininazir
0
280
Accessibility Awareness
sabderemane
1
180
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Speed Design
sergeychernyshev
33
2k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
630
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