Por qué nadie querrá usar HTML en cinco años
Hoy en día escuchas a menudo que HTML5 es la solución para todo. Que convierte las webs en apps para tableta, permite a tu sobrino montar el nuevo **Tube, rellena la declaración de la renta y cocina deliciosas tortillas de patatas. Lo que poca gente sabe es que, en realidad, el HyperText Markup Language está acabado.
La web empezó como una serie de contenidos en páginas estáticas conectadas por enlaces. Cada página era un documento completo y la interacción se limitaba a seguir los enlaces para obtener otros documentos. En ese contexto se desarrolló el HTML como forma de estructurar el contenido.
Con el tiempo las webs crecieron en tamaño y crear páginas estáticas se volvió impráctico, de modo que se generalizó el uso de scripts de servidor para generarlas bajo demanda. Las terminales de los usuarios eran mucho menos potentes que el servidor, por lo que todo el proceso se hacía antes de servir la página estática. Normalmente, ese proceso consistía en unir varios fragmentos de HTML y rellenar la plantilla con los contenidos adecuados. De cara a la web, y a los buscadores, la página generada seguía siendo un documento individual.
Poco a poco algunas partes de la web se hicieron más dinámicas gracias al código JavaScript, que se ejecuta en el lado del navegador y no en el del servidor. Al principio el lenguaje no era estándar (Internet Explorer y Netscape usaban variantes diferentes), era lento (hasta que Google empezó a demostrar la importancia de ejecutar JavaScript con eficiencia), y los ordenadores en los que se tenía que ejecutar tenían menos potencia que un móvil actual.
En JavaScript, los contenidos de una página se codifican según el Document Object Model. El DOM es un esquema en el que cada rama da acceso a su contenido o las propiedades de ese contenido, incluidos los estilos CSS. Los datos en el esquema DOM se pueden convertir en un documento HTML, XHTML o XML envolviendo los datos en las etiquetas correspondientes.
En los últimos años, muchas páginas y aplicaciones han empezado a salirse del paradigma del documento individual usando un método particular de JavaScript (conocido como AJAX en su forma inicial, WebSockets en una implementación más reciente) que, sin necesidad de cargar un documento nuevo, permite solicitar al servidor paquetes de datos para modificar la página que esta viendo el usuario.
Por motivos prácticos, muchas de esas transferencias de datos no se hacen en forma de HTML. En el formato JSON, los datos se transfieren en un esquema anidado de líneas “clave” = “valor”. En XML se transfieren como <clave atributo1=“valor” atributo2=“valor”>contenido</clave>. En CSV se usan simples líneas de valores separados por comas.
Cuando el código JavaScript recibe esos datos, modifica el DOM del documento actual. El DOM es leído directamente por el navegador, que procede a actualizar la página. En ningún punto del proceso se utiliza HTML. Sólo si el usuario le pide al navegador que muestre el “código fuente” el navegador pone los datos del DOM entre etiquetas HTML, XHTML o XML y los presenta de esa forma.
Por tradición, todavía es común que el servidor copie o genere el documento HTML a partir de una base de datos y lo envíe entero al navegador (lo que aumenta el tamaño). El navegador descompone ese HTML para traducirlo al DOM, que es cómo el navegador y JavaScript ven el documento. El resultado es que dos máquinas terminan comunicándose con datos formateados para que los lean humanos, pese a que ningún humano necesita leerlos.
Las mejoras en los navegadores han hecho que las conexiones y la velocidad y coste de transmisión sean el nuevo cuello de botella. Si pides un documento entero con cada acción, el servidor tiene que transmitir partes redundantes, con las etiquetas HTML ya generadas, o informar al navegador de que algunos elementos no han cambiado. Por otro lado, las granjas de servidores necesitan ser eficientes y hoy es normal que el servidor sea mucho menos potente que el PC del usuario.
Lo que algunos desarrolladores se están planteando ahora es qué necesidad hay de transmitir los datos envueltos en etiquetas y embutidos en documentos, cuando bastaría enviarle una sola vez al cliente un script que se encargue de comunicarse con el servidor, recibir los nuevos datos “pelados” y actualizar el DOM. La única situación en la que un Lenguaje de Marcado de HiperTexto sería necesario es cuando se guarde una captura estática del contenido en un formato legible por humanos. Aunque los usuarios no se den cuenta, la mayor parte de esas copias se hacen ahora en XML (el mismo formato de marcado que se usa en los feeds o en el interior de los documentos de Office ―en versiones recientes― y OpenOffice).
En el sentido de qué habilidades se pedirán de la gente que tenga que crear páginas web, “saber HTML” pronto no significará nada. O bien nos limitaremos a introducir datos para que una plantilla JavaScript los presente en forma de aplicación web, o tendremos que saber crear esas plantillas JavaScript y los scripts de servidor necesarios para comunicarse con ellas usando formatos de datos JSON, XML, CSV, etc. Las páginas estructuradas con HTML estarán obsoletas y los documentos estáticos se guardarán como XML, para ser presentados con la aplicación que le convenga al usuario.










05/05/2011. 953 palabras. Categorías: