HTML5: EL NUEVO ESTÁNDAR BÁSICO DEL WEB Por Jorge Franganillo El lenguaje HTML es uno de los puntales del web. Desde hace más de dos décadas ejerce una función primordial en el proceso de distribuir información a través de Internet. En todo ese tiempo ha experimentado algunos cambios en respuesta a las necesidades de los productores de contenido y de los usuarios del web, y ahora se encuentra a punto para el cambio siguiente: el World Wide Web Consortium (W3C) está esbozando HTML5.
Esta nueva versión del lenguaje básico del web proporciona mecanismos para simplificar el trabajo y facilitar la inclusión de elementos multimedia. El principal criterio de diseño de HTML5 ha sido el de resolver problemas prácticos, y con este objetivo adopta soluciones dirigidas a facilitar el trabajo en situaciones reales. ANTECEDENTES HTML es el lenguaje de marcación de hipertexto que se diseñó en 1989 para crear páginas web. Desde su creación ha ido evolucionando de acuerdo con diversas necesidades que se orientan sobre todo a mejorar el procesamiento de la información, y así fue como aparecieron varias revisiones (HTML 2, HTML 3.2, HTML 4, HTML 4.01) que ampliaron y depuraron este lenguaje. XHTML 1 se estableció en enero de 2000 como una reformulación de HTML con sintaxis XML. Desde entonces parecía evidente que los futuros desarrollos de HTML se harían bajo la bandera del XHTML, y así consta en numerosos manuales publicados a partir de esa fecha. Durante mucho tiempo, XHTML se presentó como la evolución natural de un HTML que debería dejar de usarse. En agosto de 2002, el W3C comenzó a definir XHTML 2, una actualización de XHTML 1 con varias mejoras semánticas pero sin compatibilidad regresiva; era realmente un lenguaje nuevo y así lo confirmaba el hecho de que tenía un nuevo espacio de nombres. Pero a finales de 2009, el W3C detuvo el desarrollo de XHTML 2. En 2004 se constituyó el Web Hypertext Application Technology Working Group (WHATWG), un grupo de trabajo nacido al margen del W3C con el propósito de crear una nueva versión del estándar desde un punto de vista destacadamente práctico, y no tan académico. A mediados de 2006 surgieron voces críticas que reprochaban el avance lento del W3C, la falta de resultados concretos y lo abstracto de sus propuestas (Castro, 2007). En efecto, siete años después de que el W3C publicase las recomendaciones oficiales de HTML 4.01 y XHTML 1, aún no había ningún consenso salido del W3C sobre el camino que se debía seguir. Finalmente, en 2007, el W3C reconoció el trabajo del WHATWG y lo tomó como base para su propia actividad con el fin de proponer una actualización del estándar básico del web. Y a pesar de que el desarrollo de HTML estaba cerrado, el W3C se concentró en definir HTML5. Desde entonces ha habido cierta confusión y acalorados debates sobre cómo debería ser el lenguaje para el futuro desarrollo del web. SINTAXIS Y CORRECCIÓN DE ERRORES XHTML se creó para sustituir la sintaxis en la que se basa HTML: el SGML (Standard Generalized Markup Language), cuya finalidad principal era facilitar la creación manual de documentos. HTML era un lenguaje poco riguroso y, como consecuencia, los documentos resultaban un tanto caóticos y no siempre cumplían con la sintaxis. Esto provocó que los navegadores se hicieran más complejos para poder asumir ambigüedades y equivocaciones, es decir, para poder representar los documentos aunque tuvieran errores. Como las máquinas tienen ciertas dificultades para leer y manipular contenido etiquetado con la sintaxis de SGML, se propuso una sintaxis nueva basada en XML, un lenguaje derivado de SGML pero más comprensible para las máquinas. Así, al aplicar a HTML la sintaxis de XML, los ordenadores son capaces de manipular XHTML con facilidad y precisión. La especificación de HTML5 no se adscribe a una sintaxis o a la otra, sino que admite ambas serializaciones: HTML y XHTML. De esta manera, los creadores de contenido pueden escoger entre un enfoque práctico aunque poco riguroso (sintaxis HTML) y una visión académica y estricta (sintaxis XHTML). Con el tiempo, el W3C ha acabado aceptando que XHTML sea una recomendación paralela que puede coexistir con HTML. HTML5 no sólo define cómo se deben analizar los documentos, sino también cómo se deben interpretar si no son válidos o si están mal formados. Actualmente, los navegadores corrigen los errores de sintaxis de distinta manera, del modo en que a los fabricantes les resulta más práctico. HTML5 trata de poner fin a esa necesidad de ingeniería inversa de los navegadores, que compiten por definir cómo se deben subsanar los errores (Andersson, 2007; Keith, 2010). DOM Una de las novedades principales de HTML5 es la inclusión del Document Object Model (DOM) como fundamento del lenguaje. El DOM describe la estructura de un documento de acuerdo con el paradigma de la orientación a objetos. En otras palabras, define el conjunto de entidades que están presentes en un documento HTML y las acciones que pueden realizarse sobre ellas. Hasta ahora, el DOM siempre se había tratado de forma separada; cada navegador lo implementaba según la particular interpretación que su fabricante hacía de él. En cambio, en HTML5, el DOM forma parte del estándar. Así se garantiza que los navegadores interpretarán adecuadamente la sintaxis de HTML y que al mismo tiempo implementarán las funciones del DOM que la sustentan. Si el DOM está vinculado al lenguaje HTML, se evita el tener que desarrollar versiones distintas de una misma página para varios programas. El DOM se incluye mediante la extensión de sus API (interfaces de programación de aplicaciones), a las que añade funciones nuevas. Esta ampliación de las capacidades del DOM permite ejecutar funciones sofisticadas que hasta ahora requerían el desarrollo de programas y componentes adicionales (Álvarez, 2010). Por ejemplo, Google prevé sustituir con mecanismos propios de HTML su extensión Gears, desarrollada para sincronizar contenidos para ser usados sin conexión. Para describir la interfaz de los elementos del DOM con un lenguaje neutro, los autores de HTML5 han escogido el Interface Definition Language (IDL). Este lenguaje tiene una sintaxis similar a C++, que proporciona métodos para definir conceptos asociados a la programación orientada a objetos: atributos, métodos, constantes, herencias, etc. Pero IDL presenta una desventaja importante: carece de mecanismos para especificar la jerarquía que debe haber entre elementos y las restricciones (obligatoriedad y valores posibles) que cabe aplicar a los atributos. No obstante, los autores de HTML5 han escogido este lenguaje, en lugar de DTD o XML Schema, porque puede definir elementos y comportamientos sin depender de una sintaxis concreta, una tarea imposible para DTD y XML Schema (Korostov y Paramzin, 2010). PRESENTACIÓN Y RECOGIDA DE INFORMACIÓN HTML5 incluye elementos nuevos destinados a enriquecer la presentación de documentos. Son ejemplos de ello los elementos semánticos article, header, hgroup, nav, section, aside y footer. Con ellos se pretende evitar que los autores abusen del elemento div para delimitar partes de un documento. Los blogs y los sitios de noticias han influido en gran medida en esta evolución (Schafer, 2010). Por otra parte, existe un medio para que el usuario pueda hacer llegar datos de entrada a un servidor: los formularios, que recogen información que después remiten a aplicaciones que se ejecutan en el servidor (CGI, API, JSP, servlets u otras interfaces). HTML5 define más de una docena de nuevos controles (email, range, date, time, placeholder, autofocus, etc.) que actúan, por fin, sin necesidad de utilizar JavaScript, un lenguaje de programación que no todos los usuarios tienen habilitado (Pilgrim, 2010). HTML5 propone, pues, que sean los navegadores, y no los creadores de contenido, quienes faciliten la entrada y la validación de datos que tienen un patrón regular o están sometidos a restricciones. Así, el dolor de cabeza que supone para los diseñadores de páginas web el verificar el formato de direcciones electrónicas, intervalos de valores, términos de búsqueda, colores, fechas y horas, entre otros tipos de datos, se descarga ahora sobre los navegadores. FLASH Y CONTENIDO MULTIMEDIA Para incrustar contenido multimedia, HTML ya contaba con el elemento object, pero la nueva versión del estándar hace una propuesta más semántica. En el ámbito del multimedia, HTML5 incorpora directivas nuevas que actúan como contenedores de vídeo, gráficos vectoriales y audio. Se espera que con los elementos video y audio los navegadores tengan la capacidad de presentar el contenido de forma nativa, es decir, sin requerir componentes externos como Flash. Al fin y al cabo, una tarea sencilla como representar contenido multimedia no tiene por qué quedar en manos de un entorno cerrado y propietario. Este avance ha suscitado el debate sobre si HTML5 acabaría con Flash. Es cierto que la propuesta de HTML5 puede sustituir funciones que hasta ahora sólo eran posibles con Flash. Para reproducir multimedia no hace falta ningún mecanismo complejo, conque es razonable pensar que HTML5 desplazará a Flash como contenedor de vídeo y audio, pero no hay argumentos sólidos para pensar que Flash vaya a desaparecer (Allaire, 2010). Al fin y al cabo, Flash no sólo sirve para mostrar contenido multimedia, sino que también tiene capacidad para resolver muchas otras tareas. El objetivo de la propuesta de HTML5 es que la reproducción de vídeo y audio sea más eficiente, consuma menos recursos y se pueda gestionar con un código abierto y transparente, y sin necesidad de instalar componentes adicionales. Todo apunta a que los navegadores incorporarán estas capacidades y que muchas páginas web se modificarán para aprovecharlas. Pero de momento, aunque incluidas en el estándar, esas funcionalidades se encuentran en la primera etapa de su adopción y no permiten controlar el contenido multimedia en la misma medida que Flash. De hecho, el popular depósito de vídeos YouTube ha declarado recientemente que HTML5 no cubre todas sus necesidades (Harding, 2010). Varios son los problemas: HTML5 no cuenta todavía con un formato de vídeo estándar --se disputan ese puesto H.264, Ogg Theora y WebM--, no sustenta el visionado a pantalla completa ni permite escoger la calidad de reproducción. Por lo tanto, aunque las novedades de HTML5 son un avance hacia los estándares abiertos, es razonable pensar que Flash continuará desempeñando un papel vital en la distribución de contenido multimedia. PRESENTE Y FUTURO HTML5 se presenta como un marco estable para el desarrollo de páginas web. Ha sido definido para durar muchos años gracias a diversos mecanismos que permiten extender el lenguaje con facilidad. La filosofía de HTML5 aboga además por los estándares abiertos, que son fundamentales para impulsar la innovación e introducir en la sociedad los beneficios de las nuevas tecnologías. Bien sabemos que los estándares abiertos tienen la capacidad de mejorar nuestras vidas, y de ello son ejemplo las nuevas funciones multimedia de HTML5. Debido al uso extendido de determinados complementos, como Flash, las nuevas funciones multimedia de HTML5 no pueden aspirar a sustituirlos por completo. Pero facilitan otros métodos para presentar contenido multimedia. La intención es no depender tanto de los complementos externos y propietarios. Con todo, el proyecto de HTML5 ha comenzado a ir un poco a la deriva. Algunos navegadores han comenzado a exhibir desarrollos propietarios (Powers, 2010), lo cual amenaza con socavar la filosofía fundamental. Además, la aparente escisión entre el W3C y el WHATWG sugiere que HTML5 podría andar fuera del camino deseado, o podría emitir un estándar diferente del que la industria necesita (Huggers, 2010). El W3C y los fabricantes de navegadores representan el futuro del web. HTML5 debe cumplir con su promesa de favorecer un navegador estándar, abierto y único. Esta debe ser la preocupación principal, más allá del dilatado debate, quizá excesivo, en torno a la reproducción de vídeo. Aún hay mucho por hacer en HTML5 antes de poder integrarse en todos los ámbitos del web. Hay tiempo suficiente para volver al buen camino. El último borrador de la especificación HTML5 se puede consultar en <http://dev.w3.org/html5/spec>. BIBLIOGRAFÍA Allaire, Jeremy. "The future of web content: HTML5, Flash and mobile apps". TechCrunch, 5 de febrero de 2010. <http://techcrunch.com/2010/02/05/the-future-of-web-content-html5-flash-mobile-apps> Álvarez García, Alonso. HTML5. Madrid: Anaya Multimedia, 2010. Andersson, David. "HTML5, XHTML 2 and the future of the web". Digital Web Magazine, 10 de abril de 2007. <http://digital-web.com/articles/html5_xhtml2_and_the_future_of_the_web> Castro, Elizabeth. HTML, XHTML y CSS. Anaya Multimedia, 2007. Harding, John. "Flash and the HTML5 <video> tag". YouTube API Blog, 29 de junio de 2010. <http://apiblog.youtube.com/2010/06/flash-and-html5-tag.html> Huggers, Erik. "HTML5, open standards and the BBC". BBC Internet Blog, 13 de agosto de 2010. <http://www.bbc.co.uk/blogs/bbcinternet/2010/08/html5_open_standards_and_the_b.html> Keith, Jeremy. HTML5 for web designers. Nueva York: A Book Apart, 2010. Korostov, Alexander V.; Paramzin, Dmitry J. "The arrival of HTML5". Dr. Dobbs, 13 de agosto de 2010. <http://drdobbs.com/web-development/226700204> Pilgrim, Mark. HTML5: up and running. Cambridge [etc.]: O'Reilly Media, 2010. Powers, Shelley. "Apple, Opera, and Mozilla: Why are you working against open standards?". Burningbird, 10 de junio de 2010. <http://burningbird.net/node/108> Schafer, Steven M. HTML, XHTML y CSS. Madrid: Anaya Multimedia, 2010. -- Jorge Franganillo Miembro del Grupo ThinkEPI Facultat de Biblioteconomia i Documentació Universitat de Barcelona http://franganillo.es ---------------------------------------------------- Los archivos de IWETEL pueden ser consultados en: http://listserv.rediris.es/archives/iwetel.html ----------------------------------------------------
