SlideShare una empresa de Scribd logo
Frameworks de
Desarrollo Web
Esteban Saavedra Lopez
CEO AtixLibre
CEO Opentelematics
esteban.saavera@atixlibre.org
estebansaavedra@yahoo.com
http://jesaavedra.opentelematics.org
Http://www.atixlibre.org
Acerca del facilitador?
                    • Ingeniero de profesión
                    • Docente Universitario
                    • Investigador senior en
                      innovacion tecnológica.
                    • Presidente de la Fundación
                      Atixlibre
                    • CEO Opentelematics
                      Internacional
Agenda
•   Introducción a los Frameworks
•   Patron MVC
•   Grails
•   Características de un Proyecto Grails
•   Creación de un proyecto
•   Demostración
•   Conclusiones
•   Referencias
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
• Es una aplicación genérica incompleta y
  configurable a la que podemos añadirle las ultimas
  piezas para construir una aplicación concreta.
Cual el objetivo de un framework?
•   Desarrollo rápido
•   Desarrollo estructurado
•   Reutilización de código
•   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
•   Tener como aliado a las metodologías de desarrollo Agíles
    (XP, AD,Scrum)
Patrón MVC
• Modelo
• Controlador
• Vista
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
Filosofía de Grails
               ́
• Reutilización de código
• Desarrollar aplicaciones web de forma rápida,
  sencilla y divertida
• Utilizar los mejores componentes actualmente
  disponibles
• Combinar todo en un paquete fácil de usar
• Grails provee el pegamento, de tal forma que uds
  no haga el suyo.
Por que Grails
• Se basa en el patrón MVC
• Tiene todo lo necesario para desarrollar aplicaciones Web
• Soporta Ajax
• Posee buena documentación
• Es multiplataforma
• Posee una numerosa comunidad de desarrolladores y
  usuarios
• Inspirado en Ruby on Rails (Padrino de la mayoría de los
  Frameworks)
• Está en constante desarrollo
Componentes de Grails
• Lenguaje Groovy
• Maquina Virtual de Java
Instalación de Grails
• Utilizando los fuentes
  > Obtener: http://grails.org/Download
  > Basta con descomprimir y permitir su acceso
• Desde paquetes de acuerdo a la distribución
Estructura de un proyecto de Grails
•   Grails proporciona una estructura jerárquica:
•   Proyecto
•   Aplicación
•   Módulo
•   Acción
•   Vista
Creación de un proyecto
• Instrucción
  > grails create-app myapp
Que generó esto?
• Una estructura
  jerárquica de
  directorios
Pasos para crear un proyecto
1.Crear el proyecto
2.Crear los dominios del proyecto
3.Generar los CRUDs
               ́
4.CRUDs Estáticos
                 ́
5.CRUDs Dináimicos
6.Adecuar los templates (CSS y/o JavaScript)
7.Publicar la Aplicación
Creación de un proyecto
• Instrucción
  > grails create-app Gestion
Crear el Dominio
• Un dominio por cada clase
  > grails create-domain-class Evento
  > grails create-domain-class Expositor
  > grails create-domain-class Conferencia
Crear el código del modelo de
datos (1)
 myapp/grails-app/domain/Evento.groovy
   class Evento {
   String nombre
   String ciudad
   Date inicia
   Date finaliza
   String sitioweb
   static hasMany = [conferencias:Conferencia]
 }
Crear el código del modelo de
datos (2)
 myapp/grails-app/domain/Expositor.groovy
 class Expositor {
   String paterno
   String materno
   String nombre
   String nacionalidad
   String email
   static hasMany = [conferencias:Conferencia]
 }
Crear el código del modelo de
datos (3)
 myapp/grails-app/domain/Conferencia.groovy
 class Conferencia {
   String titulo
   String resumen
   Date fecha
   Evento evento
   Expositor expositor
   static belongsTo = [Evento,Expositor]
 }
Generando los CRUDs
• Instrucción
  > grails generate-all Evento
  > grails generate-all Expositor
  > grails generate-all Conferencia
Ejecutar la Aplicación
• Instrucción
  > grails run-app
Acceso al proyecto
• Instrucción
  > http://localhost:8080/Gestion
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
Proyecto desplegado
Formularios
Ventanas Emergentes
Listados dinámicos
Demostración Práctica
Ejemplo de aplicacion desarrollada
Ejemplo de aplicacion desarrollada
Frameworks para desarrollo de
aplicaciones Web
Conclusiones
• Grails:
  > Tiene todo lo necesario para desarrollar aplicaciones
    Web
  > Facilitan enormemente el desarrollo de aplicaciones
  > Posee buena documentación
  > Esta en constante desarrollo (muchas funcionalidades
    en base plugins)
  > Al tener como aliado a las metodologíaś de desarrollo
    Agíl ́ (XP,AD), se convierte en un fuerte candidatos para
    desarrollo de aplicaciones web.
