Cosas web, algunas úles, algunas buenas.
Fushioko, tiendas de productos de Asia

viernes, noviembre 03, 2006

XHTML: presentación y contenido... ¿separados?

Hoy me voy a poner un poco filosófico, o quizás no voy a decir más que tonterías, pero bueno, sea lo que sea, quizás sirva para algo.

Cuando empecé en esto del desarrollo web, creo que el IE acababa de salir y estaba el Netscape como amo absoluto, cuando realizabas una página web, poco podías hacer por la presentación, se abusaba de los backgrounds y de los gifs animados y la etiqueta font era lo mejor del mundo porque te permitía cambiar el color de la letra.

De ese pasado remoto, hemos llegado al hecho de que la complejidad de las CSS son superiores al contenido del HTML, si antes hacíamos tablas rebuscadas para presentar la página según el diseño que habíamos ideado, ahora el HTML es de lo más "sencillo", mientras que las CSS son lo más tiempo nos puede llevar (ejemplos increibles se pueden ver en CSSPlay), todo esto abanderado por la idea de separar la capa de presentación (CSS) y la de contenido (HTML). Así, si queremos cambiar el aspecto de nuestra página solo deberemos modificar el CSS, como hace por ejemplo Dizque en su blog.

Hasta aquí todo perfecto, la verdad es que da gusto trabajar siguiendo esta filosofía, pero... ¿es exacta esta teoría?. A mi entender, no. Si lo puede ser en la mayoría de los casos, o al menos en bastante de ellos, pero con todo esto de la web 2.0, cada vez esta teoría falla más amenudo. Me explico, ¿cuantas veces has incluido un div o un span cuando su única utilidad es ayudarnos a cuadrar todo el estilo?. Al menos a mí me ha pasado, por ejemplo cuando he creado pestañas para un menú, a la hora de que cuando se quede seleccionada no sea un enlace, he necesitado una etiqueta cuya utilidad dentro del contenido ha sido totalmente nula.

Un ejemplo de lo que digo se puede ver en CSSPlay, se trata de uno de sus impresionantes ejemplos, A snazzy border menu, si vemos el código de cómo lo ha hecho (solo verlo, no tocarlo, que tiene copyright), observamos que cada una de las opciones tiene las siguientes etiquetas:

<li>
<a class="xmenu2" href="#nogo"><b class="xsnazzy"><b class="xtop"><b class="xb1"></b><b class="xb2"></b><b class="xb3"></b><b class="xb4"></b></b><span class="xboxcontent">
Paul<br />Cezanne</span>
</b></a>
</li>
No estoy muy seguro, pero creo que hay exceso de etiquetas b, y si le quitamos el estilo a la página, pues no se va a ver nada de nada, entre otras cosas porque estas etiquetas no tienen contenido.

Si el autor no usara este número de etiquetas, sería imposible hacer lo que ha hecho. Pero claro, esto realmente no es separación de capas, es más, si usaramos las etiquetas justas para el contenido, nos ahorraríamos unos cuantos megas en el uso de ancho de bando al día.

Conclusión: veo muchas veces a algún extremista en este tipo de teorías, pero siendo puristas, quizás la gente solo se fija en si aparece el atributo style y no si realmente se ha separado totalmente la capa de presentación de la capa de contenido.

Conclusión 2: me da igual si no existe esta separación, está claro que el trabajo de CSSPlay es digno de admiración, y si tengo que añadir un style para no complicarme la vida durante 1 semana para conseguir la susodicha separación de capas, no me cortaré lo más mínimo e incluiré la etiqueta (es más, la escribiré en mayúsculas para que no valide el XTHML).

6 Comentarios:

  • Llevando tu idea un poco más lejos, es lo mismo que me ha pasado con el Ajax, muchas funcionalidades 'chachis', pero que por detrás habia un código horroroso, cargante y rebuscado.

    Según mi punto de vista lo importante es la sencillez, pero no hay que llevar las cosas al extremo porque puedes perdes de vista el objetivo, solucionar problemas de forma efectiva.

    Por Anonymous Anónimo, a las 11/04/2006 12:54:00 a. m.  

  • Totalmente de acuerdo, el AJAX mola, pero no te pases con el AJAX. Yo ahora lo estoy usando para cargar una capa dinamicamente sin tener que usar iframes. Así, genial, pero que si ajax por aqui, ajax por alla, pues como que es pasarse.

    Por Anonymous Luis, a las 11/04/2006 02:31:00 a. m.  

  • Viendolo sin css solo se ve una lista en negrita :D

    Por Anonymous L!nk, a las 11/05/2006 10:17:00 a. m.  

  • Claro, pero el tema es que hay tanta negrita para poder hacer los estilos, sobran negritas por todas partes.

    Saludos

    Por Anonymous Luis, a las 11/05/2006 01:53:00 p. m.  

  • Yo vi un ejemplo parecido en este blog y el código me parece muy limpio. Supongo que es cuestión de ingenio y de buen uso de etiquetas, sobre todo eso.

    Saludos

    Por Anonymous HPNeo, a las 1/18/2007 12:10:00 a. m.  

  • WebIntenta siempre tiene muy buenos ejemplos y post.

    Por Anonymous Luis, a las 1/18/2007 08:20:00 a. m.  

Publicar un comentario

<< Inicio