SlideShare a Scribd company logo
1 of 33
Download to read offline
Introducción a Grails


                            Graeme Rocher
                             SpringSource




                               NOT CONFIDENTIAL -- TELL EVERYONE


Friday, 30 September 2011
¿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   2


Friday, 30 September 2011
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   3


Friday, 30 September 2011
Quien utiliza Grails?




                            NOT CONFIDENTIAL -- TELL EVERYONE   4


Friday, 30 September 2011
Los Mejores en su clase

   •    Spring
   •    Hibernate
   •    Groovy                     Groovy               Spring
   •    Quartz
   •    Sitemesh
   •    Tomcat              Sitemesh
   •    Java                                                       Hibernate


                                      Java
                                                       Quartz




                               NOT CONFIDENTIAL -- TELL EVERYONE               5


Friday, 30 September 2011
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            6


Friday, 30 September 2011
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      7


Friday, 30 September 2011
Demo - Como Empezar




                            NOT CONFIDENTIAL -- TELL EVERYONE


Friday, 30 September 2011
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        9


Friday, 30 September 2011
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   10


Friday, 30 September 2011
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               11


Friday, 30 September 2011
Demo - GORM




                            NOT CONFIDENTIAL -- TELL EVERYONE


Friday, 30 September 2011
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   13


Friday, 30 September 2011
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   14


Friday, 30 September 2011
Demo - Controllers




                            NOT CONFIDENTIAL -- TELL EVERYONE


Friday, 30 September 2011
Plugins



           Plugin                 Plugin                 Plugin                  Plugin




                                                                       Register Bean Definitions
     Read Conventions



                    GrailsApplication                          ApplicationContext


                                  Grails Runtime Environment



                                             NOT CONFIDENTIAL -- TELL EVERYONE              16


Friday, 30 September 2011
Que puedes obtener con plugins...




                            NOT CONFIDENTIAL -- TELL EVERYONE   17


Friday, 30 September 2011
Que puedes obtener con plugins...


     • Pruebas con Grails: selenium,
       fitnesse, code coverage etc.




                             NOT CONFIDENTIAL -- TELL EVERYONE   17


Friday, 30 September 2011
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   17


Friday, 30 September 2011
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   17


Friday, 30 September 2011
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   17


Friday, 30 September 2011
Página de Plugins

   • http://grails.org/Plugins




                                 NOT CONFIDENTIAL -- TELL EVERYONE   18


Friday, 30 September 2011
Novedades en Grails 2.0




                            NOT CONFIDENTIAL -- TELL EVERYONE


Friday, 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 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   20


Friday, 30 September 2011
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   21


Friday, 30 September 2011
New UI




                            NOT CONFIDENTIAL -- TELL EVERYONE   22


Friday, 30 September 2011
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   23


Friday, 30 September 2011
GORM API




                            NOT CONFIDENTIAL -- TELL EVERYONE   24


Friday, 30 September 2011
GORM API




                            NOT CONFIDENTIAL -- TELL EVERYONE   24


Friday, 30 September 2011
Demo - Grails 2.0




                            NOT CONFIDENTIAL -- TELL EVERYONE


Friday, 30 September 2011
Libros




                            NOT CONFIDENTIAL -- TELL EVERYONE   26


Friday, 30 September 2011
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   27


Friday, 30 September 2011
Preguntas & Respuestas




                            NOT CONFIDENTIAL -- TELL EVERYONE


Friday, 30 September 2011

More Related Content

Similar to Introduction grails-es

Jobsket Spring 2GX Madrid
Jobsket Spring 2GX MadridJobsket Spring 2GX Madrid
Jobsket Spring 2GX MadridJobsket
 
Java 9, 10, 11 ,12, 13 and more
Java 9, 10, 11 ,12, 13 and moreJava 9, 10, 11 ,12, 13 and more
Java 9, 10, 11 ,12, 13 and moreHillmerC
 
Introducción a Symfony
Introducción a SymfonyIntroducción a Symfony
Introducción a SymfonyIsmael Ambrosi
 
Construccion de proyectos con gradle
Construccion de proyectos con gradleConstruccion de proyectos con gradle
Construccion de proyectos con gradleDavid Gómez García
 
Gradle Glam: Plugins Galore
Gradle Glam: Plugins GaloreGradle Glam: Plugins Galore
Gradle Glam: Plugins GaloreSoftware Guru
 
Presentacion Spring Roo Java Mania
Presentacion Spring Roo Java ManiaPresentacion Spring Roo Java Mania
Presentacion Spring Roo Java ManiaJavier Onsurbe
 
Entorno de desarrollo productivo
Entorno de desarrollo productivoEntorno de desarrollo productivo
Entorno de desarrollo productivoPablo Godel
 
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)Marco Antonio Ordoñez Valverde
 
Grails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web JavaGrails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web JavaDani Latorre
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plonementtes
 
Greach 2011 - Cloud Foundry
Greach 2011 - Cloud FoundryGreach 2011 - Cloud Foundry
Greach 2011 - Cloud Foundrygreach_es
 
Presentacion Spring Roo Java Mania
Presentacion Spring Roo Java ManiaPresentacion Spring Roo Java Mania
Presentacion Spring Roo Java ManiaJavier Onsurbe
 
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!Iván López Martín
 
Frontend Tools | Herramientas para Frontends
Frontend Tools | Herramientas para FrontendsFrontend Tools | Herramientas para Frontends
Frontend Tools | Herramientas para FrontendsDavid Ballén
 

Similar to Introduction grails-es (20)

Jobsket Spring 2GX Madrid
Jobsket Spring 2GX MadridJobsket Spring 2GX Madrid
Jobsket Spring 2GX Madrid
 
