0 / 6

Flash ha muerto. Larga vida a <canvas>

19 marzo 2012

Categoría: Web

A pesar de que muchos llevan tiempo anunciando la muerte de Flash y otros muchos anunciando <canvas> como su sucesora, lo cierto es que a día de hoy, ni Flash ha muerto, ni canvas ha despegado como una solución tecnológica aceptada.

Durante mucho tiempo, Flash ha visto su presencia en la web progresivamente mermada, hasta ser relegado a la reproducción de vídeo y audio y a la creación de juegos. Esta muerte lenta no se ha debido a la aparición de <canvas>, si no, principalmente, a la evolución de la web en sí misma. Ésta ha abandonado el uso excesivo e innecesario de animaciones, los recursos de interacción rebuscados y demás abusos a los que se ha sometido a la aplicación de Adobe durante muchos años.

De modo que mi pregunta no es tanto si <canvas> destronará a Flash, si no si es necesaria en su planteamiento actual. La etiqueta canvas se me antoja como un elemento extraño, una inadaptada que se relaciona mal con el resto de sus compañeros dentro del html.

No puedo evitar la sensación de que la etiqueta canvas genera, al igual que lo hace Flash, un entorno cerrado en torno a ella. Los gráficos que se generan en la etiqueta solo están presentes dentro de ella y por ello, su comunicación con el resto del DOM es complicada y antinatural.

Esto nos obliga a controlar infinidad de datos a través de javascript en lugar de disponer de ellos como disponemos de otros en forma de DOM. Si además intentamos integrar la aplicación con la tecnología AJAX, nos daremos cuenta de cómo esta etiqueta se distancia más aún del resto de sus compañeros.

Paradójicamente, las etiquetas <video> y <audio> que tan ligados pueden estar con dicha etiqueta, se controlan en otro lugar y de otro modo.

Por otra parte, el propio nombre de la etiqueta, canvas, ya nos anticipa que su posición, al igual que la de una pintura tradicional debe ser estática. Qué tal si la etiqueta se plantease más como un objeto maleable, llamémosla <clay>. Un objeto cuya apariencia pudiese cambiar dinámicamente, más que un lienzo sobre el que trabajar. Si además, este objeto tuviese atributos similares a los del resto del DOM, podríamos gestionar múltiples elementos dinámicos cuya comunicación con el resto del contenido del site sería más sencillo.

Muchos pensaréis que para eso ya tenemos al humilde <div> y efectos de librerías como jQuery, y ese es precisamente el problema de base. ¿Qué conseguiremos con <canvas> que no podamos conseguir con lo que ya tenemos? Quizás tan solo haya que esperar, y del mismo modo que Flash encontró su sitio, <canvas> evolucionará para solucionar problemas reales y no ser relegada a una tecnología vistosa pero poco útil.

¿Pero quién es <canvas>?

Cualquiera diría que esta etiqueta fue creada por Apple hace más de 7 años. Hasta que no fue añadida a la especificación de HTML 5, <canvas> ha sido poco conocida entre los desarrolladores y aún hoy es una gran desconocida para gran parte de la comunidad.

A pesar del carácter pesimista de mis comentarios, lo cierto es que en la web se pueden encontrar infinidad de experimentos interesantes y prometedores, que animan a ponerse manos a la obra. A continuación tenéis algunos de mis favoritos:

Canvas Cycle: True 8-bit Color Cycling with HTML5

html

deviantART muro

arcade fire

MD2 models in WebGL

 

Comparte

Flash ha muerto. Larga vida a <canvas>