Referencias
• http://www.grails.org/
Frameworks de
Desarrollo Web
Esteban Saavedra Lopez
CEO AtixLibre
CEO Opentelematics
esteban.saavera@atixlibre.org
estebansaavedra@yahoo.com
http://jesaavedra.opentelematics.org
Http://www.atixlibre.org

Más contenido relacionado

La actualidad más candente

Microservicios
MicroserviciosMicroservicios
Microservicios
Sergio Maurenzi
 
Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas...
Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas...Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas...
Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas...Esteban Saavedra
 
Implementación de una estrategia digital en WordPress - WordCamp Bogotá 2018
Implementación de una estrategia digital en WordPress - WordCamp Bogotá 2018Implementación de una estrategia digital en WordPress - WordCamp Bogotá 2018
Implementación de una estrategia digital en WordPress - WordCamp Bogotá 2018
Juan Buitrago
 
MongoDB y Microservicios Parte 1: Power Microservices con Docker, Kubernetes,...
MongoDB y Microservicios Parte 1: Power Microservices con Docker, Kubernetes,...MongoDB y Microservicios Parte 1: Power Microservices con Docker, Kubernetes,...
MongoDB y Microservicios Parte 1: Power Microservices con Docker, Kubernetes,...MongoDB
 
Presentacion De Uxity - 05/2009
Presentacion De Uxity - 05/2009Presentacion De Uxity - 05/2009
Presentacion De Uxity - 05/2009
sleguiza
 
Mecanismos y patrones para acelerar adopción en arquitecturas de microservicios
Mecanismos y patrones para acelerar adopción en arquitecturas de microserviciosMecanismos y patrones para acelerar adopción en arquitecturas de microservicios
Mecanismos y patrones para acelerar adopción en arquitecturas de microservicios
Software Guru
 
Webinar: Introducción a VUE.js
Webinar: Introducción a VUE.jsWebinar: Introducción a VUE.js
Webinar: Introducción a VUE.js
Arsys
 
Implementación de microservicios en Vocento
Implementación de microservicios en VocentoImplementación de microservicios en Vocento
Implementación de microservicios en Vocento
Hector Prats Ortega
 
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOps
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOpsWebinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOps
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOps
avanttic Consultoría Tecnológica
 
Microservicios - RabbitMQ
Microservicios - RabbitMQMicroservicios - RabbitMQ
Microservicios - RabbitMQ
Mariano German Egui
 
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeVisual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
Bruno Capuano
 
Dev ops best practices - spanish v4
Dev ops best practices - spanish v4Dev ops best practices - spanish v4
Dev ops best practices - spanish v4Vemn1
 
Integracion Continua
Integracion ContinuaIntegracion Continua
Integracion Continua
OpenSource Connections
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de Microservicios
Domingo Suarez Torres
 
Webinar: Introducción a Angular
Webinar: Introducción a AngularWebinar: Introducción a Angular
Webinar: Introducción a Angular
Arsys
 
Arquitectura de web components - Plain Concepts Web Day
Arquitectura de web components - Plain Concepts Web DayArquitectura de web components - Plain Concepts Web Day
Arquitectura de web components - Plain Concepts Web Day
Plain Concepts
 

La actualidad más candente (17)

Microservicios
MicroserviciosMicroservicios
Microservicios
 
Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas...
Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas...Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas...
Gestion de Proyectos de desarrollod de Software, haciendo uso de herramientas...
 
Implementación de una estrategia digital en WordPress - WordCamp Bogotá 2018
Implementación de una estrategia digital en WordPress - WordCamp Bogotá 2018Implementación de una estrategia digital en WordPress - WordCamp Bogotá 2018
Implementación de una estrategia digital en WordPress - WordCamp Bogotá 2018
 
MongoDB y Microservicios Parte 1: Power Microservices con Docker, Kubernetes,...
MongoDB y Microservicios Parte 1: Power Microservices con Docker, Kubernetes,...MongoDB y Microservicios Parte 1: Power Microservices con Docker, Kubernetes,...
MongoDB y Microservicios Parte 1: Power Microservices con Docker, Kubernetes,...
 
Grails
GrailsGrails
Grails
 
Presentacion De Uxity - 05/2009
Presentacion De Uxity - 05/2009Presentacion De Uxity - 05/2009
Presentacion De Uxity - 05/2009
 
