HTML 5 el paradigma está cambiando

“¿Sigues teniendo el mismo barco, a pesar de haber reemplazado cada una de sus partes?”
-Paradoja de Teseo

Esta es una paradoja que se preguntaban los antiguos griegos, que actualmente podríamos aplicar a las tecnologías que evolucionan hasta el punto de solo conservar su nombre original. Tal es el caso del HTML, una de las tecnologías fundamentales de Internet, creada por Tim Berners Lee en 1991. A través del paso de los años, la limitada funcionalidad del HTML ha tenido que ser ampliada con diversas tecnologías como javascript, flash, applets, css, etcétera. En general, el propósito de estas tecnologías ha girado alrededor de habilitar a los usuarios para que no solo seamos espectadores de la red, sino también generadores de contenido,además de brindarnos una experiencia con mayor interactividad. Con la explosión de Internet y con cada vez más gente generando contenido, la tendencia se inclinó por aplicaciones tipo “Web 2.0” donde los usuarios pueden desarrollar contenidos de forma colaborativa, además de incluir elementos como audio y videos. Para lograr este tipo de aplicaciones se ha tenido que estirar al máximo las capacidades de HTML y el protocolo HTTP. Ejemplo claro de esto es la tecnología Ajax, la cual surgió de una interface denominada XMLHttpRequest que Microsoft integró en IE5 para soportar funcionalidad de su cliente de correo web. HTML 5 promete un nuevo nivel de interactividad. Si bien conserva las bases de la versión actual, también incorpora una gran cantidad de mejoras que a continuación describo, y que se vislumbran como una gran competencia para tecnologías que han venido a llenar los huecos de HTML a lo largo de los años.
Rendereo de imágenes
Uno de los elementos más prometedores es la capacidad de crear y renderizar imágenes dinámicas sin necesidad de plugins externos. Esto se logra por medio del tag <canvas>, y es posible manipularlo con javascript. El listado 1 muestra un ejemplo de cómo se dibuja con javascript un rectángulo en HTML5 usando el tag canvas.
<canvas id=”miGrafico”></canvas>
<script type=”text/javascript”>
var grafico=document.getElementById(‘miGrafico’);
var contexto=grafico.getContext(‘2d’);
contexto.fillRect(0,10,50,100);
contexto.fillStyle=’#FFEE00’;
</script>
Listado 1. Dibujando un rectángulo en el tag <canvas>

Nuevos tipos de campos en formularios
Hasta antes de HTML 5 hemos tenido que recurrir a funciones de javascript para simular el comportamiento en formularios de campos como calendarios, correos electrónicos y urls. Sin embargo, gracias a los nuevos tipos de <input> en HTML 5 esto ya no será necesario. Algunos de estos nuevos tipos son: color, date, month, week, time, email, image, number, range, search, tel, url.

Manejo de audio y video
Y por último la joya de la corona, el manejo de audio y video con sus respectivos tags <audio> y <video>. En HTML 5, incluir un video en una página es tan sencillo como:
<video src=”video.ogg” controls=”controls”></video>

Esto abre la puerta a que audios y videos sean soportados nativamente en el navegador de dispositivos móviles como blackberry y iphone, que no soportan Flash.

Conclusión
Además de las capacidades que ya revisamos, HTML 5 provee otras mejoras como “drag and drop” nativo, tags para la descripción de artículos (<article>), generación de llaves criptográficas (<keygen>). Diversas empresas entre las que destaca Google están respaldando fuertemente HTML 5, con la ilusión de que algún día no se necesite sistema operativo o aplicaciones de escritorio, sino que todo lo que necesite el usuario sea un navegador. Entonces nos haremos la misma pregunta: ¿si cambiamos todas las partes sigue siendo el mismo barco?

Referencias:
[1] “HTML 5: A Vocabulary and associated APIs for HTML and XHTML”, W3C. http://bit.ly/sg28r1
[2] “HTML 5 Tag Reference”, w3schools. com. http://bit.ly/sg28r2

Acerca del Autor
Héctor Cuesta Arvizu es Lic. en Informática y en los ultimos 4 años ha estado a cargo del area de sistemas de Kimpack Mfg., donde
desarrollo proyectos JEE aplicados a procesos de manufactura. También se desempeña como instructor para Tecnologico Nyce en  el area de base de datos e ingenieria de software. @hmcuesta