Flash ha Muerto
Reflexión sobre la desaparición de Adobe Flash
Hace 20 años la internet era muy diferente: no había redes sociales, el anonimato era auténtico y la web estaba plagada de sitios web que utilizaban contenido desarrollado en Flash, que en aquel entonces era Macromedia Flash antes de ser absorbido por Adobe. Había websites que tenían publicidades en Flash, otros también agregaban algunos widget de Flash, y muchos otros directamente estaban montados íntegramente en Flash. Pero hoy, 20 años después, Adobe anunció que en diciembre de 2020 se dejará de mantener la plataforma. ¿Qué pasó?
El Reinado de Flash
La web siempre avanza más lento de lo que la sociedad exige o necesita. En la década del 2000 ya era posible soportar con un ancho de banda normal animaciones y video en la web. Sin embargo, las tecnologías nativas de internet eran las mismas de la dédaca de 1990, solo servían para compartir papers, es decir texto e imágenes simples. Los plugins de terceros vinieron a cubrir esas necesidades, con la contra de tener que descargarse un software por fuera del navegador, este permitía agregar lo que la gente pedía. Para ser justos, Flash no era el único de esos plugins, también existió durante mucho tiempo el Shockwave (para reproducir contenido de Director), Applets de Java y el Silverlight de Microsoft. Pero Flash fue muy popular, quizás demasiado. Por su versatil software con una interfaz muy cómoda para animadores, y un lenguaje de programación muy simple basado en JavaScript, logró imponerse como la mejor opción para hacer animaciones e interactivos en la web.
En ese entonces no existía una forma real de navegar en internet sin tener la extensión de Flash correspondiente, y esto llevó a la pésima práctica de desarrollar webs con Flash sin aprender herramientas nativas como HTML, CSS y JavaScript. Para la década del 2000 los sitios webs se veían muy atractivos en Flash, y prácticamente todo el mundo lo tenía habilitado en su computadora, así que la recomendación era aprender a usarlo. Hablo con conocimiento de causa, en muchas carreras de Diseño Web hasta entrada la primera mitad del año 2010 se veía Flash en el programa de estudios. Sin quererlo, Flash parecía querer imponerse como una especie de estándar web, lo que producía mucha confusión en los desarrolladores. Para una persona que recién comenzaba con sitios web, ¿era mejor invertir el tiempo en Flash o en JavaScript? Después de todo, el mercado pedía webs que se puedan diferenciar de las demás, galerías de fotos interactivas, animaciones personalizadas, y hasta videos. HTML y JavaScript estaban muy lejos de soportar eso, y ahi es donde Flash sacó mucha ventaja, a tal punto que durante mucho tiempo se llegó a pensar que iba a durar para siempre.
El problema de Flash
Sacando el hecho de que utilizar un plugin para navegar ciertas zonas o toda la web es muy absurdo, Flash tenía muchos otros problemas. El sistema híbrido de interfaz de animación con programación era algo que gustaba mucho a los diseñadores y animadores. Pero para los programadores era antinatural, no lograba convencernos mucho. Y sí, había muchas maneras de programar en Flash (ActionScript) sin necesidad de abrir el software de Flash, pero siempre se sintió muy tosco, era como programar algo que luego se "inyectaría" en una web, en lugar de programar una web. Por aquellos años no fuimos pocos los que nos negamos a desarrollar sobre Flash, generando que la plataforma de Flash empezara a tener problemas para encontrar desarrolladores aptos. Como quedaron muy pocos, con muchos años de desarrollo sobre Flash encima, el precio de desarrollar en Flash empezó a aumentar, mientras disminuía el precio para desarrollar con herramientas nativas. Y quien puso el grito en el cielo alrededor del año 2009 fue todo el ambiente de desarrollo móvil. Con Android y iOS iniciando un nuevo mercado muy activo, Flash no era ni cerca la herramienta más adecuada. La plataforma de Flash no soporta responsivo de una manera cómoda, lo que llevaba a realizar dos webs (la de escritorio y la de móvil), y en las pruebas de rendimiento realizadas los navegadores móviles acusaban un alto consumo de batería cuando se utilizaba contenido Flash. Finalmente, el hecho de utilizar un software de terceros se convirtió en un gran portal para la entrada de virus, lo que requería tener a Flash siempre actualizado para evitar múltiples inconvenientes, y lamentablemente los usuarios no se caracterizan por actualizar muy a menudo. El reinado de Flash empezaba a tambalear.
HTML5: El verdugo
Recuerdo las primeras pruebas en HTML5, algo ya se podía ver en el año 2010 con los navegadores más modernos. Tan solo un año después, en 2011, se podían ver cosas fantásticas en el sitio web de Chrome Experiments, desarrollos que normalmente se asociaban a Flash en la Web estaban pudiendo realizarse en JavaScript. Era un auténtico lujo, y creció a un ritmo vertiginoso porque era lo que muchos desarrolladores llevábamos años esperando. En el transcurso de 2 años (entre 2010 y 2012) el pedido de sitios webs en Flash disminuyó notablemente, a la par que aumentaba el pedido de webs con HTML5. En mi opión incluso fue exagerado, ya que muchas personas pedían webs en HTML5 sin saber que era ni para que lo querían. De hecho creo que la demora en la aparición de TypeScript fue en parte culpa de la "moda de HTML5", pero eso es historia a parte. El objeto Canvas estaba presente en navegadores como Safari y Firefox desde 2004, pero para el año 2011 pasó a ser de uso muy común en navegadores como Chrome (que se había impuesto ya) y la versión 9 de IE, que prometía ser más veloz que el resto. Ya no había gran necesidad de hacer animaciones o juegos en Flash, y la sentencia final la terminó dando Youtube cuando empezó a utilizar HTML5 (tag video y javascript) para su reproductor multimedia. Librerías externas como jQuery y jQueryUI nos dieron herramientas geniales para programar animaciones e interfaces atractivas en un lenguaje sumamente cómodo, y la cereza del postre vino de la mano de Processing y P5JS para realizar animaciones e interactivos en un lenguaje accesible. En pocos años la reproducción multimedia de audio y video pasó a ser con HTML5, y no se tardó nada en generar librerías para dispositivos como Kinect y Leap Motion 100% en JavaScript. HTML5 se presentó como un concepto, ya que es un simple nombre para designar un conjunto de tecnologías (HTML, CSS y JS) en movimiento y actualización constante. Esta fue la sentencia final para Flash, que logró en menos de 3 años desmoronar el poderío de una herramienta que llevaba más de 15 años siendo utilizada de forma masiva.
¿Y ahora qué va a pasar?
Ciertamente, con todo el tiempo que ha pasado desde el primer anuncio, no deberían presentarse muchos inconvenientes cuando los navegadores dejen de reproducir Flash. Chrome desde la versión 74 lo bloquea por defecto (aunque sigue pudiendo activarse). Sin embargo, será Firefox el primero de los navegadores en bloquear de forma completa el plugin de Flash. A lo largo del año 2020 le seguirán el resto de los navegadores, incluso Microsoft planea bloquear el reproductor de Flash antes de la mitad de año. Finalmente, durante 2020 será la propia compañía de Adobe la que pondrá fin a Flash, dejando de sacar actualizaciones primero, hasta directamente no permitir su descarga en diciembre. En la actualidad sólo un 17% de los usuarios web reproducen contenido de Flash durante el día, y es una cifra que baja cada vez más.
No obstante, tengo cierto respeto y creo que Flash forma parte de nuestra historia en internet. Así como esas webs de la década de 1990 que fueron eliminadas y, por suerte, un grupo de diseñadores las ha rescatado para que no se pierdan; creo que debería hacerse algo similar con Flash. Después de todo, fue el contenido principal durante muchos años, forma parte de la historia de internet y tiene un gran valor respecto a quienes estudian (y estudiarán) las interfaces digitales, el diseño de webs y la programación en general. Enterrar a Flash me parece lo correcto, no así enterrar lo que se creó con Flash. Mi propuesta, y la de muchos, es que los navegadores puedan tener algún modo "ventana retro-compatible" que permita algo así como un sandbox (que esté en un modo muy seguro) donde se consiga ejecutar contenido de Flash de alguna forma. Hay muchas opciones, como reproductores SWF ligeros y sencillos, o incluso conversores de SFW a HTML5 que podrían mejorarse bastante. Me parece que es el final más respetuoso que podemos darle a la herramienta.
¿Cambio de Era?
Hay quienes están tomando este anuncio como un cambio de era en internet, y están en lo correcto, pero no es por la muerte de Flash. El anuncio fue realizado por Adobe en el año 2016, y para ese entonces ya era muy extraño que un desarrollador quiciera encarar un proyecto nuevo en Flash, la tendencia hace años era migrar. Ya en diciembre de 2015 Flash pasó a llamarse Animate y a exportar en HTML5, y años antes Adobe había presentado herramientas para hacer animaciones sin depender de Flash. La muerte de Flash fue uno de los puntos de inflexión en el cambio de era anterior, la década de 2010. A partir de ese año hubo esfuerzos centralizados en tener una web estandarizada con un lenguaje sólido y estable como JavaScript; y un sin fin de opciones en HTML y CSS que reemplazaban a Flash. Lo que ha pasado a partir de entonces ha sido el camino natural, retrasado por culpa de muchos desarrolladores y docentes que se negaron a aprender algo nuevo a pesar de sus ventajas, buscando hacer que Flash resista la mayor cantidad de tiempo posible.
La nueva Era del desarrollo web parece estar centralizada en que TypeScript, poco a poco, "reemplace" a JavaScript como lenguaje web; y en que frameworks ineficientes como jQuery se dejen de utilizar en pos de frameworks como Angular. Quien sabe, a lo mejor muchas de las máximas que hoy consideramos obligatorias al momento de desarrollar un sitio web sean motivo de risa en 2030, como lo es hoy desarrollar un sitio web con Flash. Otro día hablaremos de jQuery.
Acerca de:
Ignacio Buioli
Licenciado en Artes Multimediales. Ha desarrollado numerosos proyectos de Multimedia así como también escrito artículos y traducido textos del mencionado tema. En Moldeo Interactive es Socio y Programador; encargándose, además, de gran parte de las redes y los cursos online.