miércoles, 23 de enero de 2008

La digievolución del HTML: HTML5

Según veo en Barrapunto, la W3C ha sacado un borrador de lo que van a ser la especificaciones de la siguiente versión, y como paso de leerme todo el tocho que es pues lo que he leído un poco por encima es un documento con el borrador de las diferencias entre éste y el HTML 4, que es más cortito ;-) .

Un poco de historia

Cuando allá por principios de los años 1990 un científico del CERN (que no tengo ganas de buscar el nombre) ideó el Lenguaje de Marcas de HiperTexto su idea era muy simple: poder escribir un documento de texto dentro del cuál algunas partes pudieran ser pinchadas o seleccionadas para ver automáticamente otro texto y también la posibilidad de definir algunos formatos como: títulos, cursiva, negrita, tablas e imágenes, por ejemplo.

Bueno, una idea la mar de sencilla tiene sus complicaciones sobre todo cuando se definen formatos que tienen ambigüedades y no se definen comportamientos estándar ante esas situaciones. Estas cosas se fueron limando a base de cutre-parches con el paso del tiempo a pesar de los líos Mozilla por aquí, IE por el otro lado... ejem, cough, cough, llamémoslo Gecko y Trident. Se que existe Presto, KHTML y demás pero me referiré a solo a los dos grandes.

Además salieron algunos estándares anexos para mejorar el panorama: los estilos CSS (para definir la estética de los elementos), el XHTML (para dar una estructura solida de jerarquía y relación entre elementos mediante XML), el DOM (para estandarizar el manejo de elementos con el JavaScript) y demás. Haciendo que una de las ideas más sencillas del mundo se convierta en algo bastante más complejo.

Presentando el HTML 5

Bueno según leo el documento con las diferencias, tras una pequeña exposición como la que hecho yo, lo primero que avisa es de que se trata de un borrador y faltan por concretar algunas cosillas.

Posteriormente dice que aunque intenta ser compatible con la forma como manejan actualmente los elementos los navegadores (mejor dicho motores de renderizado), pues que deben implementar cosas antiguas aunque no estén soportadas por el nuevo estándar (ni que necesitaran permiso para hacerlo... ¬_¬U). Lo importante, según parece, es que se ha medio bajado los pantalones diciendo: "No decimos como el navegador debe interpretar el HTML, sino como ha de ser escrito", aunque por otra parte es la dura realidad y siempre lo ha sido así aunque no se reconociera; pero lo veo como buena forma de meter presión si el IE no es totalmente compatible por lo menos haz que el Frontpage (o como se llame ahora) lo sea XD (ojo que los productos Mozilla tampoco están libres de pecado...).

Tras esto, hay una pequeña novedad diciendo que las especificación no se considerará acabada hasta que haya dos implemenciones completas de dicha especificación, lo que quiere decir: que hasta que no haya dos motores distintos que la soporten totalmente no dan por definitivo el chiringuito. Cosa que cambia radicalmente puesto que antes se definía el estándar y luego que cada uno haga lo que pueda (y quiera) con él. Nunca entendí esa manía de hacer estándares sólo en papel...

De aquí pasamos a la sintaxis y definición del documento, la cuál puede ser mediante HTML normal (HTML 4 o XHTML) o mediante XML, y luego añade otras cosillas sobre la codificación de caracteres y que se requiere escribir <!DOCTYPE html> al principio del documento para diferenciarlo.

Cosas nuevas

HTML 5 añade nuevas cosillas, todas orientadas a las estructura jerárquica del documento y función del texto que rodea, algunos son:
  • section: Para indicar secciones (para usarse junto con los títulos h1-h6).
  • article: Para indicar artículos distintos dentro de la misma página.
  • header: Encabezado de la página.
  • footer: Pie de página.
  • dialog: Para marcar diálogos junto a dd y dt (Nunca entenderé porque usar las listas de definiciones para estos menesteres)
Hay otros cuantos y sobre todo en lo relacionado con los formularios.

Cosas que nos cambian

