Sesión 17. FRAMEWORKS



Documentos relacionados
Unidad de Competencia Aprendizajes Esperados Semana Actividades Presenciales

Diseño y desarrollo de el Generador de Tiendas virtuales usando Líneas de Diseño de productos

Introducción a Javato

Capítulo II. Arquitectura del Software

SÍLABO DE SOLUCIONES WEB Y APLICACIONES DISTRIBUIDAS

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman

Catalyst: Framework para el desarrollo de aplicaciones Web Esteban Saavedra Lopez

Analista Programador J2EE

Portafolio de finanzas implementado en Joomla! Antoni Aguiló Tarré PFC de ingeniería informática 01/07/2010

PLAN FORMATIVO MODALIDAD I

Programa de actualización profesional ACTI.NET. Desarrollo de aplicaciones empresariales con ASP.NET MVC y Visual Studio 2010

Herramienta de Desarrollo Netbeans

Aplicaciones en Tiempo Real con node.js Por: Oscar Gracia. Aplicaciones en tiempo real con node.js. Marzo

PATRON:DAO LENGUAJE DE PROGRAMACION: JAVA IDE: ECLIPSE FRAMEWORK: STRUST2. -Permite Abstraer y Encapsular los accesos a un repositorio de datos.

CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB

Elección de tecnología para la capa de presentación de SOA. Huibert Aalbers Senior Certified Software IT Architect

Centro de Capacitación en Tecnologías de la Información

MDA: Arquitectura Dirigida por Modelos

TFC J2EE. Aplicación Web para la gestión de facturación de una empresa de cerrajería. Sara Gutiérrez Melero ITIG Junio de 2012

Capítulo 2. Marco Teórico

Framework para el desarrollo ágil de aplicaciones

Documento Técnico Gerardo Barcia Jonathan Trujillo María Alejandra Uribe

Empleo. CURSO FORMATIVO Desarrollo WEB JAVA EE. Coordinador Académico Antonio José Martín Sierra

Rafael Doña Gil. Enginyeria Tècnica en Informàtica de Sistemes. Consultor: Jose Juan Rodríguez

Empleo. CURSO FORMATIVO Desarrollo WEB con PHP. Coordinador Académico Antonio José Martín Sierra

Symfony: Framework para desarrollo en PHP5

Curso de Spring Framework

Diseño y desarrollo de aplicaciones Web: PHP, MySql y Apache

Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz

Soluciones informáticas

FRAMEWORKS (Conceptos y Prácticas)

Arquitectura de aplicaciones

BackflipSD Modelo de Diseño

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz

Avanzado. tip. ddy. Informaciones Human Business Fonos: / informaciones@hbusiness.cl Web:

Symfony2. Junio. Inicio. Curso Desarrollo de aplicaciones web con. Básico-Intermedio

Tema Tecnologías de Desarrollo

INFORME FINAL DE PASANTIA

INFORME FINAL DE PASANTIA

Desarrollo y servicios web Sesión 18

Gestión de Incidencias

Estilos de Arquitectura y. Patrones de Diseño Arquitectónico. Patrones de Arquitectura

Java 7.0 Advanced Application Developer

BUENOS DIAS! Ing. Germán Ziegler

DISEÑO E IMPLEMENTACIÓN DE UNA BASE DE DATOS PARA LA ONG ASEM

Depto de Cs e Ing. de la Computación Universidad Nacional del Sur

DESARROLLO WEB CON YII FRAMEWORK LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN

SOPORTE MÓDULOS WEB PYTHON BASADOS EN CGI MANEJO DE SESSIONES AUTENTICACIÓN Y AUTORIZACIÓN PERSISTENCIA PROGRAMANDO APLICACIONES WEB CON PYTHON

BREVE INTRODUCCION A ASP.NET MVC

Oferta de Prácticas Externas Curriculares para el Grado en Ingeniería Informática Curso

Diplomado Programación Web con PHP, MySQL 5.0, Apache y Ajax

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Indizen Labs imade. Marco de Desarrollo Aplicaciones de Indizen

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS

Patrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms

Desarrollo Web Front-End utilizando Diseño Adaptativo. Ing. Henry Llanos Carranza

Ambientes de Desarrollo

MASTER JAVA AVANZADO Master en desarrollo de aplicaciones avanzadas con JAVA 2008

7. CONCLUSIONES Y TRABAJOS FUTUROS

INSTITUCION UNIVERSITARIA INPAHU BASES DE DATOS EN LA WEB

Rubén Soleto Buenvarón, Enrique Benito Domínguez, David Miranda Barrera y Julián Pérez Sampedro.

Arquitectura de Software

Arquitecturas Distribuidas. Eduardo Ostertag Jenkins, Ph.D. OBCOM INGENIERIA S.A.

RIA. Desarrollo con Tecnologías Open Source. Diego F. Quiroga

POSGRADO EXPERTO.NET DESARROLLO DE SOFTWARE

Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL AVANZADO

Alfresco permite su integración y personalización en sistemas de gestión documental para implementar funcionalidades específicas

TABLA DE CONTENIDOS. Dedicatoria. Agradecimientos. Tabla de Contenidos. Indice de Figuras. Indice de Tablas. Resumen

Proyecto Fin de Carrera

Desarrollo Web con Grails Framework

