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



Documentos relacionados
SOFTWARE & SYSTEMS PROCESS ENGINEERING METAMODEL SPECIFICATION V.20 SPEM 2.0

Frameworks MVC para el Desarrollo Web - Symfony

#SoftwareLibre14. Páginas Web con Software Libre. WordPress

Symfony. Framework para el desarrollo de aplicaciones Web con PHP

Sesión 17. FRAMEWORKS

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

Capitulo VI. Conclusiones.

TFM Comunicación, Redes y Gestión de Contenidos

Objetivos del curso. Nuestra experiencia, nuestra mejor garantía. Duración y materiales del curso. Formación online

WordPress.org y WordPress.com Qué es?

Manual de usuario Versión: 1.3 Edición: 05/02/2015 1

Unidad de Competencia Aprendizajes Esperados Semana Actividades Presenciales

Escrito por Agustin Luna Miércoles, 11 de Abril de :07 - Actualizado Viernes, 23 de Noviembre de :24

POSGRADO EXPERTO.NET DESARROLLO DE SOFTWARE

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA

Manual de Administración Solución ADSL Profesional

INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: cisvirtual@ucv.edu.pe. 1.

Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts

PÁGINAS WEB BY ARTGRAFIC

Cursos de DISEÑO DE PÁGINAS WEB. Empresa Colaboradora: [ ] Diseño de Páginas Web

ALTAS MANUAL DE USUARIO PARA EL PROTOTIPADO DE APLICACIONES

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

Ficheros de configuración de Nagios (ejemplo con nrpe y snmp)

Curso. Inicio. Desarrollo de Aplicaciones Web con Symfony2. II Versión

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

Sistemas de administración. Mauricio Restrepo Galeano. Docente CESDE escuela de informática. Administrador de redes CediMed S.A.

Integración de servicios de almacenamiento virtual

Creación y administración de grupos locales

Contenido Qué es Joomla?... 2 Tipos de extensiones... 4 Referencias... 8

Presentación de servicios

Manual de Desarrollado de Módulos en Español. Version Beta. Escrito por: Bruno Macias V.

INFORME FINAL DE PASANTIA

Descuartiza un módulo de Magento

Sesión 20. MVC en ruby on rails. Luisa Fernanda Rincón Pérez

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

Ventajas de usar Symfony

NOS ASEGURAMOS DE ENTREGAR SERVICIOS DE CALIDAD ACORDE A SUS NECESIDADES

Laboratorio de Redes y Sistemas Operativos Laravel 5.0

By: Ing. Jonathan Merino Farías.

WebFácil WebFácil es un programa para crear páginas web, totalmente gratuito y muy sencillo. Estas son sus principales características:

Algunos Administradores de Contenido se presentan a continuación:

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

Ubuntu Server HOW TO : SQUID. EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como instalar servidor proxi Squid.

Capítulo 2. Marco Teórico

Sistema de Gestión de Contenidos XML. Ing. Lianet Luaces Torres Ing. Ayleen Menéndez Senarega Ing. Yanet Bellón Landa Ing. Renier Valdés González

ANEXO D Manual de Técnico MANUAL TECNICO PROMO APP PROMO PLATFORM PROMO API PROYECTO FINAL

IMPLEMENTAMOS y GESTIONAMOS GESTOR DE CONTENIDOS. Gestiona tu propia web

Framework para el desarrollo ágil de aplicaciones

[8 ] Contenidos: tipologías y organización.

OpenERP - Web Es completo Es potente Es flexible Es libre Es accesible

MAESTRO DE PHP PHP NIVEL 1

Curso Online de Diseño Web Especializado en Dispositivos Móviles con HTML 5, CSS3 y jquery Mobile: Práctico

Creación, modificación y almacenamiento de contenidos

CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB

Tutorial: Python + Soap Web Service. Daniel Montenegro Cordero

Aplicaciones Web con Delphi

Software libre aplicado al desarrollo de aplicaciones corporativas. Proyecto gvhidra.