Han cambiado significado de algunas etiquetas que indicaban estilo, es decir negrita, itálica, etc. pasan a indicar qué es el texto que rodean, pero tampoco es que corroan mucho ya que definen su uso habitual...:
  • hr: Pasa de ser una simple linea horizontal a: "Un cambio temático en los párrafos" (¿dejará de ser una línea?).
  • b: En vez de indicar texto en negrita, para decir que el texto debe ser estéticamente distinto como palabras clave.
  • strong: Pasa de ser la alternativa larga de b para escribir en negrita para representar importancia en el texto.
  • i: Al igual que b en vez de decir que es texto en cursiva ahora tan solo indica que el texto debe ser estéticamente distinto porque se refiere a términos técnicos, palabras en otro idioma, etc.
Hay otros mas. Aquí la importancia radica en que se pasa de definir el formato del texto a definir la función que tiene ese texto.

¡Ohh! ¡Nooo! Nos quita esto

Por otra parte HTML 5 hace un purga... y vaya purga O_o . Quita un montón de elementos (y muchos muy usados y conocidos) por tres razones
  1. La sencilla razón que solo indican estilo y que eso lo debe manejar el CSS.
    • big: Letra grande.
    • center: Centrar.
    • font: Cambiar fuente (¡¡¡ALELUYA!!!).
    • strike: Tachado.
    • tt: Texto monoespaciado.
    • u: Subrayado.
  2. Siempre fueron un coñazo (esto lo digo yo, aunque las uso y sinceramente les puedo llegar a ver su utilidad si quieres hacer páginas dináminas a mano... tengo una lista de pelis tuti guay en HTML...). La escusa es la accesibilidad y usabilidad.
    • frame, frameset y noframes: Para hacer frames (por ejemplo cuando usas el traductor de Google con una página te crea un frame en la parte superior)
  3. Porque no son usadas, crean confusión o pueden ser hechas de otra forma
    • acronym: Crea confusión y hace lo mismo que abbr. Así que a usar esta última y arreglado.
    • applet: Debe usarse object.
    • isindex: Hay otras formas de acceder a los formularios.
    • dir: debe usarse ul.

Conclusión

Bueno además de los cambios en las etiquetas indicadas, hay bastantes más respecto a los atributos que pueden tener dichas etiquetas y paso de comentar que esto ya es muy largo.

En esta evolución se ve claramente que la intención es quitar todas marcas de formato del texto a cambio de que sólo sean para indicar la función de ese texto dentro del documento que de hacerlo bonito ya se encargará el CSS... Para poner un ejemplo, es como si en el Word os quitan los botones de subrayado, negrita, centrado, la caja-lista de fuentes y su tamaño, etc. y os dejan tan solo con una caja-lista de estilos de texto y punto, luego aparte defines el formato para cada estilo y ya está (Que por cierto Microsoft y OpenOffice.org ya bien podrían hacer esto... XD).

Ahora asaltan las dudas:
  • ¿Cuanto tardará IE en soportarlo de forma... aceptable? No son muchos cambios... pero, sinceramente, no pongo en duda que Mozilla u Opera ya llevan unos meses pensando (o incluso desarrollando) para ir adaptando lo necesario... ¿5- 10 años? Pero mucho a mi pesar la gente sigue usando IE6... (ahora que se tenía la excusa de: No se soportan versiones pirata XD)
  • Si todavía ni siquiera se intentan cumplir los estándares de HTML 4 (XHTML mejor ni hablar...) ¿Como mascamos el HTML 5?
  • ¿Hasta que punto se eliminan los estilos? ¿Una página sin CSS asociado debería mostrarse como texto llano sin más? Bueno, en verdad supongo que se mostrarán como ahora... pero en teoría si pongo que los títulos de primer nivel sean solamente rojos entonces no deberían tener un tamaño más grande de lo normal como tienen por defecto...
Bah, me he aburrido de dar la chapa... curiosa y paradójica entrada en la que se habla sobre cumplimiento de estándares cuando de entrada no los cumplo ni yo... XD XD

2 comentarios:

  1. Siempre es bueno enterarse de las novedades en el sector.

    Pues si nos quitan las etiquetas, los estilos avanzados van a quedar para los especialistas o los puristas.

    O me veo en cada cuadro de edición de cada página web, con una caja de formatos... como en este cutre-cuadro de edición, en el que te avisan de que puedes utilizar algunos códigos HTML (ya obsoletos por lo visto)

    Espero acabar con la informática antes de que ella acabe conmigo

    ResponderEliminar
  2. Oh, tu también, sarta de Inciclopedistas que se dedican a publicar sus miserias en la esfera blogger.

    ResponderEliminar