Java 9, 10, 11 ,12, 13 and more
Java 9, 10, 11 ,12, 13 and moreJava 9, 10, 11 ,12, 13 and more
Java 9, 10, 11 ,12, 13 and more
 
Grails
GrailsGrails
Grails
 
Introducción a Symfony
Introducción a SymfonyIntroducción a Symfony
Introducción a Symfony
 
Construccion de proyectos con gradle
Construccion de proyectos con gradleConstruccion de proyectos con gradle
Construccion de proyectos con gradle
 
Gradle Glam: Plugins Galore
Gradle Glam: Plugins GaloreGradle Glam: Plugins Galore
Gradle Glam: Plugins Galore
 
Presentacion Spring Roo Java Mania
Presentacion Spring Roo Java ManiaPresentacion Spring Roo Java Mania
Presentacion Spring Roo Java Mania
 
Intro a Grails @ ITESCA
Intro a Grails @ ITESCAIntro a Grails @ ITESCA
Intro a Grails @ ITESCA
 
ATICA DevOps
ATICA DevOpsATICA DevOps
ATICA DevOps
 
Entorno de desarrollo productivo
Entorno de desarrollo productivoEntorno de desarrollo productivo
Entorno de desarrollo productivo
 
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
 
Grails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web JavaGrails: Aumenta tu productividad en tus aplicaciones web Java
Grails: Aumenta tu productividad en tus aplicaciones web Java
 
Grails barcamp 2013
Grails barcamp 2013Grails barcamp 2013
Grails barcamp 2013
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plone
 
Springboot Overview
Springboot  OverviewSpringboot  Overview
Springboot Overview
 
Greach 2011 - Cloud Foundry
Greach 2011 - Cloud FoundryGreach 2011 - Cloud Foundry
Greach 2011 - Cloud Foundry
 
Presentacion Spring Roo Java Mania
Presentacion Spring Roo Java ManiaPresentacion Spring Roo Java Mania
Presentacion Spring Roo Java Mania
 
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 
Frontend Tools | Herramientas para Frontends
Frontend Tools | Herramientas para FrontendsFrontend Tools | Herramientas para Frontends
Frontend Tools | Herramientas para Frontends
 

Recently uploaded

Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 

Recently uploaded (20)

Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 

Introduction grails-es

  • 1. Introducción a Grails Graeme Rocher SpringSource NOT CONFIDENTIAL -- TELL EVERYONE Friday, 30 September 2011
  • 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 2 Friday, 30 September 2011
  • 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 3 Friday, 30 September 2011
  • 4. Quien utiliza Grails? NOT CONFIDENTIAL -- TELL EVERYONE 4 Friday, 30 September 2011
  • 5. Los Mejores en su clase • Spring • Hibernate • Groovy Groovy Spring • Quartz • Sitemesh • Tomcat Sitemesh • Java Hibernate Java Quartz NOT CONFIDENTIAL -- TELL EVERYONE 5 Friday, 30 September 2011
  • 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 6 Friday, 30 September 2011
  • 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 7 Friday, 30 September 2011
  • 8. Demo - Como Empezar NOT CONFIDENTIAL -- TELL EVERYONE Friday, 30 September 2011
  • 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 9 Friday, 30 September 2011
  • 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 10 Friday, 30 September 2011
  • 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 11 Friday, 30 September 2011
  • 12. Demo - GORM NOT CONFIDENTIAL -- TELL EVERYONE Friday, 30 September 2011
  • 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 13 Friday, 30 September 2011
  • 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 14 Friday, 30 September 2011
  • 15. Demo - Controllers NOT CONFIDENTIAL -- TELL EVERYONE Friday, 30 September 2011
  • 16. Plugins Plugin Plugin Plugin Plugin Register Bean Definitions Read Conventions GrailsApplication ApplicationContext Grails Runtime Environment NOT CONFIDENTIAL -- TELL EVERYONE 16 Friday, 30 September 2011
  • 17. Que puedes obtener con plugins... NOT CONFIDENTIAL -- TELL EVERYONE 17 Friday, 30 September 2011
  • 18. Que puedes obtener con plugins... • Pruebas con Grails: selenium, fitnesse, code coverage etc. NOT CONFIDENTIAL -- TELL EVERYONE 17 Friday, 30 September 2011
  • 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 17 Friday, 30 September 2011
  • 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 17 Friday, 30 September 2011
  • 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 17 Friday, 30 September 2011
  • 22. Página de Plugins • http://grails.org/Plugins NOT CONFIDENTIAL -- TELL EVERYONE 18 Friday, 30 September 2011
  • 23. Novedades en Grails 2.0 NOT CONFIDENTIAL -- TELL EVERYONE Friday, 30 September 2011
  • 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 20 Friday, 30 September 2011
  • 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 21 Friday, 30 September 2011
  • 26. New UI NOT CONFIDENTIAL -- TELL EVERYONE 22 Friday, 30 September 2011
  • 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 23 Friday, 30 September 2011
  • 28. GORM API NOT CONFIDENTIAL -- TELL EVERYONE 24 Friday, 30 September 2011
  • 29. GORM API NOT CONFIDENTIAL -- TELL EVERYONE 24 Friday, 30 September 2011
  • 30. Demo - Grails 2.0 NOT CONFIDENTIAL -- TELL EVERYONE Friday, 30 September 2011
  • 31. Libros NOT CONFIDENTIAL -- TELL EVERYONE 26 Friday, 30 September 2011
  • 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 27 Friday, 30 September 2011
  • 33. Preguntas & Respuestas NOT CONFIDENTIAL -- TELL EVERYONE Friday, 30 September 2011