Grails en Expo FISI 2011

1,056 views

Published on

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

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,056
On SlideShare
0
From Embeds
0
Number of Embeds
130
Actions
Shares
0
Downloads
25
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Grails en Expo FISI 2011

  1. 1. Grails Expo FISI 2011
  2. 2. Contenido <ul><li>Introducción. </li></ul><ul><li>Groovy </li></ul>
  3. 3. Introducción <ul><li>Java un lenguaje de mucho poder con librerías casi para todos los requerimientos. </li></ul><ul><li>Cuenta con tecnologías estándar como JSF y EJB que buscan simplificar el desarrollo de aplicaciones Web </li></ul><ul><li>Distintos Frameworks web alternativos como Wickets, Struts 2, Spring MVC, Stripes </li></ul><ul><li>Servidores de aplicaciones robustos y variados </li></ul>
  4. 4. Yo soy tu padre Java ?????
  5. 5. Java ahora tiene nuevos competidores
  6. 6. Los amigos de Java
  7. 7. 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.
  8. 8. 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
  9. 9. Groovy
  10. 10. Groovy <ul><li>Es un lenguaje dinámico para la JVM </li></ul><ul><li>Mejor Integración con Java </li></ul><ul><li>Hay una mayor facilidad de aprendizaje para los programadores Java </li></ul><ul><li>Groovy ya está incluido en el instalador de Grails </li></ul><ul><li>Más productivo en procesamiento XML, acceso a base de datos, manipulación de archivos, etc. </li></ul><ul><li>Muchos libros disponibles al respecto </li></ul>Con Groovy serás mas productivo y derrotaras a “Darth Vader”
  11. 11. Flexibilidad con Groovy <ul><li>Si bien hay similitudes con java . </li></ul><ul><li>Los “ ; ” , “ () ” y return son opcionales </li></ul><ul><li>Getters y Setters dados en tiempo de compilación </li></ul>
  12. 12. Flexibilidad con Groovy <ul><li>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. </li></ul>
  13. 13. Flexibilidad con Groovy <ul><li>Los tipos son opcionales. En lugar de definir un tipo explicito, usamos def para designar que la variable será tipificada dinamicamente. </li></ul><ul><li>“ == “ es lo mismo que </li></ul><ul><li>“ equals() ”. </li></ul><ul><li>Groovy añade métodos a la </li></ul><ul><li>clase String . </li></ul>
  14. 14. Groovy Strings <ul><li>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. </li></ul><ul><li>GString puede ser usado en lugar de String . El cast se hace en tiempo de ejecución. </li></ul><ul><li>La belleza de GString es la habilidad para evaluar expresiones Groovy </li></ul>
  15. 15. Sin Groovy Con Groovy ¿Hulk Sonriendo?
  16. 16. Groovy Closures <ul><li>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. </li></ul><ul><li>Un Closure se declara colocando código entre {} . Los parametros van antes del -> (dash-rocket), así </li></ul>
  17. 17. Groovy Closures <ul><li>Si ningún parámetro es declarado, hay uno implícitamente proveído: se llama it </li></ul><ul><li>Más información de Closures </li></ul><ul><li>libro “Programming </li></ul><ul><li>Groovy” </li></ul>
  18. 18. Groovy Collections <ul><li>Groovy aporta muchas mejoras a las clases collection de Java . </li></ul><ul><li>Las más usadas en Grails son List , Map y Set . </li></ul><ul><li>List </li></ul>
  19. 19. Groovy Collections <ul><li>Métodos útiles en List </li></ul><ul><li>Se imprime en la salida </li></ul>¡Collections con esteroides!
  20. 20. Groovy Collections <ul><li>min() y max() </li></ul><ul><li>sort() </li></ul><ul><li><< </li></ul>
  21. 21. Groovy Collections <ul><li>Map </li></ul>Ó: salida:
  22. 22. Groovy Collections <ul><li>Set </li></ul>
  23. 23. Demo TekDays <ul><li>Crear una aplicación web para organizar eventos con las siguientes características: </li></ul><ul><ul><li>Crear nuevos eventos </li></ul></ul><ul><ul><li>Mostrar detalles del evento </li></ul></ul><ul><ul><li>Editar Detalles del Evento </li></ul></ul><ul><ul><li>Crear usuarios / organizadores </li></ul></ul><ul><ul><li>Permitir voluntarios </li></ul></ul><ul><ul><li>Añadir usuarios a eventos </li></ul></ul>
  24. 24. Demo TekDays <ul><ul><li>Permitir a usuarios anonimos registrar interes </li></ul></ul><ul><ul><li>Crear sponsors </li></ul></ul><ul><ul><li>Añadir sponsors a eventos </li></ul></ul><ul><ul><li>Tener una lista de tareas </li></ul></ul><ul><ul><li>Añadir/remover tareas </li></ul></ul><ul><ul><li>Asignar tareas a usuarios </li></ul></ul><ul><ul><li>Postear mensajes a un forum </li></ul></ul><ul><ul><li>Responder un mensaje en el forum </li></ul></ul>
  25. 25. Demo TekDays <ul><ul><li>Mostrar threads en el foro </li></ul></ul><ul><ul><li>Personalizar la pagina de eventos </li></ul></ul><ul><ul><li>Permitir acceso a la pagina de eventos con un simple URL </li></ul></ul>
  26. 26. Iteración CERO
  27. 27. GRAILS_HOME
  28. 28. Grails Help
  29. 29. Creación de TekDays <ul><li>$ grails create-app TekDays </li></ul><ul><li>$ cd TekDays </li></ul><ul><li>$ grails run-app </li></ul>
  30. 31. Estructura de Proyecto
  31. 32. Creando clase de Dominio <ul><li>$ grails create-domain-class TekEvent </li></ul><ul><li>Ver Código y test unitario: </li></ul><ul><li>$ grails test-app -unit </li></ul>
  32. 33. Creando Controller <ul><li>$ grails create-controller TekEvent </li></ul>
  33. 34. Creando TekEvent
  34. 35. Estableciendo Constraints
  35. 36. Creando Data de Prueba <ul><li>En TekDays/grails-app/conf/BootStrap.groovy </li></ul>
  36. 39. Relationships <ul><li>$ grails create-domain-class TekUser </li></ul>
  37. 40. TekUserController <ul><li>$ grails create-controller TekUser </li></ul>En BootStrap.groovy:
  38. 41. Relación one-to-one <ul><li>En TekEvent </li></ul>
  39. 42. BootStrap
  40. 43. Modificamos nuestros Test
  41. 44. One-to-Many <ul><li>Modificamos TekEvent </li></ul>BootStrap:
  42. 46. Collecciones de tipos simple de datos <ul><li>Modificamos TekEvent otra vez: </li></ul>BootStrap:
  43. 48. ¿Qué sigue? 0 días sin usar Groovy & Grails Más, más, más….
  44. 49. Contacto Av. Canaval Moreyra 380 Lima – Perú (511) 987500273 (511)4116200 anexo 2637 www.joedayz.com

×