SlideShare a Scribd company logo
1 of 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
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

More Related Content

What's hot

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á 2018Juan 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/2009sleguiza
 
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 microserviciosSoftware Guru
 
Webinar: Introducción a VUE.js
Webinar: Introducción a VUE.jsWebinar: Introducción a VUE.js
Webinar: Introducción a VUE.jsArsys
 
Implementación de microservicios en Vocento
Implementación de microservicios en VocentoImplementación de microservicios en Vocento
Implementación de microservicios en VocentoHector 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 DevOpsavanttic Consultoría Tecnológica
 
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 CodeBruno Capuano
 
Dev ops best practices - spanish v4
Dev ops best practices - spanish v4Dev ops best practices - spanish v4
Dev ops best practices - spanish v4Vemn1
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosDomingo Suarez Torres
 
Webinar: Introducción a Angular
Webinar: Introducción a AngularWebinar: Introducción a Angular
Webinar: Introducción a AngularArsys
 
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 DayPlain Concepts
 

What's hot (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 to Frameworks de Desarrollo Web Grails

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 carreraBorja Merino
 
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 actualidadRaelyx Cordero
 
Grails presentation1
Grails presentation1Grails presentation1
Grails presentation1chelen2002
 
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 - DevAcademyJorge 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 ConceptosGeorge Navarro Gomez
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosGeorge 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.pptxLuis775803
 
AFE - 01 - Introduccion a Frameworks.pptx
AFE - 01 - Introduccion a Frameworks.pptxAFE - 01 - Introduccion a Frameworks.pptx
AFE - 01 - Introduccion a Frameworks.pptxCesiaReyes4
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePointAdrian 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 2017Diego 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
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .netJefersonGuevara1
 

Similar to 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
 

More from 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
 

Recently uploaded

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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
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
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
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
 
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
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
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
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
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
 
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
 
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
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
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
 
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
 
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
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 

Recently uploaded (20)

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.
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
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
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
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
 
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
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
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
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
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
 
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
 
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
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).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
 
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
 
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
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.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