La última revisión del estándar HTML (la 5) ya está prácticamente encarrilada. Aunque todavía no se encuentra en su versión definitiva, parece que el
estándar ya está bastante manuro y que los cambios futuros ya van a ser poco relevantes.
Como en las versiones anteriores, el World Wide Web Consortium (alias w3c) es la entidad que mantiene y publica el estándar, con la participación de diversas
organizaciones y en especial, de las empresas del sector que presionan "hacen propuestas" para que el estándar se adapte a sus productos.
Así pues, casi, casi, podemos considerar que ya lo tenemos encima.
La web es una parte de internet muy golosa. Al fin y al cabo, es lo que más utilizamos todos. Aunque Internet en sí no es más -siendo muy simplista- que una
agrupación de redes de comunicaciones, los servicios que se ofrecen son muy variados (que si messenger, skype, juegos en red...) pero la web es sin duda la
estrella. Así que meter la cuchara en el caldero de la web es importante.
En este artículo, unas simples reflexiones un tanto irreflexivas sobre éste nuevo estándar o dicho de otra manera, cómo hacer de adivino analista de
actualidad informática y equivocarse con seguridad ;-)
---
Como el que suscribe ya es algo mayor y esto de la web ya le pilló crecidito, tiene una tendencia un tanto machacona a ver las cosas con perspectiva
histórica (a las personas mayores nos gusta contar batallitas).
En fin, el caso es que me sorprende ver lo mucho que se ha tardado en llevar adelante ésta revisión del html.
Recuerdo las primeras implementaciones de HTML (yo fui usuario del Mosaic)... pero no recordaba bien las fechas. Así que investigando por la web -que lo sabe
todo-, he podido descubrir que la primera versión de HTML, nacida de las propuestas de
Tim Berners-Lee data de 1993. (http://www.w3.org/MarkUp/draft-
ietf-iiir-html-01.txt)
La segunda revisión de 1995 (http://tools.ietf.org/html/rfc1866). La tecera, y que yo recuerdo como importante (http://www.w3.org/TR/REC-html32) es de 1997 y
la cuarta -que utilizamos ahora- (http://www.w3.org/TR/REC-html40/) de 1999.
¡Caramba! Mucho ha llovido sin revisiones en el tema. Más de diez años para obtener una revisión del estándar de una de las herramientas más importantes del
momento actual.
Bueno... eso no es ni bueno ni malo... pero sí significativo. La web se ha movido "sola"... mejor dicho, la han movido a base de empujones dados por las
distintas empresas y organizaciones del sector. Por supuesto que se ha producido evolución en estos años, pero no promovido por estándares sino por intereses
y batallas en distintos flancos.
Por ejemplo, el JavaScript (el lenguaje de script de los navegadores) se ha desarrollado de una manera uniforme, peo con una cierta irregularidad que ha
vuelto un poco locos a los programadores -especialmente en puntos un tanto avanzados-. Cada fabricante o desarrollador de navegadores lo ha ido ampliando o
variando por donde ha podido, moviéndose uniformemente pero dando algún que otro quiebro por el camino.
Merece especial mención el DOM, la representación interna de una página web en la memoria del ordenador. Aunque la versión 4 de HTML ya describe con cierta
pulcritud el DOM, no es suficiente para las páginas y aplicaciones web de hoy en día. Los famosos errores de Javascript que los navegadores sueltan de vez en
cuando vienen propiciados precisamente porque la representación interna de una página varía de un navegador a otro y de una versión a otra. Sin embargo, los
programadores no pueden (ni deben) estar pendientes de esas variaciones.
Para cubrir ese hueco, empezaron a aparecer los "plugins", como Flash, silverlight, los applets de Java y algunos otros... Dado que el estándar (y los
navegadores) no tienen un comportamiento uniforme, y a menudo, no proporcionan potencia sufiente para según qué cosas, a traves de un "añadido" fabricado por
un tercero, damos funcionalidad extra a una página. Eso está bien... nos hemos beneficiado de esa forma de trabajar... Se han desarrollado cosas muy majas
con Flash... applets interesantes con Java... y Silverlight es muyyyy boniiiito ... Pero bueno, al grano... eso obliga a los usuarios a ser "expertos" en el
manejo de plugins... Mantenerlos actualizados, tener permisos en su sistema para instalarlos y mantenerlos. Los desarrolladores de páginas y aplicaciones web
deben "obligar" a los usuarios a que su equipo cumpla unas determinadas condiciones... y además, se depende de los desarrollos de terceros, de los
fabricantes de estos plugins. Una peligrosa dependencia, por no hablar de las pequeñas batallas que estos desarrolladores han emprendido por ser los elegidos
para cada caso. Insisto en que creo que eso no es ni bueno ni malo... ha traido cosas muy buenas (grandes desarrollos, aplicaciones maravillosas) y cosas no
tan buenas (tecnologías que no convergen, sino que compiten, actualizaciones constantes, quebraderos de cabeza para desarrolladores y usuarios...).
Bueno... hemos aprendido mucho en éstos más de diez años. Quizá sea bueno darle una capa de homogeneidad a la web a través de una nueva revisión del
estándar.
Supongo que ahí entra en juego el HTML 5.
Entre las novedades, que son muchas y muy variadas vamos a destacar algunas de las más representativas.
Potenciar la semántica. Hasta ahora, el lenguaje HTML se limitaba a una mera descripción de los elementos que debían "dibujarse" en el interior del
navegador, ocupándose casi exclusivamente de aspectos estéticos. Sin embargo, la web es un poderoso vehículo de información: lo que está dibujado tiene
sentido para los humanos. En ésta nueva revisión se puede especificar algo de ese sentido: qué es lo que contiene un determinado trozo de web y su relación
con el resto. Ésto no va a tener mucho impacto en cómo se dibuja la web, pero puede ayudar a tener una web algo más ordenada y estructurada... a facilitar
búsquedas y acceso a la información, a que los buscadores sepan mejor lo que hay en una página y al desarrollo de aplicaciones paralelas que nos ayuden a
movernos por la web. En fin, a que nuestro trocito de telaraña (web) esté internamente un poco más organizado y que de una manera uniforme, todo el mundo
sepa cómo moverse por esa web y lo que hay en cada sitio.
Herramientas para dibujar en 2D y 3D. Algo muy solicitado... es básicamente el hueco que han tenido que rellenar los plugins. Hasta ahora, el HTML hacía
mucho hincapié en el texto (al fin y al cabo, empezó siendo una herramienta de intercambio de texto), pero las representaciones gráficas que van más allá del
texto no se hicieron esperar. De manera nativa nunca se había contemplado la posibilidad de representar elementos gráficos dibujados, y sobre todo, que los
lenguajes de Script (como Javascript) pudieran interacturar con ellos. Si éste punto se lleva a una buena implementación por parte de los desarrolladores de
los navegadores (y parece que en efecto va a ser así), le comerá bastante terreno a los plugins mencionados antes.
La reproducción de elementos multimedia (audio, vídeo...) de manera estándar. Hoy en día tenemos muchíííísimo contenido audiovisual por la web.... Pero
realmente, el HTML no estaba preparado para ello, así que ese contenido ahora mismo también lo visualizamos a través de plugins de terceros (nuevamente
Flash, silverlight, etc.). Y no sólo eso... sino que existen diversas formas de codificar el audio o el vídeo, cada una con sus características. (Seguro que
nos suena MPEG4, DIVX, XVID, FLV... y un sinfín más). La reproducción de multimedia está completamente en manos de terceros en el momento actual... por un
lado se depende que el usuario haya instalado el plugin de turno en su navegador y lo mantenga actualizado, y por otro lado, esos elementos hay que
codificarlos en alguno de esos sistemas tan variados. Los usuarios nos hemos convertido ya en expertos instalando, actualizando, convirtiendo... Bueno... eso
está bien, aprender cosas siempre es bueno... pero quizá estemos ya en un puntito un tanto incómodo en ese sentido... Tanto para los usuarios (que a menudo
no podemos "visualizar" o escuchar según que contenidos y nos da una pereza horrible instalar no-se-qué-cosa que me pide esa página), como para los
desarrolladores, que deben escoger un sistema, hacerse expertos en él e instruir a los usuarios para que sean expertos, y todo eso, dependiendo de terceros,
y todo eso, sin mencionar a las brechas de seguridad que se van creando por el camino. Aunque la controversia en este sentido no ha terminado. Aún se discute
qué formatos debe aceptar un navegador HTML5 de manera nativa. Parece que las alternativas andan entre algunos formatos de licencia poco restrictiva y código
abierto, como VM8 y WebM (impulsados principalmente por Google y otras entidades de la misma cuerda), y otros como el conocido H.264 (Alias MPEG-4 Parte 10),
de licencia más restrictiva. Y yendo un poco más allá... Aun cuando la balanza se incline definitivamente por uno u otro, ¿Será capaz de reaccionar el
estándar ante nuevos avances que se produzcan en próximas fechas?... A ver cómo sale esto.
El manejo de datos en tablas como si fueran datos, y no garbanzos. La representación de información tabular (en tablas) es algo fundamental para los
humanos... Estamos muy acostumbrados a ello y nos resulta cómodo y familiar. El HTML tiene tablas desde hace mucho, pero se limita a describir "cómo pintar
las cosas en una tabla", sin ocuparse realmente de lo que significan... sin embargo, para los humanos, una tabla con datos es mucho más que una serie de
filas y columnas bonitas, tiene un significado, y nos gusta hacer una serie de operaciones comunes.
El almacenamiento de datos en local (en el ordenador del cliente)
La comunicación mediante algo parecido a los sockets
Soporte para trabajar en modo no-conectado
La ejecución de varios hilos en paralelo
... y un montón de cosas más.
Bueeeeno... parece que en esta nueva revisión se han puesto las pilas para intentar recoger todo aquello que las aplicaciones web estan haciendo ya, pero con
la participación de todo tipo de "colaboraciones" de terceros.
Eso no quiere decir que nuestros queridos plugins vayan a desaparecer... sino que van a tener que ponerse las pilas, porque si los navegadores son capaces de
hacer ciertas cosas sin ellos (y lo hacen bien, claro, que aún está por ver)... van a perder una buena cuota de uso. Van a tener que adquirir nuevas
competencias y facilidad de uso y programación.
Hacer de adivino es equivocarse con seguridad, pero si yo fuera Adobe, estaría seriamente preocupado por la utilización de Flash. Flash es muyyyyyy bonito...
empezó siendo una herramienta de animación cuando lo llevaba Macromedia y ha terminado por ser una herramienta de programación, principalmente orientada a
hacer cosas bonitas y llamativas en la web... Hmmm... pero eso ahora es probable que puedan hacerlo los navegadores solitos. Además, tampoco existe una
herramienta de calidad potente y sencilla para programar con un precio asequible (es decir, gratis), para que quien quiere iniciarse o hacer pequeñas cosas,
pueda hacerlo fácilmente.
En cuanto a Java... hace ya mucho que perdió presencia en la web. La cantidad de usuarios con el JRE de java instalado (necesario para ejecutar los applets)
no es muy grande (comparada con Flash) ni los usuarios se encargan de actualizarlo (se actualiza cuando se requiere y poco más). La verdad es que sí existen
herramientas de desarrollo buenas y baratas (me encanta NetBeans, por ejemplo), pero aún así ha ido perdiendo fuelle. Me temo que el lavado de cara que le
proporcionó JavaFX no ha sido suficiente.
Silverlight es mi apuesta preferida... Me va gustando cada vez más... se puede hacer un poco de todo con él, y se puede programar en lenguajes muy populares,
como C# y Visual Basic. C# es el lenguaje favorito en La tecla de ESCAPE. Además, la última versión de Visual Web Developer Express 2010 ya permite trabajar
con Silverlight de forma visual. Creo que irá ganando adeptos poco a poco pero tampoco apuesto por una gran popularidad en un futuro a corto plazo. La verdad
es que con los productos de Microsoft (excepto con Windows), es complicado hacer predicciones.
En cuanto a aquellos plugins dedicados casi en exclusiva al vídeo, como Quicktime o Realmedia... pues si los navegadores van a incorporar un estándar de
vídeo y audio... saca tus propias conclusiones.
En fin... ¿Quién sabe? Lo que sí sabemos es que el estándar ya casi está y que los desarrolladores de navegadores se están esforzando mucho por incorporarlo.
¿Cuánto?... pues compruébalo tú mismo.
En éste sitio web nos informan de cuáles de las características de HTML5 incorpora tu navegador: http://html5test.com/
Nos darán una puntuación sobre 300 (Por ejemplo, mi Firefox 3.6.10, en este momento obtiene 139), y algunos "bonus", que son puntos que se otorgan por
algunas mejoras del estándar.
Internet Explorer 8 obtiene muy poco, sin embargo la versión 9, que anda por ahí en fase beta y en versión preview para desarrolladores obtiene muchos más
puntos.
Safari, Ópera y Chrome también están en ello.
Mientras tanto, se puede probar alguna cosilla diseñada en html5... atrévete. En éste sitio web nos ponen algunos ejemplos, que puede que funcionen en
nuestro navegador... o puede que no.
http://html5demos.com/
Ah... y se me olvidaba... Supongo que también tendrá una cierta influencia el hecho de que existan buenas herramientas para los programadores y
desarrolladores del web. Echando la vista atrás, nada impulsó tanto la web en su momento como la irrupción de herramientas visuales (especialmente
Dreamweaver). Supongo que rápidamente se actualizarán y surgirán otras nuevas para HTML5... pero bueno... tampoco son estríctamente necesarios... algunos
desarrolladores son muy duros, y han hecho grandes cosas sólo con el block de notas o el vi.
Volveremos a hablaremos de html dentro de 10 años, cuando salga la 6 ;-)
La última revisión del estándar HTML (la 5) ya está prácticamente encarrilada. Aunque todavía no se encuentra en su versión definitiva, parece que el estándar ya está bastante manuro y que los cambios futuros ya van a ser poco relevantes.
Así pues, casi, casi, podemos considerar que ya lo tenemos encima.
La web es una parte de internet muy golosa. Al fin y al cabo, es lo que más utilizamos todos. Aunque Internet en sí no es más -siendo muy simplista- que una agrupación de redes de comunicaciones, los servicios que se ofrecen son muy variados (que si chat, que si VoIP, que si juegos en red...) pero la web es sin duda la estrella. Así que meter la cuchara en el caldero de la web es importante.
En este artículo, unas simples reflexiones un tanto irreflexivas sobre éste nuevo estándar o dicho de otra manera, cómo hacer de adivino analista de actualidad informática y equivocarse con seguridad ;-)