SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Frameworks para desarrollo de aplicaciones Web

                                      Esteban Saavedra L´pez, Ph.D.
                                                        o

                                     CEO Opentelematics Internacional Bolivia
                                         jesaavedra@opentelematics.org
                                      http://jesaavedra.opentelematics.org
                                        http://esteban.profesionales.org




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   1 / 27
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, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   2 / 27
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, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   3 / 27
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, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   4 / 27
Patron MVC


  Patr´n MVC
      o




             Modelo
             Controlador
             Vista




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   5 / 27
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, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   6 / 27
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, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   7 / 27
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, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   8 / 27
Grails


  Componentes de Grails




           Lenguaje Groovy
           Maquina Virtual de Java




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   9 / 27
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, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   10 / 27
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, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   11 / 27
Caracter´
                                   ısticas de un Proyecto Grails


  Creaci´n de un proyecto
        o




   Instrucci´n
            o
    grails create-app myapp




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   12 / 27
Caracter´
                                   ısticas de un Proyecto Grails


  Que gener´ esto?
           o
   Una estructura jer´rquica de directorios
                     a




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   13 / 27
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, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   14 / 27
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, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web       Nov. 2008   15 / 27
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, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   16 / 27
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, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   17 / 27
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, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web     Nov. 2008    18 / 27
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, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web    Nov. 2008    19 / 27
Creaci´n de un proyecto
                                             o


  Acceso al proyecto

   Instrucci´n
            o
    http://localhost:8080/evento




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   20 / 27
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, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   21 / 27
Creaci´n de un proyecto
                                             o


  Proyecto desplegado




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   22 / 27
Demostraci´n
                                                          o


  Ejemplo de aplicacion desarrollada




                                                   Demostraci´n
                                                             o




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   23 / 27
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, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   24 / 27
Referencias


  Referencias




           http://www.grails.org/




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   25 / 27
Referencias


  Preguntas




   Preguntas
   Preguntas, dudas, consultas, ...




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   26 / 27
Referencias


  Agradecimientos




                                                       Gracias...




Esteban Saavedra L´pez, Ph.D. (Opentelematics)
                  o                      Frameworks para desarrollo de aplicaciones Web   Nov. 2008   27 / 27

Weitere ähnliche Inhalte

Was ist angesagt? (20)

MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Sílabo de herramientas de desarrollo de software
Sílabo de herramientas de desarrollo de softwareSílabo de herramientas de desarrollo de software
Sílabo de herramientas de desarrollo de software
 
Enterprise java unit-1_chapter-2
Enterprise java unit-1_chapter-2Enterprise java unit-1_chapter-2
Enterprise java unit-1_chapter-2
 
Handling iframes using selenium web driver
Handling iframes using selenium web driverHandling iframes using selenium web driver
Handling iframes using selenium web driver
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Practica 1 alice
Practica 1 alicePractica 1 alice
Practica 1 alice
 
Pilares de la POO
Pilares de la POOPilares de la POO
Pilares de la POO
 
Framework
FrameworkFramework
Framework
 
13.diseño de web apps
13.diseño de web apps13.diseño de web apps
13.diseño de web apps
 
Diagrama de despliegue
Diagrama de despliegueDiagrama de despliegue
Diagrama de despliegue
 
Enterprise java unit-2_chapter-1
Enterprise  java unit-2_chapter-1Enterprise  java unit-2_chapter-1
Enterprise java unit-2_chapter-1
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Las Mediciones de Software y sus Aplicaciomes
Las Mediciones de Software y sus AplicaciomesLas Mediciones de Software y sus Aplicaciomes
Las Mediciones de Software y sus Aplicaciomes
 
Especificacion de requerimientos
Especificacion de requerimientosEspecificacion de requerimientos
Especificacion de requerimientos
 
Metodologia Diseño Web
Metodologia Diseño WebMetodologia Diseño Web
Metodologia Diseño Web
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Análisis estructurado
Análisis estructuradoAnálisis estructurado
Análisis estructurado
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Componentes de eclipse
Componentes de eclipseComponentes de eclipse
Componentes de eclipse
 