Internet Information Server

Eclipse Process Framework Composer EPFC, es un editor de procesos gratuito que sirve para editar fragmentos de método, procesos o metodologías y

1. Resumen Objetivos Introducción. 3

Dinámica El framework RADical J2EE sin complicaciones

En Acocex somos conscientes de que nuestro mayor valor son nuestros consultores. Es por eso que hemos diseñado una web profesional con el fin de

REGISTRO DE EMPRESAS Y PERSONAS BASE DE INFORMACIÓN DE CLIENTES & CONTACTOS

Implantar Microsoft Software Updates Service (SUS)

CL_55010 Sharepoint Designer Customizing and Branding SharePoint 2010 and Office 365

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN

Sesión 23. Luisa Fernanda Rincón Pérez

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

Jorge Ferrer Director General España y Portugal Arquitecto Software Liferay Spain Symposium

Symfony Entorno de trabajo para el desarrollo de aplicaciones. Rodolfo Campos

Web2Py para todos. Python Entre Todos (número 1, Agosto 2010) Licencia CC-by-nc-sa

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá

3. Qué necesitamos para usar Wordpress?

TUTORIAL NODE.JS POR DARÍO FERNÁNDEZ A. PARA EL CURSO DE DESARROLLO Y SERVICIOS WEB PROFESORA LUISA FERNANDA RINCON PEREZ OCTUBRE 10 DEL AÑO 2014

Especialista TIC en Diseño Web SEO con Drupal 7. Nivel Profesional

ARQUITECTUA DE M2M MIGUEL ÁLVAREZ Y CLARA HERRERO. Documento inicial

ADWEB CRM. Administre su Fuerza de Ventas como una empresa de CLASE MUNDIAL!

PROGRAMA FORMATIVO Desarrollo de aplicaciones JAVA (Programador JAVA)

Retos en el Desarrollo de Interfaces para Aplicaciones Modernas. Arturo Durán Etask Technologies

Aplicación para la gestión de prácticas en empresas. Memoria

Capítulo 6: Conclusiones

SalesPlus.es SugarCRM - Manual del Usuario 1

#SoftwareLibre13 Reutiliza tu Antiguo PC con Linux

Servidor Apache. Instalación Configuración Apache con Webmin 24/03/2014. Vicente

Lista de nuestras Soluciones Web Web Básica 87,50. Web Básica Móvil 110. Web Presencia 350

La Búsqueda Avanzada te ayuda a encontrar sitios que responden a criterios muy específicos. Las opciones que elijas se aplicarán sólo a la búsqueda

Darío Balbontín Daniel Quevedo

ÁLAMO SOFTWARE PARA GESTIÓN INMOBILIARIA

all: doctrine: class: sfdoctrinedatabase param: dsn: mysql:host=localhost;dbname= bdd_erhaj username: erhaj password: admin

Capítulo 5. Cliente-Servidor.

Ruby on Rails, una forma rápida de hacer aplicaciones web

Tarea 1 Diseño Web en entorno cliente José Luis Comesaña

Programa de soporte y gestión de incidencias efectivo y fácil de usar

Arturo Cepeda Pérez. Software Engineering Tutor MANUAL DE INSTALACIÓN Y CONFIGURACIÓN

Análisis de aplicación: BlueFish

Herramienta de Desarrollo Netbeans

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

Escrito por emilio chica Miércoles, 11 de Abril de :34 - Actualizado Viernes, 23 de Noviembre de :16

Curso de Programación de Aplicaciones Web Usando Lenguaje PHP Y JAVASCRIPT

Cómo crear un libro en Moodle?

Transcripción:

Catalyst: Framework para el desarrollo de aplicaciones Web Esteban Saavedra Lopez email: estebansaavedra@yahoo.com http://jesaavedra.opentelematics.org

Agenda Introducción Patron MVC Catalyst Demostración Conclusiones

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.

