Universidad Carlos III De Madrid - I.T.I.G - Proyecto Fin De Carrera
Total Page:16
File Type:pdf, Size:1020Kb
Universidad Carlos III de Madrid - I.T.I.G - Proyecto Fin de Carrera Universidad Carlos III de Madrid Ingeniería Técnica en Informática de Gestión Proyecto de Fin de Carrera Estudio de la Evolución Web y Lenguajes Dinámicos. Rincón Carrera, Juan Manuel Estudio de la Evolución Web y Lenguajes Dinámicos 1 Juan Manuel Rincón Carrera Universidad Carlos III de Madrid - I.T.I.G - Proyecto Fin de Carrera INDICE 1 Introducción ................................................................................................................................... 3 2 Objetivos ........................................................................................................................................ 4 2.1 Planificación .......................................................................................................................... 4 2.2 Estimación económica ......................................................................................................... 5 3 Requisitos ...................................................................................................................................... 8 3.1 Restricciones globales ......................................................................................................... 8 3.2 Requisitos Funcionales ........................................................................................................ 9 3.3 Requisitos No Funcionales ............................................................................................... 10 3.4 Requisitos técnicos............................................................................................................. 11 3.5 Navegadores ....................................................................................................................... 20 4 Alcance ......................................................................................................................................... 37 4.1 Descripción .......................................................................................................................... 37 4.2 Definición de funcionalidades ........................................................................................... 37 4.3 Definición de parámetros a medir .................................................................................... 39 4.4 Identificación inicial de lenguajes ..................................................................................... 40 4.5 Popularidad .......................................................................................................................... 73 4.6 Selección previa de lenguajes .......................................................................................... 74 4.7 Estudio de la web ............................................................................................................... 75 5 Proyecto ....................................................................................................................................... 85 5.1 Entregables .......................................................................................................................... 85 5.2 Cuadro resumen ................................................................................................................. 99 5.3 Selección final ................................................................................................................... 101 6 Conclusiones ............................................................................................................................. 102 7 Próximos pasos......................................................................................................................... 103 7.1 JSP ...................................................................................................................................... 103 7.2 Servlet ................................................................................................................................ 104 8 Anexo I: Código......................................................................................................................... 108 8.1 Página en HTML y CSS ................................................................................................... 108 8.2 Página en PHP .................................................................................................................. 112 8.3 Página en PSP .................................................................................................................. 123 9 Anexo II: referencias y bibliografía ......................................................................................... 133 10 Anexo III: Definiciones y acrónimos ................................................................................... 134 Estudio de la Evolución Web y Lenguajes Dinámicos 2 Juan Manuel Rincón Carrera Universidad Carlos III de Madrid - I.T.I.G - Proyecto Fin de Carrera 1 INTRODUCCIÓN El proyecto que se lleva a cabo trata de analizar las diferentes vertientes de tecnologías web poniendo en evidencia su parte evolutiva, sus funcionalidades, su futuro y su previsible lucha por la supervivencia o adaptación para una previsible unificación. Trataremos el desarrollo web desde un punto de vista evolutivo, y abarcaremos el análisis tanto desde el punto de vista tecnológico con sus inicios estáticos hasta el punto de vista social con sus motivaciones humanas por trascender en el mundo virtual, pasando por los ineludibles intereses económicos. Empezaremos, como medida de comprensión y en pos de prueba empírica, tratando diferentes lenguajes dinámicos y probando así las funcionalidades que ofrecen. Partiendo de una página en HTMLi estático (HTML 4.01) comprobaremos qué funciones podemos explotar y qué requisitos cumple. Posteriormente, probaremos lenguajes dinámicos como PHP y PSP (tecnología basada en Python) y analizaremos las funciones ofrecidas y la dificultad y calidad de éstas. Es de mencionar que CSS será incluido en cada una de las versiones con diferentes lenguajes para gestionar los estilos. En función de lo estudiado trataremos de preveer la posible evolución de las tecnologías web y sus tendencias así como la cada vez más incipiente participación del factor humano, a nivel social y artístico. El terreno en el que nos sumergimos es eminentemente cambiante y de momento cuasi caótico. Se han creado unos estándares con el objetivo de unificar las tecnologías existentes y que, cada vez, a niveles superiores son respetados y considerados como autoridad. La causa de esta “desorganización” inicial se debe, en un principio, por la libertad que ofrece internet y la guerra entre empresas proveedoras de navegadores como Microsoft con Internet Explorer y Google con Chrome o Mozilla con Firefox. Cada empresa ha intentado que prevalezca su estándar sobre los demás con el objetivo de posicionarse en el mercado y, poco a poco, van cediendo a estándares con mayor o menor velocidad. Estos estándares son W3C, EcmaScript (estandarización de JavaScript) e IETF. Se espera una nueva versión de HTML, la versión 5, del estándar W3C que ofrece nuevos etiquetas similares a las ya existentes en antiguas versiones de HTML que ofrecen una mayor organización semántica y quitan otras que se han quedado obsoletas sobretodo cediendo terreno a CSS y renovando el énfasis del scripting DOM (que es una manera de estructurar semánticamente la web para poder acceder de una manera más cómoda y rápida a sus diferentes etiquetas, ya sean HTML o XML). Estudio de la Evolución Web y Lenguajes Dinámicos 3 Juan Manuel Rincón Carrera Universidad Carlos III de Madrid - I.T.I.G - Proyecto Fin de Carrera 2 OBJETIVOS El proyecto se ha definido como una consultoría orientada al estudio y análisis del mejor entorno y lenguaje de definición para una empresa ficticia que requiere el diseño y desarrollo de su página web. Partiendo de esta premisa se dispone a analizar el entorno y contexto web global en la actualidad. Se realizará un estudio desde diferentes perspectivas que acabará confluyendo en el objetivo principal. Se ha considerado interesante tener en cuenta factores sociales que contornan las tecnologías web para poder tener una perspectiva de hacia donde avanzan y porqué son movidos. Para llevar a cabo este entendimiento se ha analizado la historia, las tendencias sociales, artísticas y económicas de la web. Una vez contextualizado el entorno se ha pasado a analizar la parte técnica del proyecto, su entorno de trabajo, las tecnologías a usar y las tecnologías a analizar. Con el estudio hecho se ha procedido a desarrollar dos webs simples con los dos lenguajes candidatos (después del estudio de lenguajes y su posterior criba) para analizar en la práctica sus funcionalidades y así poder puntuarlos con el fin de elegir uno para desarrollar el proyecto requerido para la empresa ficticia. Debido a que para conseguir los objetivos no hay necesidad ninguna de una estructura de base de datos compleja, sino que con una trivial para ver cómo acceder basta no incluiré los Modelos de Datos. 2.1 PLANIFICACIÓN A continuación, se adjunta una planificación estimada para la realización de este proyecto. Esta planificación ha sido desarrollada con Microsoft Project. La tarea considerada más importante es el análisis funcional que es donde se establecen las bases del proyecto y que se detallarán más adelante: • Análisis y definición de parámetros. • Preselección de lenguajes. • Análisis de la funcionalidad del prototipo. Estudio de la Evolución Web y Lenguajes