HTML5, la última versión del estándar HTML, lleva unos años en desarrollo y todavía queda tiempo hasta que todas sus características terminen de transformarse en estándares (de hecho, ni siquiera se espera HTML6: las características de próxima generación están implementándose en lo que llaman HTML.Next). Y, desde que estamos oyendo hablar de HTML5, hemos escuchado todo tipo de promesas, algunas de las cuales no se han cumplido (ni se van a cumplir que sepamos).
Pero, yendo más allá, vemos que, pese a que formalmente no es más que un borrador, HTML5 es muy importante en la Web de hoy, e incluso en algunos ámbitos más. Demos un repaso a cuál es la situación actual de HTML5.
HTML5: una evolución necesaria
Vamos a hablar un poco de estándares. HTML es quizá uno de los más importantes y de los más conocidos por todos nosotros, o por lo menos uno de los estándares con los que más contacto tenemos (aunque quizá desconiciéndolo). HTML surge de un poderoso lenguaje de etiquetas llamado SGML, y fue publicado en 1991, aunque el IETF no publicó el borrador para su estandarización hasta 1993. La figura superior es un pequeño resumen de la evolución de HTML.
Si miramos el magnífico artículo sobre la historia de HTML que nuestros compañeros de Genbeta Dev publicaron el año pasado veremos que este estándar ha evolucionado a lo largo de todos estos años, pero que HTML como tal se quedó algo estancado a finales del milenio pasado, enfocándose en XML. Hasta 2004, año en que se creó la WHATWG.
¿Por qué una nueva especificación para HTML era cada vez más necesaria? Porque la Web estaba comenzando a depender demasiado de plugins de terceros (fundamentalmente Flash), y crear contenido enriquecido para ser ejecutado mediante este complemento no es (era) en absoluto barato. HTML5 es desarrollado por WHATWG, que cuenta con una serie de ilustres miembros, a los que en 2007 se unió el propio W3C.
WHATWG se define como una comunidad interesada en hacer evolucionar a la Web. Fue fundada por gente de Apple, Mozilla y Opera debido a la falta de interés en HTML por parte del W3C. WHATWG se encarga, actualmente, de desarrollar el estándar HTML, así como otras características como los Web Workers, el Web Storage o los WebSockets, por poner algunos ejemplos.
¿Qué prometía HTML5?
HTML5, en un principio, prometía dotar de muchas más características al estándar HTML y a los navegadores Web. Y todos pecamos de ser excesivamente optimistas, tildando a HTML5 del absoluto futuro de prácticamente todo lo relacionado con la informática. En el minuto 4:35 de la charla anterior, impartida en octubre de 2012 por Chris Heilmann (developer evangelist de Mozilla), vemos exactamente a lo que me refiero, y que ahí llaman "the hype cycle".
Porque con HTML5 hemos visto promesas de todo tipo: desde una Web no dependiente de plugins hasta que el futuro completo de las aplicaciones para nuestros sistemas operativos pasa por ese nuevo estándar. No en vano, muchas de las mejoras de HTML5 pasan por mejorar la integración de las aplicaciones con los navegadores (y éstos con los sistemas operativos), o con el acceso a hardware de las propias aplicaciones Web.
Hemos visto que muchas de las cosas que se propusieron en su momento han sido implementadas, pero también vemos que otras características que en su momento se nos prometieron tanto a usuarios como a desarrolladores han sido abandonadas o pospuestas. La figura inferior, de Sergey Mavrody (licencia Creative Commons) muestra una serie de características de HTML5 o construidas a su alrededor. Algunas, como véis, están marcadas en color gris: eso significa que han sido abandonadas. Ese es el caso de WebSQL.
¿Qué tenemos ahora mismo?
Estamos al final de la gráfica que vemos en el vídeo superior: en un punto medio entre las casi descabelladas promesas de la segunda mitad de la década pasada y la decepción más absoluta que nos puede llevar a pensar que "esto no vale para nada". Con HTML5 y tecnologías relacionadas disponemos de muchas características que antes eran imposibles sin complementos de terceros. Por poner unos cuantos ejemplos:
-
Reproducción de audio y vídeo sin necesidad de complementos (aunque sí de códecs).
-
El elemento <canvas>, que nos permite dibujar en nuestra pantalla utilizando JavaScript.
-
SVG y MathML embebido dentro de los propios documentos HTML.
-
Etiquetas semánticas como <nav>, <section> o <aside>.
-
API que permiten integrar aplicaciones Web con nuestros sistemas operativos, por ejemplo para hacer drag and drop, de geolocalización, para trabajar sin conexión a Internet...
-
Acceso a aceleración gráfica en nuestros navegadores para contenido bidimensional y tridimensional.
-
Mejoras en los formularios.
Un futuro prometedor...
HTML5 es el futuro más inmediato de la Web: muchos de los sitios y aplicaciones Web más importantes del momento implementan algunas de sus características, como la reproducción de vídeo, las API que permiten integrarse con el sistema operativo o la aceleración gráfica. Muchas veces vemos verdaderas virguerías en forma de experimento.
Además, hay que tener en cuenta que HTML5 es especialmente interesante para ofrecer experiencias de usuario impresionantes en dispositivos que, por defecto y casi por definición, no admiten la instalación de complementos de terceros, como móviles y tabletas. El navegador Web de iOS (en iPhone y iPad), sin ir más lejos, únicamente admite HTML5 (y sus tecnologías relacionadas).
Pero el futuro prometedor, según muchos fabricantes, va más allá de la Web, y pasa por utilizar HTML5 como una plataforma completa de desarrollo de aplicaciones, en conjunción siempre con CSS3 y JavaScript. Por ejemplo, Windows 8 nos permite desarrollar aplicaciones para Windows 8 y Windows RT utilizando las mismas tecnologías que utilizaríamos para desarrollar una aplicación Web.
De hecho, algunos sistemas operativos han ido más allá. El sistema operativo de la renacida Palm, webOS, ya permitía que las aplicaciones fueran desarrolladas principalmente con tecnologías Web. Ubuntu Phone también ofrece un SDK para desarrollar e integrar aplicaciones Web en el sistema operativo. Y, llevando el concepto al extremo, Firefox OS hace que toda la interfaz gráfica de usuario sea desarrollada mediante tecnologías Web, pasando a ser el sistema operativo una especie de Linux con Gecko.
... pero no exento de críticas
No obstante, como comento, casi toda la industria ha sobreestimado HTML5 durante todos estos años, y algunos se han arrepentido de su apuesta al no tener los resultados esperados. Tal es el caso de Mark Zuckerberg (y de Facebook en general), cuyas primeras aplicaciones móviles recibieron duras críticas por su mal rendimiento.
Las aplicaciones nativas (y entendamos "nativas" por "no Web", teniendo en cuenta que muchos sistemas operativos ejecutan sus aplicaciones mediante una especie de runtime), en este momento, ofrecen un rendimiento superior a las aplicaciones Web. Hay mucho trabajo por delante en ese sentido. Firefox OS, por ejemplo, consigue un rendimiento aceptable a costa de eliminar una cantidad enorme de middleware con el que sí cuentan los otros sistemas operativos.
El potencial de HTML5 es impresionante y la creatividad de los creadores es todavía mayor. Pero los desarrolladores de navegadores y de los propios estándares aún hay mucho trabajo por delante.
En Genbeta Dev | El lento amanecer del estándar HTML5 de la W3C
Ver 28 comentarios