Introducción a Grails                            Graeme Rocher                             SpringSource                   ...
¿Que es Grails?   • MVC sistema web inspirado en:         – Convención en lugar de configuración         – Don’t Repeat Yo...
Why Groovy & Grails?   • Toda la potencia de otros sistemas con plataformas dinámicas.   • Construido con base de tecnolog...
Quien utiliza Grails?                            NOT CONFIDENTIAL -- TELL EVERYONE   4Friday, 30 September 2011
Los Mejores en su clase   •    Spring   •    Hibernate   •    Groovy                     Groovy               Spring   •  ...
Componentes de Grails                                 Grails                                                              ...
Como empezar        Descargar Grails de                     Descargar Groovy de        http://grails.org/Download         ...
Demo - Como Empezar                            NOT CONFIDENTIAL -- TELL EVERYONEFriday, 30 September 2011
Ejemplo de estructura de carpetas                            Web Controllers                            The Domain Model  ...
Grails - Las Características Mas Importantes       GORM - ORM construido en Hibernate       MVC Completo       “Domain Spe...
Fácil ORM con GORM     class Album {                            table - album       String title                          ...
Demo - GORM                            NOT CONFIDENTIAL -- TELL EVERYONEFriday, 30 September 2011
Fácil MVC con Grails       Sistema MVC integral construido en Spring         •   “Command objects”         •   “Data bindi...
Fácil MVC con Grails                                          Actions are properties         class AlbumController {      ...
Demo - Controllers                            NOT CONFIDENTIAL -- TELL EVERYONEFriday, 30 September 2011
Plugins           Plugin                 Plugin                 Plugin                  Plugin                            ...
Que puedes obtener con plugins...                            NOT CONFIDENTIAL -- TELL EVERYONE   17Friday, 30 September 2011
Que puedes obtener con plugins...     • Pruebas con Grails: selenium,       fitnesse, code coverage etc.                  ...
Que puedes obtener con plugins...     • Pruebas con Grails: selenium,       fitnesse, code coverage etc.     • JavaScript ...
Que puedes obtener con plugins...     • Pruebas con Grails: selenium,       fitnesse, code coverage etc.     • JavaScript ...
Que puedes obtener con plugins...     • Pruebas con Grails: selenium,       fitnesse, code coverage etc.     • JavaScript ...
Página de Plugins   • http://grails.org/Plugins                                 NOT CONFIDENTIAL -- TELL EVERYONE   18Frid...
Novedades en Grails 2.0                            NOT CONFIDENTIAL -- TELL EVERYONEFriday, 30 September 2011
Grails 2.0   • Librerías actualizadas: Groovy 1.8, Spring 3.1,     Hibernate 3.6, Servlet 3.0 and Tomcat 7   • Nueva línea...
Grails 2.0   •    GORM Mejoras   •    “Detached Criteria”   •    Soporte de Multiples Bases De Datos   •    Soporte de Mig...
New UI                            NOT CONFIDENTIAL -- TELL EVERYONE   22Friday, 30 September 2011
New Unit Testing    @TestFor(MyController)    @Mock(Person)    class MyControllerUnitTests {        void setUp() {        ...
GORM API                            NOT CONFIDENTIAL -- TELL EVERYONE   24Friday, 30 September 2011
GORM API                            NOT CONFIDENTIAL -- TELL EVERYONE   24Friday, 30 September 2011
Demo - Grails 2.0                            NOT CONFIDENTIAL -- TELL EVERYONEFriday, 30 September 2011
Libros                            NOT CONFIDENTIAL -- TELL EVERYONE   26Friday, 30 September 2011
Mas Información       Grails         • Pagina web: http://grails.org         • Guia de usuario: http://grails.org/doc/late...
Preguntas & Respuestas                            NOT CONFIDENTIAL -- TELL EVERYONEFriday, 30 September 2011
Upcoming SlideShare
Loading in...5
×

Introduction grails-es

1,298

Published on

Introduction to Grails fullstack framework by Grame Rocher

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,298
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
24
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Introduction grails-es

  1. 1. Introducción a Grails Graeme Rocher SpringSource NOT CONFIDENTIAL -- TELL EVERYONEFriday, 30 September 2011
  2. 2. ¿Que es Grails? • MVC sistema web inspirado en: – Convención en lugar de configuración – Don’t Repeat Yourself (Nó te repitas) (DRY) – Contiene características de sistemas como Rails, Django y TurboGears • http://grails.org NOT CONFIDENTIAL -- TELL EVERYONE 2Friday, 30 September 2011
  3. 3. Why Groovy & Grails? • Toda la potencia de otros sistemas con plataformas dinámicas. • Construido con base de tecnologías Java. – Diseñado para Java por Ingenieros de Java. • Beneficiandose de tecnologías y herramientas existentes. – Caches distribuidos, replicando tecnologías etc. – Monitorización y debugging herramientas – Análisis de rendimiento NOT CONFIDENTIAL -- TELL EVERYONE 3Friday, 30 September 2011
  4. 4. Quien utiliza Grails? NOT CONFIDENTIAL -- TELL EVERYONE 4Friday, 30 September 2011
  5. 5. Los Mejores en su clase • Spring • Hibernate • Groovy Groovy Spring • Quartz • Sitemesh • Tomcat Sitemesh • Java Hibernate Java Quartz NOT CONFIDENTIAL -- TELL EVERYONE 5Friday, 30 September 2011
  6. 6. Componentes de Grails Grails Groovy Java Enterprise Spring Hibernate SiteMesh Edition (JEE) The Java Development The Java Language Kit (JDK) The Java Virtual Machine NOT CONFIDENTIAL -- TELL EVERYONE 6Friday, 30 September 2011
  7. 7. Como empezar Descargar Grails de Descargar Groovy de http://grails.org/Download http://groovy.codehaus.org Descomprimir el archivo zip Descomprimir el archivo zip en en una carpeta del disco duro una carpeta del disco duro Configurar la variable de Configurar la variable de enterno GRAILS_HOME enterno GROOVY_HOME haciendo referencia a la haciendo referencia a la carpeta carpeta del punto anterior del punto anterior Añadir a la variable PATH del Añadir a la variable PATH del sistema la carpeta sistema la carpeta $GRAILS_HOME/bin $GROOVY_HOME/bin NOT CONFIDENTIAL -- TELL EVERYONE 7Friday, 30 September 2011
  8. 8. Demo - Como Empezar NOT CONFIDENTIAL -- TELL EVERYONEFriday, 30 September 2011
  9. 9. Ejemplo de estructura de carpetas Web Controllers The Domain Model Business Logic View Helpers in Tags Views & Layouts JAR Archives Additional Sources Web Resources 12 NOT CONFIDENTIAL -- TELL EVERYONE 9Friday, 30 September 2011
  10. 10. Grails - Las Características Mas Importantes GORM - ORM construido en Hibernate MVC Completo “Domain Specific Languages” • Reglas de validación • “ORM Mapping” • “URL Mapping” Comunidad de desarrollo de plugins activa. • http://grails.org/Plugins • Mas 600 plugins desarrallodos por los usuarios. • Existen plugins para integrar otras tecnologías como Flex y SOAP. NOT CONFIDENTIAL -- TELL EVERYONE 10Friday, 30 September 2011
  11. 11. Fácil ORM con GORM class Album { table - album String title id title artist release_date String artist Date releaseDate static hasMany = [songs:Song] } class Song { table - song String title Double duration id title duration album_id } GORM classes, also known as domain classes, go in the domain directory NOT CONFIDENTIAL -- TELL EVERYONE 11Friday, 30 September 2011
  12. 12. Demo - GORM NOT CONFIDENTIAL -- TELL EVERYONEFriday, 30 September 2011
  13. 13. Fácil MVC con Grails Sistema MVC integral construido en Spring • “Command objects” • “Data binding” • “Zero configuration” • “URL Mappings” • “Groovy Server Pages (GSP) “ • “Tag libraries” • “CRUD (Scaffolding)” • Internacionalización (i18n) NOT CONFIDENTIAL -- TELL EVERYONE 13Friday, 30 September 2011
  14. 14. Fácil MVC con Grails Actions are properties class AlbumController { assigned a block or def search = { closure def albums= Album.findByTitleLike("%${params.q}%") [albumResults:albums] } } Return a model as a map Controllers go in the “controllers” directory NOT CONFIDENTIAL -- TELL EVERYONE 14Friday, 30 September 2011
  15. 15. Demo - Controllers NOT CONFIDENTIAL -- TELL EVERYONEFriday, 30 September 2011
  16. 16. Plugins Plugin Plugin Plugin Plugin Register Bean Definitions Read Conventions GrailsApplication ApplicationContext Grails Runtime Environment NOT CONFIDENTIAL -- TELL EVERYONE 16Friday, 30 September 2011
  17. 17. Que puedes obtener con plugins... NOT CONFIDENTIAL -- TELL EVERYONE 17Friday, 30 September 2011
  18. 18. Que puedes obtener con plugins... • Pruebas con Grails: selenium, fitnesse, code coverage etc. NOT CONFIDENTIAL -- TELL EVERYONE 17Friday, 30 September 2011
  19. 19. Que puedes obtener con plugins... • Pruebas con Grails: selenium, fitnesse, code coverage etc. • JavaScript con Grails: Flex, GWT, ZK, jQuery etc. NOT CONFIDENTIAL -- TELL EVERYONE 17Friday, 30 September 2011
  20. 20. Que puedes obtener con plugins... • Pruebas con Grails: selenium, fitnesse, code coverage etc. • JavaScript con Grails: Flex, GWT, ZK, jQuery etc. • Seguridad con Grails: Spring Security, JSecurity, OpenID etc. NOT CONFIDENTIAL -- TELL EVERYONE 17Friday, 30 September 2011
  21. 21. Que puedes obtener con plugins... • Pruebas con Grails: selenium, fitnesse, code coverage etc. • JavaScript con Grails: Flex, GWT, ZK, jQuery etc. • Seguridad con Grails: Spring Security, JSecurity, OpenID etc. • Persistencia: MongoDB, Redis, SimpleDB etc. NOT CONFIDENTIAL -- TELL EVERYONE 17Friday, 30 September 2011
  22. 22. Página de Plugins • http://grails.org/Plugins NOT CONFIDENTIAL -- TELL EVERYONE 18Friday, 30 September 2011
  23. 23. Novedades en Grails 2.0 NOT CONFIDENTIAL -- TELL EVERYONEFriday, 30 September 2011
  24. 24. Grails 2.0 • Librerías actualizadas: Groovy 1.8, Spring 3.1, Hibernate 3.6, Servlet 3.0 and Tomcat 7 • Nueva línea de comandos y Modo Interactivo • Plugins precompilados como archivos JAR • Reloading Agent • HTML5 Scaffolding UI • Nuevos Modelos de Test y Documentación • Dirección de Archivos Estáticos Integrados (CSS, JS, Images) • Mejor Testing. NOT CONFIDENTIAL -- TELL EVERYONE 20Friday, 30 September 2011
  25. 25. Grails 2.0 • GORM Mejoras • “Detached Criteria” • Soporte de Multiples Bases De Datos • Soporte de Migración de Databases • jQuery Por Defecto • http://grails.org/doc/2.0.x/guide/ introduction.html#whatsNew NOT CONFIDENTIAL -- TELL EVERYONE 21Friday, 30 September 2011
  26. 26. New UI NOT CONFIDENTIAL -- TELL EVERYONE 22Friday, 30 September 2011
  27. 27. New Unit Testing @TestFor(MyController) @Mock(Person) class MyControllerUnitTests { void setUp() { new Person(...).save() new Person(...).save() } void testIndex() { def model = this.controller.index() ... } } NOT CONFIDENTIAL -- TELL EVERYONE 23Friday, 30 September 2011
  28. 28. GORM API NOT CONFIDENTIAL -- TELL EVERYONE 24Friday, 30 September 2011
  29. 29. GORM API NOT CONFIDENTIAL -- TELL EVERYONE 24Friday, 30 September 2011
  30. 30. Demo - Grails 2.0 NOT CONFIDENTIAL -- TELL EVERYONEFriday, 30 September 2011
  31. 31. Libros NOT CONFIDENTIAL -- TELL EVERYONE 26Friday, 30 September 2011
  32. 32. Mas Información Grails • Pagina web: http://grails.org • Guia de usuario: http://grails.org/doc/latest Groovy • http://groovy.codehaus.org SpringSource • http://www.springsource.com NOT CONFIDENTIAL -- TELL EVERYONE 27Friday, 30 September 2011
  33. 33. Preguntas & Respuestas NOT CONFIDENTIAL -- TELL EVERYONEFriday, 30 September 2011
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×