Hilos En Java
Hilos En JavaHilos En Java
Hilos En Java
 

Andere mochten auch

RIA Rich Internet Application
RIA Rich Internet ApplicationRIA Rich Internet Application
RIA Rich Internet ApplicationEsteban Saavedra
 
Aplicaciones web enriquecidas "RIA"
Aplicaciones web enriquecidas "RIA"Aplicaciones web enriquecidas "RIA"
Aplicaciones web enriquecidas "RIA"Erick Cerna
 
Energies renovables pptsencer
Energies renovables pptsencerEnergies renovables pptsencer
Energies renovables pptsencerMartí Casares
 
El Análisis de Redes aplicado al Cine Español
El Análisis de Redes aplicado al Cine EspañolEl Análisis de Redes aplicado al Cine Español
El Análisis de Redes aplicado al Cine EspañolNicolas Robinson-Garcia
 
Empaquetando nuestras aplicaciones para distribuirlas
Empaquetando nuestras aplicaciones para distribuirlasEmpaquetando nuestras aplicaciones para distribuirlas
Empaquetando nuestras aplicaciones para distribuirlasEsteban Saavedra
 
Information Broker 2.0 - Recherche im Sozialen Web
Information Broker 2.0 - Recherche im Sozialen WebInformation Broker 2.0 - Recherche im Sozialen Web
Information Broker 2.0 - Recherche im Sozialen WebUniversity St. Gallen
 
Maeuse Strategie
Maeuse StrategieMaeuse Strategie
Maeuse Strategie12kai
 
1.9.4 Usuario Alumno
1.9.4 Usuario Alumno1.9.4 Usuario Alumno
1.9.4 Usuario AlumnoVicente Ruiz
 
Ich bin drin im Web 2.0 - Meine Arbeitspraxis 2.0
Ich bin drin im Web 2.0 - Meine Arbeitspraxis 2.0Ich bin drin im Web 2.0 - Meine Arbeitspraxis 2.0
Ich bin drin im Web 2.0 - Meine Arbeitspraxis 2.0University St. Gallen
 
Mas Fotos De La Prom Xiv
Mas Fotos De La Prom XivMas Fotos De La Prom Xiv
Mas Fotos De La Prom Xivrxavier
 
Materia Viviente
Materia VivienteMateria Viviente
Materia VivienteHerald
 
Pädagogische Einsatzmöglichkeiten von Handys
Pädagogische Einsatzmöglichkeiten von HandysPädagogische Einsatzmöglichkeiten von Handys
Pädagogische Einsatzmöglichkeiten von HandysMichael Lange
 
Chocolates Febrero 2008
Chocolates Febrero 2008Chocolates Febrero 2008
Chocolates Febrero 2008guest1dc00b
 
3 b2013 educacion para la salud
3 b2013 educacion para la salud3 b2013 educacion para la salud
3 b2013 educacion para la saludPrepa Cihuatlan
 

Andere mochten auch (20)

RIA Rich Internet Application
RIA Rich Internet ApplicationRIA Rich Internet Application
RIA Rich Internet Application
 
Aplicaciones web enriquecidas "RIA"
Aplicaciones web enriquecidas "RIA"Aplicaciones web enriquecidas "RIA"
Aplicaciones web enriquecidas "RIA"
 
Energies renovables pptsencer
Energies renovables pptsencerEnergies renovables pptsencer
Energies renovables pptsencer
 
El Análisis de Redes aplicado al Cine Español
El Análisis de Redes aplicado al Cine EspañolEl Análisis de Redes aplicado al Cine Español
El Análisis de Redes aplicado al Cine Español
 
Empaquetando nuestras aplicaciones para distribuirlas
Empaquetando nuestras aplicaciones para distribuirlasEmpaquetando nuestras aplicaciones para distribuirlas
Empaquetando nuestras aplicaciones para distribuirlas
 
Informationsbeschaffung Design P P97neu
Informationsbeschaffung  Design  P P97neuInformationsbeschaffung  Design  P P97neu
Informationsbeschaffung Design P P97neu
 
