Contenido
Aplicaciones web
Componentes MVC
Aplicaciones web
En la actualidad existen muchas tecnologas que se pueden emplear para implementar Aplicaciones Web, donde las ms importantes y son consideradas como estndares son:
HyperText Markup Language (HTML5) JavaScript CSS3
A good website has to be fast to download, easy to navigate, appealing to the eye, on brand and on target, offer something different from the rest, have added value, and constitute a unique experience. Simple, really. Una buena pgina web debe ser rpida, fcil de navegar, de apariencia agradable, objetiva, ofrecer algo diferente al resto, tener un valor agregado, y constituir una experiencia nica. Simple, realmente.
Componentes principales
HTML5
Elementos principales Organizacin del documento o pgina web
CSS3
Aspectos visuales Apariencia
JavaScript
Comportamiento Simula una aplicacin
Historia de HTML
1991 HTML version preliminar Tim Berners-Lee HTML Tags 1993 HTML 1993 HTML 2 preliminar 1995 HTML 2 W3C 1995 HTML 3 preliminar 1997 HTML 3.2 Wilbur 1997 HTML 4 - Cougar - CSS 1999 HTML 4.01 2000 XHTML preliminar 2001 XHTML 2008 HTML5 / XHTML5 preliminar 2011 HTML5 especificaciones completas 2022 HTML5 vigencia esperada
Nuevos elementos
Canvas
<canvas id="example" width="200" height="200"> Canvas no es soportado en este navegador </canvas> <script> var example = document.getElementById('example'); var context = example.getContext('2d'); context.fillStyle = "rgb(255,0,0)";
Video
Video
<video width="360" height="240" controls= "controls" > <source src="LittleWing.mp4 type="video/mp4"> </source> Video no es soportado en este navegador </video>
CSS3
CSS es un lenguaje para definir el estilo o la apariencia de las pginas web, escritas con HTML CSS se cre para separar el contenido de la forma, a la vez que permite a los diseadores mantener un control mucho ms preciso sobre la apariencia de las pginas Ahora posee control en el propio lenguaje
Caractersticas
Algunas de las caractersticas que ofrece CSS3:
Bordes redondeados, con degradados, imgenes
Caractersticas
Mltiples imgenes de fondo
Mltiples columnas
Caractersticas
Texto con sombra
Caractersticas
Transparencia
JavaScript
Es un lenguaje de programacin interpretado
No requiere compilacin Utilizado en pginas web Sintaxis semejante a la del lenguaje Java y el lenguaje C
JavaScript
Todos los navegadores modernos interpretan el cdigo JavaScript integrado dentro de las pginas web Se provee al lenguaje JavaScript para interactuar con una pgina web mediante DOM DOM(Modelo de Objetos del Documento) es una interfaz de programacin de aplicaciones que proporciona un conjunto estndar de objetos para representar documentos HTML
JavaScript
Para utilizar JavaScript en una pgina web, el mtodo correcto es incluir como un archivo externo, tanto por cuestiones de accesibilidad, como practicidad y velocidad en la navegacin. <script src=archivo.js></script> Es posible agregar JavaScript directamente en la pgina web, pero no es recomendado
Juntando todo
MVC (Modelo-VistaControlador)
Outlook
Ms Office Web
AutoCAD 360
WebGL (OpenGL)
Desarrollo gil
El desarrollo gil de software son mtodos de ingeniera del software basados en el desarrollo iterativo e incremental, donde los requerimientos y soluciones evolucionan mediante la colaboracin de grupos auto organizados y multidisciplinarios
Desarrollo de software
Notablemente dificil para entregar
A tiempo y Con lo presupuestado
Diferencias
Desarrollo tradicional
Comando y control Dirigido por la documentacin
Desarrollo gil
Equipos auto-administrados Comunicacin fluida Iterativo Evolucionario/Diseo iterativo Pruebas en etapas tempranas Colaborativo Ligero, proceso adaptable
Burocratico
Pesado, procesos rgidos
Implementacin
Documentacin aceptada
Pruebas
Ejecutar producto
Entrega
Scrum
Definir
Planificar
Disear+codificar+probar
revisar
iterar
Herramientas (Frameworks)
La palabra inglesa "framework" (marco de trabajo) define, en trminos generales, un conjunto estandarizado de conceptos, prcticas y criterios para enfrentar y solucionar un problema particular, consecuentemente ser capaz de tratar problemas de ndole similar.
Ventajas y desventajas
Eficientes Seguros Soporte Costo Aprender a usarlos Complicados de personalizar Cdigo abierto
jQuery
Simplificar la manera de interactuar con los documentos HTML, manipular el rbol DOM, manejar eventos, desarrollar animaciones y agregar interaccin con la tcnica AJAX
jQuery UI
jQuery Grid
Sencha ExtJs
Recomendacin
Usted decida Recomiendo ExtJs
CRUD
Create Read Update Delete
Codeigniter
Ventajas
Simple Librerias bsicas Comunidad active Buena documentacin
Desventajas
No posee maneras de crear datos tabulares No ORM No genera CRUD
Yii
Ventajas
ORM con AR Genera CRUD usando Gii Posee generadores tabulares ajax Nice layout and theming organisation
Desventajas
Las funciones ajax no son bien documentadas es necesario modificar cdigo javascript. AR no es tan Bueno como doctrine
Symfony
Ventajas
Soporta ORM con doctrine Genera la base de datos desde configuracion doctrine a traves de YML
Desventajas
Sobre configurado Problemas de estabilidad con la version 2 Muy grande Talvez un poco lento comparado con los otros
Zend
Ventajas
De los creadores de PHP Se supone que ellos saben lo major para PHP Zend Server puede mejorar desempeo
Cons
Decorators son horribles y gastan tiempo Para crear formularios es necesario escribir cdigo html Frameworks deben ahorrar tiempo, no obligor a aprender como configurar decoradores para decorar elementos bsicos HTML Configuration basadas en XML?, por que no usar solamente arrays?
Recomendacin
Por lo expuesto
Yii
Pero
No es necesario usar alguno de estos, es una codificacin relativamente simple y puede ser hecho por nosotros mismos.
Desarrollo ++gil
Como hacer ms gil el proceso de desarrollo de software?
Herramientas RAD Generadores de software
Herramientas RAD
Wysiwyg
Escritorio
Delphi, VS.Net (VB, C#)
Web
Sencha Architect
Generadores de software
Abordaje no muy nuevo
Desde los 80s
Requiere de algunas especificaciones Ideal para aplicaciones que comparten caractersticas similares (sistemas de informacin) No aplicable al desarrollo de software especifico
AutoCAD, Office, Juegos, etc.
Propuesta
Define una base de datos A partir de las tablas generar un proyecto para Sencha Architect Sencha Architect genera aplicacin web
Demo
Cree una base de datos y tablas
CREATE DATABASE cursos; USE cursos; CREATE TABLE `estudiante` ( `id` INT(8) NOT NULL AUTO_INCREMENT, `dni` INT(8) NOT NULL, `matricula` INT(8) NOT NULL, `escuela` VARCHAR(255) NOT NULL, `universidad` VARCHAR(255) NOT NULL, `nombres` VARCHAR(255) NOT NULL, `ap_pat` VARCHAR(255) NOT NULL, `ap_mat` VARCHAR(255) NOT NULL, `direccion` VARCHAR(255) NOT NULL, `nacimiento` VARCHAR(255) NOT NULL, `email` VARCHAR(255) NOT NULL, `telefono` VARCHAR(255) NOT NULL, `curso` VARCHAR(255) NOT NULL, PRIMARY KEY (`id`)); ...
Demo
Algunas especificaciones
<?php //database server define('DB_SERVER', "localhost"); //database login name define('DB_USER', "root"); //database login password define('DB_PASS', "123"); //database name define('DB_DATABASE',"cursos"); define('PROJECT_PATH', "cursos"); ?>
Demo
Ejecutar el sistema generador de aplicaciones web
Este crea un proyecto para Sencha Arquitect Puede ser usando otras herramientas
Demo
Creara los archivos necesarios para ejecutar la aplicacin usando el framework ExtJs
Conclusiones
Proyecto de desarrollo de aplicacin web
Usando cdigo plano
Tiempo estimado 50 hrs (ejemplo)
Usando Frameworks
Tiempo estimado 10 hrs