Mecanismos y patrones para acelerar adopción en arquitecturas de microservicios
Mecanismos y patrones para acelerar adopción en arquitecturas de microserviciosMecanismos y patrones para acelerar adopción en arquitecturas de microservicios
Mecanismos y patrones para acelerar adopción en arquitecturas de microservicios
 
Webinar: Introducción a VUE.js
Webinar: Introducción a VUE.jsWebinar: Introducción a VUE.js
Webinar: Introducción a VUE.js
 
Implementación de microservicios en Vocento
Implementación de microservicios en VocentoImplementación de microservicios en Vocento
Implementación de microservicios en Vocento
 
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOps
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOpsWebinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOps
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOps
 
Microservicios - RabbitMQ
Microservicios - RabbitMQMicroservicios - RabbitMQ
Microservicios - RabbitMQ
 
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeVisual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
 
Dev ops best practices - spanish v4
Dev ops best practices - spanish v4Dev ops best practices - spanish v4
Dev ops best practices - spanish v4
 
Integracion Continua
Integracion ContinuaIntegracion Continua
Integracion Continua
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de Microservicios
 
Webinar: Introducción a Angular
Webinar: Introducción a AngularWebinar: Introducción a Angular
Webinar: Introducción a Angular
 
Arquitectura de web components - Plain Concepts Web Day
Arquitectura de web components - Plain Concepts Web DayArquitectura de web components - Plain Concepts Web Day
Arquitectura de web components - Plain Concepts Web Day
 

Similar a Frameworks de Desarrollo Web Grails

JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
SUGES (SharePoint Users Group España)
 
Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)
Armando Picón Z.
 
Defensa proyecto fin de carrera
Defensa proyecto fin de carreraDefensa proyecto fin de carrera
Defensa proyecto fin de carrera
Borja Merino
 
Introducción a Asp.Net Mvc
Introducción a Asp.Net MvcIntroducción a Asp.Net Mvc
Introducción a Asp.Net Mvc
Gustavo Alzate Sandoval
 
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...Ianpierr Miranda
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
Raelyx Cordero
 
Grails presentation1
Grails presentation1Grails presentation1
Grails presentation1
chelen2002
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
Rodolfo Finochietti
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademy
Jorge Antonio Linares Vera
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
George Navarro Gomez
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
George Navarro Gomez
 
IDEs y Frameworks mas utilizados
IDEs y Frameworks mas utilizadosIDEs y Frameworks mas utilizados
IDEs y Frameworks mas utilizados
George Navarro Gomez
 
Net Maui Blazor Jornada ASP Net en Español.pptx
Net Maui Blazor Jornada ASP Net en Español.pptxNet Maui Blazor Jornada ASP Net en Español.pptx
Net Maui Blazor Jornada ASP Net en Español.pptx
Luis775803
 
AFE - 01 - Introduccion a Frameworks.pptx
AFE - 01 - Introduccion a Frameworks.pptxAFE - 01 - Introduccion a Frameworks.pptx
AFE - 01 - Introduccion a Frameworks.pptx
CesiaReyes4
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePoint
Adrian Diaz Cervera
 
NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017
Diego Bersano
 
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
Adrian Diaz Cervera
 
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOpsMeetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
avanttic Consultoría Tecnológica
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .net
JefersonGuevara1
 

Similar a Frameworks de Desarrollo Web Grails (20)

JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
 
Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)
 
Defensa proyecto fin de carrera
Defensa proyecto fin de carreraDefensa proyecto fin de carrera
Defensa proyecto fin de carrera
 
Introducción a Asp.Net Mvc
Introducción a Asp.Net MvcIntroducción a Asp.Net Mvc
Introducción a Asp.Net Mvc
 
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
 
Grails presentation1
Grails presentation1Grails presentation1
Grails presentation1
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademy
 
Framework
FrameworkFramework
Framework
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
 
IDEs y Frameworks mas utilizados
IDEs y Frameworks mas utilizadosIDEs y Frameworks mas utilizados
IDEs y Frameworks mas utilizados
 
Net Maui Blazor Jornada ASP Net en Español.pptx
Net Maui Blazor Jornada ASP Net en Español.pptxNet Maui Blazor Jornada ASP Net en Español.pptx
Net Maui Blazor Jornada ASP Net en Español.pptx
 
AFE - 01 - Introduccion a Frameworks.pptx
AFE - 01 - Introduccion a Frameworks.pptxAFE - 01 - Introduccion a Frameworks.pptx
AFE - 01 - Introduccion a Frameworks.pptx
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePoint
 
NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017
 
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
 
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOpsMeetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .net
 

Más de Esteban Saavedra

Atix30
Atix30Atix30
Atix29
Atix29Atix29
Atix28
Atix28Atix28
Atix27
Atix27Atix27
Atix26
Atix26Atix26
Atix25
Atix25Atix25
Rabbitmq
RabbitmqRabbitmq
Ansible
AnsibleAnsible
Perl
PerlPerl
Atix23
Atix23Atix23
Lineas Base Migracion a Software Libre
Lineas Base Migracion a Software LibreLineas Base Migracion a Software Libre
Lineas Base Migracion a Software Libre
Esteban Saavedra
 
Seguridad Sistemas de Gobierno
Seguridad Sistemas de GobiernoSeguridad Sistemas de Gobierno
Seguridad Sistemas de Gobierno
Esteban Saavedra
 
Tunneling: Esquivando Restricciones de Proxies y Firewalls
Tunneling: Esquivando Restricciones de Proxies y FirewallsTunneling: Esquivando Restricciones de Proxies y Firewalls
Tunneling: Esquivando Restricciones de Proxies y Firewalls
Esteban Saavedra
 
Bi Un Modelo Eficiente para Gerenciar Empresas
Bi Un Modelo Eficiente para Gerenciar EmpresasBi Un Modelo Eficiente para Gerenciar Empresas
Bi Un Modelo Eficiente para Gerenciar Empresas
Esteban Saavedra
 
Clouds privadas
Clouds privadasClouds privadas
Clouds privadas
Esteban Saavedra
 
Introduccion Computacion Ubicua
Introduccion Computacion UbicuaIntroduccion Computacion Ubicua
Introduccion Computacion Ubicua
Esteban Saavedra
 
Avances Tecnologicos
Avances TecnologicosAvances Tecnologicos
Avances Tecnologicos
Esteban Saavedra
 
Dni Electronico Bolivia
Dni Electronico BoliviaDni Electronico Bolivia
Dni Electronico Bolivia
Esteban Saavedra
 
E technologies
E technologiesE technologies
E technologies
Esteban Saavedra
 

Más de Esteban Saavedra (20)

Atix30
Atix30Atix30
Atix30
 
Atix29
Atix29Atix29
Atix29
 
Atix28
Atix28Atix28
Atix28
 
Atix27
Atix27Atix27
Atix27
 
Atix26
Atix26Atix26
Atix26
 
Atix25
Atix25Atix25
Atix25
 
Rabbitmq
RabbitmqRabbitmq
Rabbitmq
 
Ansible
AnsibleAnsible
Ansible
 
Perl
PerlPerl
Perl
 
Atix24
Atix24Atix24
Atix24
 
Atix23
Atix23Atix23
Atix23
 
Lineas Base Migracion a Software Libre
Lineas Base Migracion a Software LibreLineas Base Migracion a Software Libre
Lineas Base Migracion a Software Libre
 
Seguridad Sistemas de Gobierno
Seguridad Sistemas de GobiernoSeguridad Sistemas de Gobierno
Seguridad Sistemas de Gobierno
 
Tunneling: Esquivando Restricciones de Proxies y Firewalls
Tunneling: Esquivando Restricciones de Proxies y FirewallsTunneling: Esquivando Restricciones de Proxies y Firewalls
Tunneling: Esquivando Restricciones de Proxies y Firewalls
 
Bi Un Modelo Eficiente para Gerenciar Empresas
Bi Un Modelo Eficiente para Gerenciar EmpresasBi Un Modelo Eficiente para Gerenciar Empresas
Bi Un Modelo Eficiente para Gerenciar Empresas
 
Clouds privadas
Clouds privadasClouds privadas
Clouds privadas
 
Introduccion Computacion Ubicua
Introduccion Computacion UbicuaIntroduccion Computacion Ubicua
Introduccion Computacion Ubicua
 
Avances Tecnologicos
Avances TecnologicosAvances Tecnologicos
Avances Tecnologicos
 
Dni Electronico Bolivia
Dni Electronico BoliviaDni Electronico Bolivia
Dni Electronico Bolivia
 
E technologies
E technologiesE technologies
E technologies
 

Último

ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
jjfch3110
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
JuanPrez962115
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
44652726
 

Último (20)

ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 