Curso de Fundamentos en Gestión de la Calidad
Curso de Fundamentos en Gestión de la CalidadCurso de Fundamentos en Gestión de la Calidad
Curso de Fundamentos en Gestión de la Calidad
 
Information Broker 2.0 - Recherche im Sozialen Web
Information Broker 2.0 - Recherche im Sozialen WebInformation Broker 2.0 - Recherche im Sozialen Web
Information Broker 2.0 - Recherche im Sozialen Web
 
Maeuse Strategie
Maeuse StrategieMaeuse Strategie
Maeuse Strategie
 
1.9.4 Usuario Alumno
1.9.4 Usuario Alumno1.9.4 Usuario Alumno
1.9.4 Usuario Alumno
 
Ich bin drin im Web 2.0 - Meine Arbeitspraxis 2.0
Ich bin drin im Web 2.0 - Meine Arbeitspraxis 2.0Ich bin drin im Web 2.0 - Meine Arbeitspraxis 2.0
Ich bin drin im Web 2.0 - Meine Arbeitspraxis 2.0
 
Politik Web2 0
Politik Web2 0Politik Web2 0
Politik Web2 0
 
Mas Fotos De La Prom Xiv
Mas Fotos De La Prom XivMas Fotos De La Prom Xiv
Mas Fotos De La Prom Xiv
 
Debian GNU
Debian GNUDebian GNU
Debian GNU
 
Materia Viviente
Materia VivienteMateria Viviente
Materia Viviente
 
Pädagogische Einsatzmöglichkeiten von Handys
Pädagogische Einsatzmöglichkeiten von HandysPädagogische Einsatzmöglichkeiten von Handys
Pädagogische Einsatzmöglichkeiten von Handys
 
Elektronisches Publizieren an der Fachhochschule Hannover
Elektronisches Publizieren an der Fachhochschule HannoverElektronisches Publizieren an der Fachhochschule Hannover
Elektronisches Publizieren an der Fachhochschule Hannover
 
Chocolates Febrero 2008
Chocolates Febrero 2008Chocolates Febrero 2008
Chocolates Febrero 2008
 
3 b2013 educacion para la salud
3 b2013 educacion para la salud3 b2013 educacion para la salud
3 b2013 educacion para la salud
 
La Gomera 2014
La Gomera 2014La Gomera 2014
La Gomera 2014
 

Ähnlich wie Frameworks para desarrollo de aplicaciones Web

Catalyst: Framework para el desarrollo de aplicaciones Web
Catalyst: Framework para el desarrollo de aplicaciones WebCatalyst: Framework para el desarrollo de aplicaciones Web
Catalyst: Framework para el desarrollo de aplicaciones WebEsteban Saavedra
 
Grails: Framework para el desarrollo de aplicaciones Web No 1
Grails: Framework para el desarrollo de aplicaciones Web No 1Grails: Framework para el desarrollo de aplicaciones Web No 1
Grails: Framework para el desarrollo de aplicaciones Web No 1Esteban Saavedra
 
Symfony Framework para el desarrollo de aplicaciones web
Symfony Framework para el desarrollo de aplicaciones webSymfony Framework para el desarrollo de aplicaciones web
Symfony Framework para el desarrollo de aplicaciones webEsteban Saavedra
 
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
 
Web matrix session1
Web matrix session1Web matrix session1
Web matrix session1Gonzalo C.
 
J2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos SlidesJ2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos Slidesmundojava
 
Trade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías WebTrade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías WebMiguel Angel Macias
 
COMPLEMENTOS DEL NAVEGADOR
COMPLEMENTOS DEL NAVEGADORCOMPLEMENTOS DEL NAVEGADOR
COMPLEMENTOS DEL NAVEGADORJOSELINE
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsEsteban Saavedra
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightParadigma Digital
 
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
Aplicaciones web con jakarta struts  - Javier Oliver FulgueraAplicaciones web con jakarta struts  - Javier Oliver Fulguera
Aplicaciones web con jakarta struts - Javier Oliver FulgueraJavier Oliver Fulguera
 