Cual el objetivo de un framework? Desarrollo rápido y estructurado Reutilización de código Disminuir el esfuerzo en el desarrollo (Nos concentramos directamente en la solución del problema) Aprovechamos las funcionalidades ya implementadas. Tener como aliado a las metodología de desarrollo Ágiles(XP, Scrum, AD,...)

Patrón MVC Modelo Vista Controlador

Que es Catalyst? Es un framework para el desarrollo de aplicaciones web. Es la respuesta de Perl para Ruby on Rails. Permite el desarrollo de aplicaciones web de forma rápida.

Filosofía de Catalayst Reutilización de código. Desarrollar aplicaciones web de forma rápida, sencilla y divertida. Utilizar los mejores componentes actualmente disponibles. Combinar todo en un paquete fácil de usar.

Por que Catalyst? Se basa en el patrón MVC. Tiene todo lo necesario para desarrollar aplicaciones Web. Soporta Ajax. Posee buena documentaci ón. Es multiplataforma. Posee una numerosa comunidad de desarrolladores y usuarios Inspirado en Ruby on Rails (Padrino de la mayoría de los Frameworks)

Componentes de Catalyst Todos sus componentes se encuentran en CPAN

Instalación de Catalyst Debian, Ubuntu,... > $ apt-get install libcatalyst-perl CPAN > $ cpan Catalyst::Runtime Catalyst::Devel

Estructura de un proyecto de Catalyst Catalyst proporciona una estructura jerárquica: > Proyecto > Aplicación > Módulo > Acción > Vista

Creación de un proyecto Creamos proyecto > $ catalyst.pl proyecto Ingresamos al directorio del proyecto. > $ cd proyecto Ejecutamos el servidor de pruebas > $ perl script/proyecto_server.pl

Que generó esto? Una estructura jerárquica de directorios

Pasos para crear un proyecto 1Crear el proyecto 2Crear los dominios del proyecto 3Generar los CRUDs 4Adecuar los templates (CSS y/o JavaScript) 5Publicar la Aplicación

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 ) > Validación de formularios > Efectos especiales

Demostración

Crear un proyecto /usr/bin/catalyst.pl Gestion

Crear una vista genérica perl script/gestion_create.pl view HTML TTSite

Crear la BD

Insertamos datos

Creamos el modelo perl script/gestion_create.pl model GestionDB DBIC::Schema Gestion::Schema::GestionDB create=static dbi:sqlite:gestion

Incluir las relaciones En Expositor (lib/gestion/schema/gestiondb/expositor.pm) PACKAGE ->has_many( conferencia => 'Gestion::Schema::GestionDB::Conferencia', 'expositor_id',{cascading_delete => 1} ); En conferencia (lib/gestion/schema/gestiondb/conferencia.pm) PACKAGE ->belongs_to( expositor_id => 'Gestion::Schema::GestionDB::Expositor');

Incluir métodos En Expositor sub nombrecompleto { my $self = shift; return $self->paterno. ' '. $self->nombre; }

Manejo de plantillas en /lib/gestion/view/html adicionar TEMPLATE_EXTENSION => '.tt2',

Crear una nueva pagina de inicio /root/src/index.tt2

Hacer que actue la pagina de incio lib/gestion/controller/root.pm

Apariencia de la nueva página de inicio

Crear una acción listar Expositores lib/gestion/controller/expositor.pm

Listado de Expositores y conferencias root/src/expositor/list.tt2

Listado de Expositores y Conferencias

Ejemplos Desarrollados

Aplicaciones de ejemplo (1)

Aplicaciones de ejemplo (2)

Frameworks de desarrollo

Conclusiones Tiene todo lo necesario para desarrollar aplicaciones Web Facilitan enormemente el desarrollo de aplicaciones Posee buena documentación Esta en constante desarrollo (muchas funcionalidades en base plugins) Al tener como aliado a las metodologías de desarrollo Ágiles(XP,AD,...), se convierte en un fuerte candidato para desarrollo de aplicaciones web corporativas.

Consultas