Grails en Expo FISI 2011

49
Grails Expo FISI 2011

description

Presentación sobre Grails en Expo FISI 2011, UNMSM, Lima-Perú

Transcript of Grails en Expo FISI 2011

Page 1: Grails en Expo FISI 2011

Grails

Expo FISI 2011

Page 2: Grails en Expo FISI 2011

Contenido• Introducción.• Groovy

Page 3: Grails en Expo FISI 2011

Introducción•Java un lenguaje de mucho poder con librerías casi para todos los requerimientos.•Cuenta con tecnologías estándar como JSF y EJB que buscan simplificar el desarrollo de aplicaciones Web•Distintos Frameworks web alternativos como Wickets, Struts 2, Spring MVC, Stripes•Servidores de aplicaciones robustos y variados

Page 4: Grails en Expo FISI 2011

Yo soy tu padre

Java?????

Page 5: Grails en Expo FISI 2011

Java ahora tiene nuevos competidores

Page 6: Grails en Expo FISI 2011

Los amigos de Java

Page 7: Grails en Expo FISI 2011

Con tanto poder el nivel de complejidad también crece.

Demasiada configuración de XML

¿Necesitamos otro Framework?

Clases e Interfaces que extender o implementar.

Page 8: Grails en Expo FISI 2011

Grails

Grails es construido sobre gigantes: Spring, Hibernate, SiteMesh, HSQLDB, Jetty, etc.

Haremos grandes cosas.

Convención sobre configuración.

Usa el lenguaje dinámico Groovy.

Grails

Page 9: Grails en Expo FISI 2011

Groovy

Page 10: Grails en Expo FISI 2011

Groovy • Es un lenguaje dinámico para la

JVM• Mejor Integración con Java• Hay una mayor facilidad de

aprendizaje para los programadores Java

• Groovy ya está incluido en el instalador de Grails

• Más productivo en procesamiento XML, acceso a base de datos, manipulación de archivos, etc.

• Muchos libros disponibles al respecto Con Groovy serás mas productivo y

derrotaras a “Darth Vader”

Page 11: Grails en Expo FISI 2011

Flexibilidad con Groovy• Si bien hay similitudes con java.• Los “;” , “()” y return son opcionales

• Getters y Setters dados en tiempo de compilación

Page 12: Grails en Expo FISI 2011

Flexibilidad con Groovy• Automáticamente las clases en Groovy

tienen un constructor named-args. Un map que el constructor toma y llama a cada setter por cada key que corresponde a una propiedad.

Page 13: Grails en Expo FISI 2011

Flexibilidad con Groovy• Los tipos son opcionales. En lugar de

definir un tipo explicito, usamos def para designar que la variable será tipificada dinamicamente.

• “==“ es lo mismo que “equals()”.

• Groovy añade métodos a la clase String.

Page 14: Grails en Expo FISI 2011

Groovy Strings

• Groovy añade un nuevo String conocido como GString. Un GString se crea declarando un literal con doble “”; un String literal con simple ‘’ es un java.lang.String.

• GString puede ser usado en lugar de String. El cast se hace en tiempo de ejecución.

• La belleza de GString es la habilidad para evaluar expresiones Groovy

Page 15: Grails en Expo FISI 2011

Sin Groovy Con Groovy

¿Hulk Sonriendo?

Page 16: Grails en Expo FISI 2011

Groovy Closures

• Un Groovy Closure en pocas palabras, es un bloque de código que puede ser asignado a una variable, a un método, y ser ejecutado.

• Un Closure se declara colocando código entre {}. Los parametros van antes del -> (dash-rocket), así

Page 17: Grails en Expo FISI 2011

Groovy Closures

• Si ningún parámetro es declarado, hay uno implícitamente proveído: se llama it

• Más información de Closures libro “Programming Groovy”

Page 18: Grails en Expo FISI 2011

Groovy Collections

• Groovy aporta muchas mejoras a las clases collection de Java.

• Las más usadas en Grails son List, Map y Set.• List

Page 19: Grails en Expo FISI 2011

Groovy Collections

• Métodos útiles en List

• Se imprime en la salida

¡Collections con esteroides!

Page 20: Grails en Expo FISI 2011

Groovy Collections

• min() y max()

• sort()

• <<

Page 21: Grails en Expo FISI 2011

Groovy Collections

• Map

Ó:

salida:

Page 22: Grails en Expo FISI 2011

Groovy Collections

• Set

Page 23: Grails en Expo FISI 2011

Demo TekDays

• Crear una aplicación web para organizar eventos con las siguientes características:– Crear nuevos eventos– Mostrar detalles del evento– Editar Detalles del Evento– Crear usuarios / organizadores– Permitir voluntarios– Añadir usuarios a eventos

Page 24: Grails en Expo FISI 2011

Demo TekDays

– Permitir a usuarios anonimos registrar interes– Crear sponsors– Añadir sponsors a eventos– Tener una lista de tareas– Añadir/remover tareas– Asignar tareas a usuarios– Postear mensajes a un forum– Responder un mensaje en el forum

Page 25: Grails en Expo FISI 2011

Demo TekDays

– Mostrar threads en el foro– Personalizar la pagina de eventos– Permitir acceso a la pagina de eventos con un

simple URL

Page 26: Grails en Expo FISI 2011

Iteración CERO

Page 27: Grails en Expo FISI 2011

GRAILS_HOME

Page 28: Grails en Expo FISI 2011

Grails Help

Page 29: Grails en Expo FISI 2011

Creación de TekDays

• $ grails create-app TekDays• $ cd TekDays• $ grails run-app

Page 30: Grails en Expo FISI 2011
Page 31: Grails en Expo FISI 2011

Estructura de Proyecto

Page 32: Grails en Expo FISI 2011

Creando clase de Dominio

• $ grails create-domain-class TekEvent• Ver Código y test unitario:

• $ grails test-app -unit

Page 33: Grails en Expo FISI 2011

Creando Controller

• $ grails create-controller TekEvent

Page 34: Grails en Expo FISI 2011

Creando TekEvent

Page 35: Grails en Expo FISI 2011

Estableciendo Constraints

Page 36: Grails en Expo FISI 2011

Creando Data de Prueba

• En TekDays/grails-app/conf/BootStrap.groovy

Page 37: Grails en Expo FISI 2011
Page 38: Grails en Expo FISI 2011
Page 39: Grails en Expo FISI 2011

Relationships

• $ grails create-domain-class TekUser

Page 40: Grails en Expo FISI 2011

TekUserController

• $ grails create-controller TekUser

En BootStrap.groovy:

Page 41: Grails en Expo FISI 2011

Relación one-to-one

• En TekEvent

Page 42: Grails en Expo FISI 2011

BootStrap

Page 43: Grails en Expo FISI 2011

Modificamos nuestros Test

Page 44: Grails en Expo FISI 2011

One-to-Many

• Modificamos TekEvent

BootStrap:

Page 45: Grails en Expo FISI 2011
Page 46: Grails en Expo FISI 2011

Collecciones de tipos simple de datos

• Modificamos TekEvent otra vez:

BootStrap:

Page 47: Grails en Expo FISI 2011
Page 48: Grails en Expo FISI 2011

¿Qué sigue?

0 días sin usar Groovy & Grails

Más, más, más….

Page 49: Grails en Expo FISI 2011

Contacto

Av. Canaval Moreyra 380Lima – Perú

(511) 987500273(511)4116200 anexo 2637

www.joedayz.com