Este documento presenta una introducción al framework Grails. Explica que Grails es un framework para el desarrollo de aplicaciones web basado en el patrón MVC. Detalla los pasos para crear un proyecto Grails, incluyendo la generación de dominios, controladores y vistas. También menciona algunas características clave de Grails como su filosofía de desarrollo rápido y su soporte para Ajax.
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Grails
1. Frameworks MVC para el desarrollo Web - Grails
Esteban Saavedra L´pez
o
CEO Opentelematics Internacional Bolivia
jesaavedra@opentelematics.org
http://jesaavedra.opentelematics.org
http://esteban.profesionales.org
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 1 / 27
2. Tabla de Contenidos
1 Introducci´n a los Frameworks
o
2 Patron MVC
3 Grails
4 Caracter´
ısticas de un Proyecto Grails
5 Creaci´n de un proyecto
o
6 Demostraci´n
o
7 Conclusiones
8 Referencias
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 2 / 27
3. Introducci´n a los Frameworks
o
Que es un Framework?
Es una estructura de soporte definida en la cual otro proyecto de
software puede ser organizado y desarrollado.
Se han convertido en la piedra angular de la moderna ingenier´
ıa
del software
Es una estructura software compuesta de componentes
personalizables e intercambiables para el desarrollo de una aplicaci´n.
o
En otras palabras, es una aplicaci´n gen´rica incompleta y
o e
configurable a la que podemos aadirle las ultimas piezas para
´
construir una aplicaci´n concreta.
o
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 3 / 27
4. Introducci´n a los Frameworks
o
Cual el objetivo de un framework?
Desarrollo r´pido
a
Desarrollo estructurado
Reutilizaci´n de c´digo
o o
Disminuir el esfuerzo en el desarrollo
Aprovechamos las funcionalidades ya implementadas.
No debemos reinventar la rueda
Nos concetramos directamente en la soluci´n del problema
o
Tener como aliado a las metodolog´ de desarrollo Ag´ (XP,
ıas ıles
AD)
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 4 / 27
5. Patron MVC
Patr´n MVC
o
Modelo
Controlador
Vista
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 5 / 27
6. Grails
Que es Grails
Es un framework para el desarrollo de aplicaciones web
Es la respuesta de java para Ruby on Rails
Permite el desarrollo de aplicaciones web de forma r´pida
a
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 6 / 27
7. Grails
Filosof´ de Grails
ıa
Reutilizaci´n de c´digo
o o
Desarrollar aplicaciones web de forma r´pida, sencilla y divertida
a
Utilizar los mejores componentes actualmente disponibles
Combinar todo en un paquete f´cil de usar
a
Grails provee el pegamento, de tal forma que uds no haga el suyo.
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 7 / 27
8. Grails
Por que Grails
Se basa en el patr´n MVC
o
Tiene todo lo necesario para desarrollar aplicaciones Web
Soporta Ajax
Posee buena documentaci´n
o
Es multiplataforma
Posee una numerosa comunidad de desarrolladores y usuarios
Inspirado en Ruby on Rails (Padrino de la mayor´ de los
ıa
Frameworks)
Est´ en constante desarrollo
a
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 8 / 27
9. Grails
Componentes de Grails
Lenguaje Groovy
Maquina Virtual de Java
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 9 / 27
10. Grails
Instalaci´n de Grails
o
Utilizando los fuentes
Obtener: http://dist.codehaus.org/grails/grails-bin-1.0-RC1.tar.gz
Basta con descomprimir y permitir su acceso
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 10 / 27
11. Caracter´
ısticas de un Proyecto Grails
Estructura de un proyecto de Grails
Grails proporciona una estructura jer´rquica:
a
Proyecto
Aplicaci´n
o
M´dulo
o
Acci´n
o
Vista
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 11 / 27
12. Caracter´
ısticas de un Proyecto Grails
Creaci´n de un proyecto
o
Instrucci´n
o
grails create-app myapp
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 12 / 27
13. Caracter´
ısticas de un Proyecto Grails
Que gener´ esto?
o
Una estructura jer´rquica de directorios
a
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 13 / 27
14. Creaci´n de un proyecto
o
Pasos para crear un proyecto
1 Crear el proyecto
2 Crear los dominios del proyecto
3 Generar los CRUDs
4 Adecuar los templates (CSS y/o JavaScript)
5 Publicar la Aplicaci´n
o
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 14 / 27
15. Creaci´n de un proyecto
o
1. Creaci´n de un proyecto
o
Instrucci´n
o
grails create-app evento
Detalles del proyecto
Welcome to Grails 1.0-RC1 - http://grails.org/
Licensed under Apache Standard License 2.0
Grails home is set to: /home/jesaavedra/grails
Base Directory: /home/jesaavedra/aplic_web/grails
Environment set to development
Note: No plugin scripts found
Running script /home/jesaavedra/grails/scripts/CreateApp.groovy
Overriding previous definition of reference to groovyJarSet
[mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/src
[mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/src/java
[mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/src/groovy
[mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app
[mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app/controllers
[mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app/services
[mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app/domain
[mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app/taglib
[mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app/utils
[mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/grails-app/views
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 15 / 27
16. Creaci´n de un proyecto
o
2. Crear el Dominio
Un dominio por cada clase
grails create-domain-class Seminario
grails create-domain-class Registro
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 16 / 27
17. Creaci´n de un proyecto
o
3. Crear el c´digo del modelo de datos
o
myapp/grails-app/domain/Seminario.groovy
class Seminario {
String titulo
Date fechainicio
String ciudad
Float costo
Boolean refrigerio
static hasMany = [registros:Registro]
}
myapp/grails-app/domain/Registro.groovy
class Registro {
String nombre
Date nacimiento
String genero
Seminario seminario
}
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 17 / 27
18. Creaci´n de un proyecto
o
4. Generando los CRUDs
Instrucci´n
o
grails generate-all Seminario
grails generate-all Registro
Sal´
ıda
Welcome to Grails 1.0-RC1 - http://grails.org/
Licensed under Apache Standard License 2.0
Grails home is set to: /home/jesaavedra/grails
Base Directory: /home/jesaavedra/aplic_web/grails/evento
Environment set to development
Note: No plugin scripts found
Running script /home/jesaavedra/grails/scripts/GenerateAll.groovy
Compiling 6 source files to /home/jesaavedra/.grails/1.0-RC1/projects/evento/classes
[mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/web-app/WEB-INF/grails-app/i18n
[native2ascii] Converting 9 files from /home/jesaavedra/aplic_web/grails/evento/grails-app/i18n to /home/jesaav
[copy] Copying 1 file to /home/jesaavedra/aplic_web/grails/evento/web-app/WEB-INF/spring
[copy] Copying 1 file to /home/jesaavedra/.grails/1.0-RC1/projects/evento/classes
[copy] Copying 1 file to /home/jesaavedra/.grails/1.0-RC1/projects/evento/classes
[copy] Copying 1 file to /home/jesaavedra/.grails/1.0-RC1/projects/evento
Generating views for domain class Seminario ...
Generating controller for domain class Seminario ...
Finished generation for domain class Seminario
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 18 / 27
19. Creaci´n de un proyecto
o
Ejecutar la Aplicaci´n
o
Instrucci´n
o
grails run-app
Sal´
ıda
Welcome to Grails 1.0-RC1 - http://grails.org/
Licensed under Apache Standard License 2.0
Grails home is set to: /home/jesaavedra/grails
Base Directory: /home/jesaavedra/aplic_web/grails/evento
Environment set to development
Note: No plugin scripts found
Running script /home/jesaavedra/grails/scripts/RunApp.groovy
[mkdir] Created dir: /home/jesaavedra/aplic_web/grails/evento/web-app/WEB-INF/lib
Compiling 1 source files to /home/jesaavedra/.grails/1.0-RC1/projects/evento/classes
Running Grails application..
2007-11-26 19:28:48.569::INFO: Logging to STDERR via org.mortbay.log.StdErrLog
2007-11-26 19:28:48.649::INFO: jetty-6.1.4
2007-11-26 19:28:50.348:/evento:INFO: Set web app root system property: ’evento’ = [/home/jesaavedra/aplic_web
2007-11-26 19:28:50.348:/evento:INFO: Initializing Log4J from [/home/jesaavedra/aplic_web/grails/evento/web-ap
2007-11-26 19:28:50.355:/evento:INFO: Initializing Spring root WebApplicationContext
[5731] commons.GrailsConfigUtils [GrailsContextLoader] Grails application loaded.
2007-11-26 19:29:00.717:/evento:INFO: Initializing Spring FrameworkServlet ’grails’
2007-11-26 19:29:00.934::INFO: Started SelectChannelConnector@0.0.0.0:8080
Server running. Browse to http://localhost:8080/evento
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 19 / 27
20. Creaci´n de un proyecto
o
Acceso al proyecto
Instrucci´n
o
http://localhost:8080/evento
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 20 / 27
21. Creaci´n de un proyecto
o
Adecuaciones
Una vez generada gran parte del proyecto (forma muy general), se puede
proceder a realizar adecuaciones en:
Controlador (actions)
Vistas (templates)
Formas de acceso en las URL (routing )
Validacion de formularios
Efectos especiales
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 21 / 27
22. Creaci´n de un proyecto
o
Proyecto desplegado
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 22 / 27
23. Demostraci´n
o
Ejemplo de aplicacion desarrollada
Demostraci´n
o
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 23 / 27
24. Conclusiones
Conclusiones
Grails:
Tiene todo lo necesario para desarrollar aplicaciones Web
Soporta Ajax
Posee buena documentaci´n
o
Es multiplataforma
Esta en constante desarrollo (muchas funcionalidades en base plugins)
Al tener como aliado a las metodolog´ de desarrollo Ag´ (XP,
ıas ıles
AD), se convierte en un fuerte candidatos para desarrollo de
aplicaciones web.
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 24 / 27
25. Referencias
Referencias
http://grails.codehaus.org/
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 25 / 27
26. Referencias
Preguntas
Preguntas
Preguntas, dudas, consultas, ...
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 26 / 27
27. Referencias
Agradecimientos
Gracias...
Esteban Saavedra L´pez (Opentelematics) Frameworks MVC para el desarrollo Web - Grails
o Nov. 2007 27 / 27