domingo, 2 de octubre de 2011

Nueva versión de HTML

La nueva especificación de HTML (versión 5) viene cargada de un gran número de novedades y simplificaciones de versiones previas. 


Aunque la especificación no está finalizada, la mayoría de los navegadores que usamos habitualmente (Chrome, Firefox, Explorer, Safari, Opera,...) ya soportan gran parte de la especificación de HTML5 publicada. 

En primer lugar, HTML5 simplifica ciertas restricciones en cuanto a la composición de documentos HTML (obligatoriedad de usar comillas para valores de atributos, reconocimiento de atributos case-insensitive, etc). Personalmente, creo que esta flexibilidad para definir documentos HTML complica la implementación de parsers HTML y hace que el código que interpreta el navegador sea menos legible para humanos. No hubiera sido mala idea ser un tanto más estricto en la definición de estos documentos de tags, por simplicidad, legibilidad de código y por buenas prácticas de programación. 

Por otro lado, desaparecen ciertos tags relacionados con aspectos puramente de estilo (como por ejemplo, el tag <center>). Me parece un gran acierto, porque se enfatiza el uso de hojas de estilo (CSS). 

Adicionalmente, aparecen nuevos tags o etiquetas para definir, de forma simple, ciertos elementos web como vídeos, mapas, etc. Este tipo de tags facilitan enormemente la inclusión de este tipo de elementos en la web, que con especificaciones anteriores de HTML requerían de cierto ingenio (iframes con peticiones para contenido XML, objetos flash empotrados, etc). La simplificación también se traduce en flexibilidad, ya que los navegadores podrán usar un plug-in u otro para mostrar esos contenidos (las etiquetas tan sólo muestran el contenido de forma declarativa, y de dónde obtenerlo). 

Por otro lado, las nuevas etiquetas, así como sus posibles ampliaciones, facilitan la introducción de contenido semántico en la web (muy útil para intérpretes, indexadores, agentes web inteligentes, etc). 

Finalmente, HTML5 también presenta un conjunto de APIs que simplifican el uso de funcionalidades muy extendidas en la web, tales como selección y arrastre de elementos gráficos (drag&drop), utilidades de geoposición (algo básico en aplicaciones de movilidad), canales de comunicación bidireccional con el servidor (sockets), uso de bases de datos locales (principalmente con SQLite, algo idóneo para guardar las preferencias  de acceso a los sites sin necesidad de usar cookies),...

En conclusión, la nueva especificación de HTML aporta un gran número de novedades que descargan los servidores de peticiones, reducen el tráfico de red y simplifican la implementación, interacción y uso de las aplicaciones diseñadas, con una clara orientación a la movilidad.