Ähnlich wie Frameworks para desarrollo de aplicaciones Web (20)

Grails
GrailsGrails
Grails
 
Turbogears
TurbogearsTurbogears
Turbogears
 
Catalyst: Framework para el desarrollo de aplicaciones Web
Catalyst: Framework para el desarrollo de aplicaciones WebCatalyst: Framework para el desarrollo de aplicaciones Web
Catalyst: Framework para el desarrollo de aplicaciones Web
 
Grails: Framework para el desarrollo de aplicaciones Web No 1
Grails: Framework para el desarrollo de aplicaciones Web No 1Grails: Framework para el desarrollo de aplicaciones Web No 1
Grails: Framework para el desarrollo de aplicaciones Web No 1
 
Gestion Proyectos
Gestion ProyectosGestion Proyectos
Gestion Proyectos
 
Symfony
SymfonySymfony
Symfony
 
LARAVEL-01-INTRODUCCION.pptx
LARAVEL-01-INTRODUCCION.pptxLARAVEL-01-INTRODUCCION.pptx
LARAVEL-01-INTRODUCCION.pptx
 
Symfony Framework para el desarrollo de aplicaciones web
Symfony Framework para el desarrollo de aplicaciones webSymfony Framework para el desarrollo de aplicaciones web
Symfony Framework para el desarrollo de aplicaciones web
 
Atix20
Atix20Atix20
Atix20
 
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...
 
Web matrix session1
Web matrix session1Web matrix session1
Web matrix session1
 
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
 
J2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos SlidesJ2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos Slides
 
Trade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías WebTrade-Off sobre Tecnologías Web
Trade-Off sobre Tecnologías Web
 
Expressjs.pptx
Expressjs.pptxExpressjs.pptx
Expressjs.pptx
 
COMPLEMENTOS DEL NAVEGADOR
COMPLEMENTOS DEL NAVEGADORCOMPLEMENTOS DEL NAVEGADOR
COMPLEMENTOS DEL NAVEGADOR
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web Grails
 
Seminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring InsightSeminario Spring Roo. Monitorización con Spring Insight
Seminario Spring Roo. Monitorización con Spring Insight
 
Frameworks Java
Frameworks JavaFrameworks Java
Frameworks Java
 
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
Aplicaciones web con jakarta struts  - Javier Oliver FulgueraAplicaciones web con jakarta struts  - Javier Oliver Fulguera
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
 

Mehr von 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
 

Frameworks para desarrollo de aplicaciones Web

  • 1. Frameworks para desarrollo de aplicaciones Web Esteban Saavedra L´pez, Ph.D. o CEO Opentelematics Internacional Bolivia jesaavedra@opentelematics.org http://jesaavedra.opentelematics.org http://esteban.profesionales.org Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 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, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 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, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 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, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 4 / 27
  • 5. Patron MVC Patr´n MVC o Modelo Controlador Vista Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 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, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 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, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 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, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 8 / 27
  • 9. Grails Componentes de Grails Lenguaje Groovy Maquina Virtual de Java Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 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, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 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, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 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, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 12 / 27
  • 13. Caracter´ ısticas de un Proyecto Grails Que gener´ esto? o Una estructura jer´rquica de directorios a Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 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, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 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, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 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, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 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, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 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, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 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, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 19 / 27
  • 20. Creaci´n de un proyecto o Acceso al proyecto Instrucci´n o http://localhost:8080/evento Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 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, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 21 / 27
  • 22. Creaci´n de un proyecto o Proyecto desplegado Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 22 / 27
  • 23. Demostraci´n o Ejemplo de aplicacion desarrollada Demostraci´n o Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 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, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 24 / 27
  • 25. Referencias Referencias http://www.grails.org/ Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 25 / 27
  • 26. Referencias Preguntas Preguntas Preguntas, dudas, consultas, ... Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 26 / 27
  • 27. Referencias Agradecimientos Gracias... Esteban Saavedra L´pez, Ph.D. (Opentelematics) o Frameworks para desarrollo de aplicaciones Web Nov. 2008 27 / 27