Pero ¿qué es eso del HTML5 del que todo el mundo habla?
Detalles- Detalles
- Categoría: Artículos
- Publicado el Domingo, 17 Octubre 2010 18:01
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 maduro 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 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 ;-)
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.
La segunda revisión de 1995. La tercera, y que yo recuerdo como importante es de 1997 y la cuarta -que utilizamos ahora- 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.
HTML (1993)
HTML2 (1995)
HTML3 (1997)
HTML4 (1999)
HTML5 (¿2010?)
Por ejemplo, el JavaScript (el lenguaje de script de los navegadores) se ha desarrollado de una manera uniforme, pero 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 en ese sentido 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.
[list class="bullet-4"][li]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.[/li]
[li]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.[/li]
[li]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, quicktime, realmedia, 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, rmvb, mov... 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... por no mencionar 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.[/li]
[li]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.[/li]
[li]El almacenamiento de datos en local (en el ordenador del cliente)[/li]
[li]La comunicación mediante algo parecido a los sockets[/li]
[li]Soporte para trabajar en modo no-conectado[/li]
[li]La ejecución de varios hilos en paralelo[/li][/list]
... 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. Intuyo que bien llevado (por el w3c y las empresas y organizaciones que desarrollan navegadores), puede llegar a buen puerto. De hecho, me sorprendo cada día con lo que muchos programadores son capaces de hacer utilizando Javascript y tecnologías afines (AJAX, etc), con un lenguaje y un apoyo del estándar relativamente envejecido. Así que espero ver maravillas en breve si el estándar llega a ser operativo.
Todo eso no quiere decir (probablemente) 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.
Si yo fuera Adobe -que ni lo soy, ni lo voy a ser-, 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 se ha quedado en no mucho ruído y pocas nueces. Además, desde la adquisición de Sun (la empresa que desarrolló inicialmente Java) por Oracle, cada vez se oyen más voces anunciando incertidumbre en el futuro de Java.
Silverlight es mi apuesta preferida... Me va gustando cada vez más... (al principio me pareció un espanto con eso del XAML, y todavía me da repelús, de cuando en cuando... pero cada vez menos) 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, muy interesante, nos informan de cuáles de las características de HTML5 incorpora tu navegador: 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. La versión 4 beta obtiene bastantes más.
Internet Explorer 8 obtiene muy poco. La versión 9, que anda por ahí en fase beta y en versión preview para desarrolladores obtiene algunos más.
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: 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.
- La especificación oficial en el sitio web del w3c: http://www.w3.org/TR/html5/

