martes, 19 de febrero de 2008

¿Es válido, hoy en día, el HTML?

(informática)

Muchos os preguntaréis que por qué lo cuestiono y es lo que pretendo exponer.

El HTML nació (parece mentira) hace ya muchos años. En aquellos tiempos, la capacidad de comunicaciones de los sistemas eran muy limitadas con respecto a lo que disponemos hoy en día. También las limitaciones de dichos sistemas en cuanto a representación gráfica de la información era limitada. En ese ambiente nació el HTML.

Desde entonces, no sólo las capacidades gráficas de los ordenadores, sino también las comunicaciones (y los navegadores), han evolucionado muchísimo. El HTML también ha evolucionado, pero si bien en un principio el HTML era suficiente, hoy en día se hacen necesarias otras tecnologías: CSS, Javascript, Flash, applets,...

¿Qué me hace cuestionarme la validez o no del HTML?

Llevo muchos años en el mundo de la programación. Empecé con D.O.S y Clipper, pasé a VB3, VB4, VB5 y VB6 y, finalmente, al entorno web con:

- HTML, Javascript, CSS para la parte cliente
- Java o ASP o PHP para la parte servidor

¿Realmente es necesario tener 3 "lenguajes" (obsérvese el entrecomillado por llamar a CSS y HTML lenguajes de programación) para crear una simple pantalla?¿Se vé dicha pantalla igual en cualquier ordenador?¿Es necesario "personalizar" cada pantalla para cada navegador (browser) e incluso para cada versión del mismo?¿No es esto una "huida hacia adelante" en lugar de replantearse las necesidades de la web?

Sí, efectivamente, así es de triste. No vale con "dibujar" un botón en una parte de la pantalla; situarlo convenientemente requiere de unas dotes importantes de CSS y HTML y adaptarlo a los diferentes browsers y versiones. De ahí que, mientras antaño un programador hacía una aplicación con un lenguaje de programación, hoy en día hacen falta, como mínimo, un diseñador gráfico y un programador que "mezclen" en el código varios "lenguajes" (spaghetti code) de servidor y de cliente.

Este es el motivo que me lleva a lanzar estas preguntas:

- ¿no estaremos alargando la vida de HTML más de la cuenta a base de "parchearlo" y creando un monstruo de varias cabezas?
- Si esto evoluciona así, ¿no llegará un momento en el que para poner un botón en pantalla haga falta un equipo multidisciplinar (ahora que está tan de moda esta palabra)?
- ¿No sería más lógico situarse en el siglo XXI, con los recursos y medios actuales, y redefinir las necesidades de la web?

En mi opinión, creo que sí. Considero innecesario tanto despliegue de medios para realizar una simple aplicación en web.

¿Qué opináis?

1 comentario:

Anónimo dijo...

La separación html - css - javascript, es decir contenido - presentación - interacción no es para fastidiar o que sea un modelo anticuado sino para permitir la interoperabilidad entre diferentes dispositivos, la magia de la web no es que se vea igual en Explorer, Firefox... sino que existen multitud de agentes (navegadores) que acceden con diferentes capacidades, por ejemplo líneas braille, teléfonos móviles de última generación, sintetizadores de voz o incluso los buscadores, lo que hace imposible en que todos ellos la página se presente de la misma manera. Si la web no fuera así hacia lo que se hubiese ido es hacia un sistema tipo pdf donde lo importante es la presentación.

Como programador conocerás patrones de diseño como el modelo - vista - controlador, pues en el caso de html, css, javascript es similar al aislar cada uno de los campos y huir del código spaguetti donde se mezclaba la presentación y el contenido utilizando en el html la etiqueta font, imagenes transparentes para forzar márgenes o tablas para distribuir los contenidos.

Cuando te enfrentas al diseño de una página mi idea es empezar por el html, estructurar con títulos, listas, párrafos, posteriormente con el diseño te das cuenta que se presenta en bloques o zonas y es cuando añades a ese html los divs, span, los atributos class, id necesarios para que utilizando los selectores de css se presente el contenido conforme al diseño y hacerlo así más atractivo.

Con el javascript ocurre lo mismo que con css, ahora es bastante popular el utilizar 'bibliotecas' como puede ser jquery que facilitan el poder incrustar los manejadores de eventos y resto de cosas utilizando selectores css en lugar de directamente dom que es más farragoso.

Como estas viendo en tus propias carnes no todo es color de rosas y desde mi punto de vista son tres los puntos claves en esta situación, el primero fue durante la guerra de los navegadores (Netscape vs Explorer) no esperaron a la implementación de css como modelo de presentación y se promociono el añadir toda esa información en el html, después de esto mientras que el resto de navegadores (Mozilla, Opera, Konqueror, Safari...) han ido incorporando los estándares, Explorer hay ido por su lado obligando a los diseñadores a multiplicar su trabajo, a su vez al ser Explorer el navegador dominante ajeno a los estándares css no ha avanzado a la velocidad suficiente como para acomodarse a los actuales diseños haciendo que diseños conceptualmente sencillos necesiten de bastante conocimientos para poder implementarse, el día que salga css3 esto cambiará y será coser y cantar.

Por otro lado el que los navegadores alternativos como Firefox se hagan más populares y día a día le vayan quitando cuota de mercado a Explorer está siendo muy positivo, y ojalá dentro de poco olvidemos eso de 'en explorer se ve mal'