To be or not to be HTML5

Hace varios días que tengo este post en mente (To be or not to be HTML5), y no he encontrado el tiempo para desarrollarlo y publicarlo.

Hoy comienzo mi día de trabajo y leo un tweet de Jeffrey Zeldman, que nos lleva a un comentario donde aclara ciertas cuestiones relacionadas con la confusión general que está experimentando el común de la gente, acerca de lo que efectivamente es HTML5. Ahora bien, cuando el querido Zeldman escribe algo similar a aquello que viene rondando nuestros pensamientos, uno se siente bien: debemos ir por buen camino. Así es que decidí apurarme y publicar aunque sea algunos pensamientos fragmentados, desprolijos, y sacarlos afuera de una vez.

¿Qué es HTML5 y qué no?

Primero lo primero: las tecnologías y estándares web son muchos y muy abarcativos, pero hay tres que son fundamentales y juegan un rol protagonista en la mayoría de los sitios web:

  • HTML (sea cual fuere la versión)
  • CSS (sea cual fuere el módulo)
  • JavaScript (lo dicho)

Ahora bien, estas tecnologías cumplen tres funciones muy diferentes que se complementan mutuamente, a saber:

  • HTML (contenido estructurado semánticamente)
  • CSS (presentación; los diseñadores podemos llamarlo “diseño”)
  • JavaScript (comportamiento)

Cualquiera que se dedique al desarrollo web de calidad tiene este concepto tatuado en el cerebro o se dedica a alguna otra cosa (fuegos de artificio… digo, manejo de Fireworks).

El punto es que en las últimas semanas, una monstruosa cantidad de posts, comentarios, tweets y charlas de café abordan la temática HTML5, citando ejemplos que, o bien no son HTML5, o bien lo son, pero cuyas características principales no tienen que ver en absoluto con el uso (o no) del futuro estándar HTML5. Incluso Apple ha decidido sumarse a la confusión de una forma espantosa: creando una web donde todos los ejemplos utilizan HTML5 (es cierto), pero muchas de las características que se muestran como sus bondades dependen —en realidad— de las bondades de CSS3, o JavaScript, y podrían realizarse sin problemas utilizando las tradicionales versiones HTML 4 ó XHTML 1.

Haremos a continuación un par de listas que reflejan algunos ejemplos (sólo algunos) de lo que es, y no es HTML5. Adelantamos, de todas maneras, que cuando una gracia relacionada con el diseño de una página web —como la posibilidad de rotar el ángulo del texto, o de generar cajas con puntas redondeadas—, está publicada como una bondad de HTML5, habrá que al menos sospechar (sabemos que el HTML no debe encargarse del diseño/presentación del contenido, sino de marcar correctamente el contenido en sí mismo; es la tecnología CSS la que se ocupa de la presentación de los elementos que el HTML describe).

To be HTML5

  • Nuevas etiquetas que ayudan a marcar mejor el contenido a nivel semántico: <section>, <header>, <footer>, <nav>, <article>, <time>, etc.
  • La posibilidad de incluir video y audio sin la utilización de tecnologías externas y plugins adicionales: <video> y <audio>.
  • La posibilidad de generar experiencias altamente interactivas, dibujando sobre cierta área con JavaScript, sin la utilización de tecnologías externas y plugins adicionales: <canvas>
  • Un doctype human-friendly (finalmente), que no comunica la versión del HTML: <!DOCTYPE html>
  • La posibilidad de utilizar la sintaxis del viejo HTML o la de XHTML (que sigue la sintaxis del metalenguaje XML).

Not to be HTML5

  • Texto rotado, puntas redondeadas, sombras estilo drop-shadow, imágenes y colores en transparencia, y todo tipo de situaciones que dependen del área de presentación/diseño de una página web, y que es responsabilidad exclusiva de la tecnología CSS. Por lo general, debemos estas nuevas posibilidades a CSS3.
  • Animaciones de objetos que aparecen, desaparecen, se mueven, agrandan, colapsan y cambian su forma. Cuestiones que evidentemente tienen que ver con el comportamiento de un site, y que suelen programarse en JavaScript.
  • Geolocation: muchos suelen decir que se trata de parte del futuro estándar HTML5, pero no.
  • Posibilidad de visualizar el website en celulares y equipos móviles como el iPhone, iPad y similares: este asunto es escabroso, pero tampoco es exclusivo de HTML5. El debate Flash vs HTML5 ha generado la equívoca sensación de que para que un celular pueda interpretar correctamente una página web, ésta debe estar codificada en HTML5, cuando lo que en realidad ocurre es que simplemente se debe evitar la utilización de la tecnología Flash.
  • La tecnología que hace volar al DeLorean en Back To The Future II.

Pero…

Como comenta el estimadísimo Jeffrey Zeldman, el hecho de que aquellos no-geeks (a veces gerentes de empresas, y quienes deciden cuándo/cuánto invertir en tecnología web) estén entusiasmados con el concepto HTML5, es genial y beneficia a la Web en general. Cuando estas personas se refieren a HTML5, en realidad se están refiriendo a un conjunto de tecnologías nuevas que incluyen HTML5, CSS3, manejo de JavaScript avanzado y algunas otras más crípticas como Microformats, Geolocation, Microdata, etc.

Es nuestro deber, como profesionales con conocimiento técnico, al menos tener la delicadeza de nombrar este conjunto de tecnologías por lo que son, o como bien recomienda Mr. Zeldman, titularlas: “HTML5 and related technologies” (HTML5 y tecnologías relacionadas). De esta manera, /1. mantenemos el halo marketinero del asunto y /2. evitamos malentendidos.

There, I said it. Pensamientos fragmentados y desprolijos afuera.

Tags: ,

11 Responses

  1. Mat!as dice:

    Felicitaciones, muy claro :)

  2. ¡Gracias Matías! No sé si quedó tan claro como hubiese querido, pero necesitaba sacarlo de una vez. En poquísimos minutos, pasó del borrador en clave cuadro-sinóptico de mi cuaderno de anotaciones, a una dudosa prosa en el blog.

  3. […] el mundo enloquece con las vistosas nuevas posibilidades de lo que dan en llamar HTML5 (aunque en muchos casos se trata de posibilidades absolutamente factibles aún sin la […]

  4. Cristiantheevil dice:

    HTML5 + CSS3 = WEB 3.0 ?? mmm.. llamemosle mejor HTML5.

  5. Cristiantheevil:
    Claro, “Web3.0″ no va. De todas formas, insisto en que llamar HTML5 a este tipo de webs es engañoso (ya que hay algo técnico que existe, se llama HTML5 y es una tecnología específica y documentada), cuando nos referimos a un cierto uso de las tecnologías HTML, CSS y JavaScript. Es por esto que “HTML5 y tecnologías relacionadas” parece más adecuado.

  6. Juan Ignacio Serra dice:

    El peligro esta, creo yo, en que los profesionales llamemos HTML5 a cosas que no son, pero como bien aclarás (y Zeldman), el hecho de que haya un buzzword para nombrar a estas tecnologías, impulsa a que se expandan y, por ejemplo, la gente quiera actualizar su navegador, o pedir cosas que antes se necesitaba Flash y ahora no, etc.

    Saludos!

  7. Tal cual Juan Ignacio, hay que buscarle la vuelta para nombrar correctamente las tecnologías, pero sin quitarle el envión tan saludable que le dio el público conocimiento del HTML5 para los estándares web!

    ¡Salutes! Gracias por tu comentario.

  8. Rodrigo dice:

    Tarde, pero pude leerlo. Me gustó mucho el artículo… coincido con vos!

    Yo no veo ningún cambio significativo que lo haga trascender mas allá del hype que hay detrás de todo esto.

  9. Te agradezco mucho el comentario Rodrigo.
    En todo caso, es interesante el hype justamente por el empuje y publicidad que le dio al uso de estándares web.
    ===
    Aprovecho la oportunidad para recomendar a los desarrolladores y diseñadores web que visiten el sitio de Rodrigo.
    Su aporte al desarrollo web profesional en Argentina es de los más interesantes que encontré en los últimos meses.
    Salutes!

  10. Ale dice:

    Interesante artículo para iniciarse.

    Quizás un poco offtopic, pero lo que me parece complejo en cuanto a la implementación del html5 (y todos sus componentes) con relación al diseño es que habrá que ver de que manera se articula para que un diseñador diseñe, y un programador programe. Pensemos que en la era Flash, un diseñador hasta que que necesita algo complejo en AS3 podía prescindir de un programador.
    Con esto, se necesitan conocimientos de Java hasta para mover un círculo.

    ¿Java for dummies?

  11. Hola Ale, te agradezco mucho el comentario. A priori, si bien puede parecer complejo al principio, creo que lo que podía ser sencillo de programar en ActionScript para un Diseñador, puede serlo igual en JavaScript con la ayuda de librerías como jQuery. No nos olvidemos que la movida de Adobe de ActionScript 2 a la versión 3 significó un incremento considerable de complejidad, hacia métodos de programación más estructurados y —nuevamente— complejos del estilo de Java (no JavaScript, sino Java).
    Así que mi recomendación es que no te detengas! Adelante con JS y a ver qué sale! :)

Leave a Reply