80295 Extending Microsoft Dynamics CRM 2011

WORKSHOP Spring Framework Developer

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Julio Cesar Hernández García

El Framework de desarrollo del Consejo

Patrones de Diseño Orientados a Objetos 2 Parte

Destinos de prácticas ofertados para el GRADO EN INGENIERÍA INFORMÁTICA (8º semestre)

Lineamientos para el desarrollo de sistemas

NOS ASEGURAMOS DE ENTREGAR SERVICIOS DE CALIDAD ACORDE A SUS NECESIDADES

PROGRAMACIÓN PÁGINAS WEB JAVASCRIPT Y PHP

Hybreed Plataforma de desarrollo de aplicaciones móviles híbridas. Descripción y roadmap de producto

Coordinación de SS y ER. Anteproyectos del CA TCyE

Arquitectura. 1.- Aplicaciones Web. Definición. Arquitectura clásica. Contenidos. 1.- Aplicaciones Web

Desarrollo Profesional con Open Source en Java. Abner Ballardo Urco


POR QUÉ NUESTRO FRAMEWORK DE DESARROLLO DWPORTAL/APP?

Enterprise Architect

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES WEB DAW 350 HORAS

Academia de Ingeniería en Sistemas Computacionales

Capítulo III. Análisis y diseño.

PROGRAMA INSTRUCCIONAL

Transcripción:

Sesión 17. FRAMEWORKS Luisa Fernanda Rincón Pérez 2014-2

Qué es un framework de desarrollo? Es un conjunto de clases que colaboran y pueden ser extendidas y personalizadas para usos específicos. Representa una implementación base para un conjunto de problemas relacionados. (Johnson and Foote 1988)

Cuál es el objetivo principal de los frameworks? Lograr que los desarrolladores se concentren en los aspectos funcionales del problema a resolver sobre los aspectos técnicos que fueron resueltos anteriormente

Cuáles son los beneficios de usar frameworks? Define una estructura predefinida de proyecto Estandariza el desarrollo y habitualmente se acogen a las mejores prácticas Ofrece flexibilidad, y agilizan habitualmente el desarrollo Resuelven problemas conocidos que ocurrieron con anterioridad Soportan buenas prácticas de seguridad de aplicaciones Costo. La mayoría son de uso libre

Cuáles son las desventajas de usar frameworks? Se aprende el framework no el lenguaje. Ejm programar con Jquery no es conocer javascript Dependencia del código fuente respecto al framework Demanda de recursos en ocasiones superior a la necesaria Difícil modificar código interno del framework y detectar errores cuando se relaciona con componentes del framework Curva de aprendizaje

Características de los frameworks Proveen puntos específicos de extensión a menudo llamados plugins ( Ejm Eclipse)

Tipos de frameworks Verticales Horizontales Sirven para una función específica. Son completos. Ejm Hibernate Sirven para realizar una aplicación completa. Ejm cakephp, Spring, Ruby On Rails

Tipos de frameworks II Caja blanca Clases abstractas cuyo comportamiento se personaliza sobre-escribiendo o adicionando nuevos métodos por medio de subclases Dan flexibilidad a la implementación. Requieren conocimientos de la estructura interna del framework Caja negra Separan las extensión por medio de plugins. Los desarrolladores solo necesitan entender la interfaz y no la implementación interna del framework. Disminuye la flexibilidad pero restringe también el acoplamiento.

Cuáles son las tareas que simplifican los frameworks? Ajax Mapeo a bases de datos

PHP Comparación de algunos frameworks Fuente: http://www.bestwebframeworks.com/compare-web-frameworks/php/ Ruby

Java http://www.bestwebframeworks.com/compare-web-frameworks/java/

HTML 5 PYTHON

Principio de inversión de dependencias https://www.youtube.com/watch?v=dzvftnbuk3e

Principio de inversión de dependencias A. Las clases de alto nivel no deberían depender de las clases de bajo nivel. Ambas deberían depender de las abstracciones. B. Las abstracciones no deberían depender de los detalles. Los detalles deberían depender de las abstracciones.

Qué es un patrón de arquitectura? Búsqueda de soluciones a problemas comunes en el desarrollo de software, pero con mayor nivel de abstracción que los patrones de diseño

Qué es un patrón de arquitectura? Búsqueda de soluciones a problemas comunes en el desarrollo de software, pero con mayor nivel de abstracción que los patrones de diseño

Qué es el patrón de arquitectura MVC? El software se divide en tres piezas: el modelo, la vista y el controlador

Ejemplo aplicación web Modelo Conexión a bd Sentencias SQL Representación objetos de dominio Vista CSS HTML Javascript Controlador PHP, Ruby, Python

Beneficios de MVC Separación de conceptos y de tecnologías Facilidad de mantenimiento

Algunas fuentes http://www.1stwebdesigner.com/design/proscons-frameworks/ http://www.emprenderalia.com/deberiasusar-un-framework-para-tu-proyecto-web/ http://www.bestwebframeworks.com/ Apel, S., Batory, D., Kästner, C., & Saake, G. (2013). Feature-Oriented Software Product Lines: Concepts and Implementation (p. 308). Springer Berlin Heidelberg. Retrieved from http://link.springer.com/content/pdf/10.1007 /978-3-642-37521-7.pdf