Frameworks de Desarrollo Web Grails

  • 1. Frameworks de Desarrollo Web Esteban Saavedra Lopez CEO AtixLibre CEO Opentelematics esteban.saavera@atixlibre.org estebansaavedra@yahoo.com http://jesaavedra.opentelematics.org Http://www.atixlibre.org
  • 2. Acerca del facilitador? • Ingeniero de profesión • Docente Universitario • Investigador senior en innovacion tecnológica. • Presidente de la Fundación Atixlibre • CEO Opentelematics Internacional
  • 3. Agenda • Introducción a los Frameworks • Patron MVC • Grails • Características de un Proyecto Grails • Creación de un proyecto • Demostración • Conclusiones • Referencias
  • 4. 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 • Es una aplicación genérica incompleta y configurable a la que podemos añadirle las ultimas piezas para construir una aplicación concreta.
  • 5. Cual el objetivo de un framework? • Desarrollo rápido • Desarrollo estructurado • Reutilización de código • 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 • Tener como aliado a las metodologías de desarrollo Agíles (XP, AD,Scrum)
  • 6. Patrón MVC • Modelo • Controlador • Vista
  • 7. 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
  • 8. Filosofía de Grails ́ • Reutilización de código • Desarrollar aplicaciones web de forma rápida, sencilla y divertida • Utilizar los mejores componentes actualmente disponibles • Combinar todo en un paquete fácil de usar • Grails provee el pegamento, de tal forma que uds no haga el suyo.
  • 9. Por que Grails • Se basa en el patrón MVC • Tiene todo lo necesario para desarrollar aplicaciones Web • Soporta Ajax • Posee buena documentación • Es multiplataforma • Posee una numerosa comunidad de desarrolladores y usuarios • Inspirado en Ruby on Rails (Padrino de la mayoría de los Frameworks) • Está en constante desarrollo
  • 10. Componentes de Grails • Lenguaje Groovy • Maquina Virtual de Java
  • 11. Instalación de Grails • Utilizando los fuentes > Obtener: http://grails.org/Download > Basta con descomprimir y permitir su acceso • Desde paquetes de acuerdo a la distribución
  • 12. Estructura de un proyecto de Grails • Grails proporciona una estructura jerárquica: • Proyecto • Aplicación • Módulo • Acción • Vista
  • 13. Creación de un proyecto • Instrucción > grails create-app myapp
  • 14. Que generó esto? • Una estructura jerárquica de directorios
  • 15. Pasos para crear un proyecto 1.Crear el proyecto 2.Crear los dominios del proyecto 3.Generar los CRUDs ́ 4.CRUDs Estáticos ́ 5.CRUDs Dináimicos 6.Adecuar los templates (CSS y/o JavaScript) 7.Publicar la Aplicación
  • 16. Creación de un proyecto • Instrucción > grails create-app Gestion
  • 17. Crear el Dominio • Un dominio por cada clase > grails create-domain-class Evento > grails create-domain-class Expositor > grails create-domain-class Conferencia
  • 18. Crear el código del modelo de datos (1) myapp/grails-app/domain/Evento.groovy class Evento { String nombre String ciudad Date inicia Date finaliza String sitioweb static hasMany = [conferencias:Conferencia] }
  • 19. Crear el código del modelo de datos (2) myapp/grails-app/domain/Expositor.groovy class Expositor { String paterno String materno String nombre String nacionalidad String email static hasMany = [conferencias:Conferencia] }
  • 20. Crear el código del modelo de datos (3) myapp/grails-app/domain/Conferencia.groovy class Conferencia { String titulo String resumen Date fecha Evento evento Expositor expositor static belongsTo = [Evento,Expositor] }
  • 21. Generando los CRUDs • Instrucción > grails generate-all Evento > grails generate-all Expositor > grails generate-all Conferencia
  • 22. Ejecutar la Aplicación • Instrucción > grails run-app
  • 23. Acceso al proyecto • Instrucción > http://localhost:8080/Gestion
  • 24. 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
  • 30. Ejemplo de aplicacion desarrollada
  • 31. Ejemplo de aplicacion desarrollada
  • 32. Frameworks para desarrollo de aplicaciones Web
  • 33. Conclusiones • Grails: > Tiene todo lo necesario para desarrollar aplicaciones Web > Facilitan enormemente el desarrollo de aplicaciones > Posee buena documentación > Esta en constante desarrollo (muchas funcionalidades en base plugins) > Al tener como aliado a las metodologíaś de desarrollo Agíl ́ (XP,AD), se convierte en un fuerte candidatos para desarrollo de aplicaciones web.
  • 35. Frameworks de Desarrollo Web Esteban Saavedra Lopez CEO AtixLibre CEO Opentelematics esteban.saavera@atixlibre.org estebansaavedra@yahoo.com http://jesaavedra.opentelematics.org Http://www.atixlibre.org