SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

Software quality assurance (sqa) parte iii-plan de calidad y prueba v3.0
Software quality assurance (sqa)  parte iii-plan de calidad y prueba v3.0Software quality assurance (sqa)  parte iii-plan de calidad y prueba v3.0
Software quality assurance (sqa) parte iii-plan de calidad y prueba v3.0Renato Gonzalez
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMicky Jerzy
 
Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudEliud Cortes
 
automatas finitos
 automatas finitos automatas finitos
automatas finitosAnel Sosa
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitosKleo Jorgee
 
ConexióN A Base De Datos En Netbeans
ConexióN A Base De Datos En NetbeansConexióN A Base De Datos En Netbeans
ConexióN A Base De Datos En Netbeansguest044583b
 
Evaluacion de arquitecturas
Evaluacion de arquitecturasEvaluacion de arquitecturas
Evaluacion de arquitecturasSamis Ambrocio
 
Ingenieria de requisitos
Ingenieria de requisitosIngenieria de requisitos
Ingenieria de requisitosJoamarbet
 
Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmiCuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmiChuyito Alvarado
 
Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de softwareAdes27
 

La actualidad más candente (20)

prueba de aplicaciones convencionales
prueba de aplicaciones convencionalesprueba de aplicaciones convencionales
prueba de aplicaciones convencionales
 
Principios SOLID
Principios SOLIDPrincipios SOLID
Principios SOLID
 
Software quality assurance (sqa) parte iii-plan de calidad y prueba v3.0
Software quality assurance (sqa)  parte iii-plan de calidad y prueba v3.0Software quality assurance (sqa)  parte iii-plan de calidad y prueba v3.0
Software quality assurance (sqa) parte iii-plan de calidad y prueba v3.0
 
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
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
PRESENTACIÓN RUP
PRESENTACIÓN RUPPRESENTACIÓN RUP
PRESENTACIÓN RUP
 
Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliud
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitos
 
ConexióN A Base De Datos En Netbeans
ConexióN A Base De Datos En NetbeansConexióN A Base De Datos En Netbeans
ConexióN A Base De Datos En Netbeans
 
Diapositivas xp
Diapositivas xpDiapositivas xp
Diapositivas xp
 
Evaluacion de arquitecturas
Evaluacion de arquitecturasEvaluacion de arquitecturas
Evaluacion de arquitecturas
 
Pruebas fundamentos
Pruebas fundamentosPruebas fundamentos
Pruebas fundamentos
 
Ingenieria de requisitos
Ingenieria de requisitosIngenieria de requisitos
Ingenieria de requisitos
 
Estimación Software por Puntos de Función
Estimación Software por Puntos de FunciónEstimación Software por Puntos de Función
Estimación Software por Puntos de Función
 
Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmiCuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi
 
Ejemplo rup
Ejemplo rupEjemplo rup
Ejemplo rup
 
03 java poo_parte_2
03 java poo_parte_203 java poo_parte_2
03 java poo_parte_2
 
Tecnicas de estimacion de software
Tecnicas de estimacion de softwareTecnicas de estimacion de software
Tecnicas de estimacion de software
 

Destacado

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
 

Destacado (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
 

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

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

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
 

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