Introducción a Groovy y Grails

Preview:

DESCRIPTION

Presentación de la charla sobre Groovy y Grails en Autentia el Miércoles 15 de Junio de 2011

Citation preview

DESARROLLO DE APLICACIONES WEB

CON

GROOVY Y GRAILS

por Alberto Vilcheshttp://albertovilches.com

Twitter: @albertovilchesMiércoles 15 Junio 20011

SOBRE MI

Pasado• Trabajando en desarrollo desde 1998• Programador en Clipper y Delphi• Programador en Java y J2EE desde 2001• Instructor y consultor de Bea• Administrador de sistemas en AenaPresente• Programador freelance en Grails y Flex• Partner de Escuela de Groovy• Evangelizador Groovy y Grails• Fundador de la conferencia Greach

AGENDA

• Un poco de Groovy

• Un poco de Grails

• Código en vivo entre medias

¿QUÉ ES GROOVY?

2003 - James Strachan’s Bloghttp://radio-weblogs.com/0112098/2003/08/29.html

2007 - Groovy 1.0

2008 - Groovy 1.1 -> 1.5

2009 - Groovy 1.7

2011 - Groovy 1.8

Guillaume LaforgeAndres Almiray (Griffon)Graeme Rocher (Grails)Peter Niederwieser (Spock)Jochen TheodoruHamlet D’Arcy…

RECURSOS

¿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

HELLOWORLD.JAVA

HELLOWORLD.GROOVY

HELLOWORLD.GROOVY

Public por defecto; opcionales

HELLOWORLD.GROOVY

Getters y setters autogeneradosreturn opcional

HELLOWORLD.GROOVY

No hace falta especificar tipoGstrings - println

HELLOWORLD.GROOVY

Scripts

POGOS

SINTAXIS NATIVA COLECCIONES

SINTAXIS NATIVA COLECCIONES

BUCLES

BUCLES

GDK

GDK

XML

¿QUÉ ES GRAILS?

• Groovy sobre Spring• RAD en Java, no framework• CoC -> No XML• MVC (binding, i18n, validation) + persistencia• Servidor (Tomcat) y bbdd (HSQL) embebidos• Debug en caliente, Genera WAR.• Scaffolding• Testing• Extensible: plugins

QUE INCLUYE

Stack completo preconfigurado:

• Testing y build• Junit y Ant

• Vistas• SpringMVC, Sitemesh, GSP, taglib

• Servicios• transacciones, Spring

• Persistencia: GORM• mapeo automático con Hibernate

DEMO

• Crear proyecto• grails create-app Demo• Crear un controlador• grails create-controller HelloWorld• render “hello world!”

• Lanzar servidor• grails run-app

• Modificar en caliente• Empaquetar la aplicación

• grails war

ESTRUCTURA DEL PROYECTO

CONTROLADORES

CONTROLADORES

CONTROLADORES

VISTAS

VISTAS

VISTAS

VISTAS

MODELO -> VISTA

CONTROLADORES

paramssessionrequestresponse…

VISTAS

VISTAS

TAGLIBS

TAGLIBS

TAGLIBS

TAGLIBS

CONFIGURACION

MODELO DE DATOS: GORM

MODELO DE DATOS: GORM

MODELO DE DATOS: GORM

MODELO DE DATOS: GORM

Genero 1 * Película

MODELO DE DATOS: GORM

SERVICIOS

SERVICIOS

SERVICIOS

SERVICIOS

SERVICIOS

SERVICIOS

SERVICIOS

singletonprototyperequestsession

Y MUCHO MÁS

• I18n• Filters• Layouts (Sitemesh)• Testing• Plugins

• Quartz• Xfire• Compass, Searchable• Spring Security, Shiro• Cache• Flex• NoSQL: redis, MongoDb

COMUNIDAD

• Grupo de usuarios de Madrid• http://sites.google.com/site/madridgug

• Grupo de usuarios de Levante• http://groups.google.com/group/grupo-de-usuarios-groov

y-grails-levante

• Lista de Grails en castellano• http://groups.google.com/group/grailsencastellano

EVENTOS NACIONALES

• Spring IO• Anualmente (sobre Febrero)

• Madrid GUG• Quedadas mensuales

• Greach• En Madrid, el 4 de Noviembre de 2011

• (dentro de 5 meses)

• ¡Gratis!• Apúntate en http://greach.es

NOS VEMOS EN

Valladolid, 2 de JulioCurso práctico de 4 horasGrails + Oauth/Twitter + Google/OpenId

Tenerife Lan Party, 21 y 22 de JulioTaller de Grails, 2 horas

O en @albertovilches

¡GRACIAS!

¿Preguntas?¿Dudas?

Recommended