El tema de HTML5 vs Flash se ha convertido hoy en un tema de discusión y de controversia con respecto al futuro de internet.
HTML5 es un estándar de html y que está en un momento de gran evolución. Promete algunas cosas interesantes, pero definitivamente no es necesariamente el "asesino" de Flash. HTML y Flash han coexistido siempre, pero considero que hay 4 cosas que son responsables contra el reciente ataque hacia Flash y su supuesto fin:
A continuación haré un breve resumen de lo que considero al respecto:
Más allá de la controversia comenzada por Steve Jobs hace poco más de un año en donde decía, tal como lo cita Walter Isaacson en la biografía hecha de Jobs:
Flash es una bola de espagueti de tecnología que tiene un rendimiento pésimo, y problemas de seguridad realmente malos...
Creo que es una cuestión más de intereses económicos y en donde Apple puede y debe hacer lo que cree que es mejor para su negocio y sus clientes.
Cuando los iPhones e iPads salieron al mercado, la versión completa del reproductor de Flash móvil no se había optimizado realmente para este tipo de dispositivo. En realidad, con Flash es probable que una buena porción de las ventas de Apple App Store hubieran disminuido ya que los usuarios sólo tendrían que navegar a través de contenido basado en Flash que es gratuito.
Aunque Adobe luego ganó terreno cuando lanzó la versión del Flash Player 10.1 en Android y Google TV y en otras plataformas móviles, eso no fue suficiente para contrarrestar el daño que iOS estaba infligiendo hacia Flash.
Muchas personas asocian principalmente a flash como el reproductor estandar de vídeo en la web, algunos asumieron que con la nueva etiqueta <Vídeo>, Flash ya sería totalmente irrelevante, y en este sentido hay varios problemas con esta suposición. En primer lugar, la etiqueta <Vídeo> no da soporte de forma nativa para streaming o cualquier tipo de gestión de derechos digitales.
Si quieres publicar tus videos personales para ver en la web, la etiqueta <Vídeo> es realmente una excelente opción siempre y cuando se esté ejecutando en un explorador compatible con HTML 5.
Otro problema es que los fabricantes de navegadores están en desacuerdo sobre qué códec utilizar para el estándar (aunque sólo uno puede incluir varios formatos del mismo video para la compatibilidad). Y Flash es la única opción, hasta donde yo sé, que admite vídeo con un canal alfa en todos los principales navegadores.
En términos de animación, CSS3 no puede competir con Flash. No está ni siquiera cerca.
JavaScript es más robusto que la animación que permite CSS3, pero aun JavaScript no pueden competir con Flash para la creación de de un contenido multimedia de experiencias de animación altamente interactivas.
Cualquier persona que afirma que cualquier cosa que se puede hacer en Flash ahora se puede hacer en HTML / CSS / JavaScript probablemente no tiene un conocimiento muy profundo de Flash.
Flash ha sido siempre una herramienta que llega más allá de donde que el navegador no puede alcanzar o tiene limitaciones. Es cierto que la mayoría de los navegadores móviles son más compatibles con HTML 5 que el navegador que normalmente utilizamos en nuestra máquina de escritorio o laptop, aunque eso irá gradualmente incorporándose a los navegadores nativos. Esto se da en parte porque los dispositivos móviles tienen un poder de procesamiento que se reduce drásticamente además de que existe la preocupación de la batería por uso intensivo.
El valor agregado que da Flash en los navegadores no la podía tener más difícil en la parte móvil ya que el buen desempeño del player depende en gran medida de la fortaleza del hardware. Aunque la tecnología móvil y de tablets ha mejorado considerablemente en su arquitectura física, es ridículo querer compararlo a la capacidad de procesamiento de una laptop o de una computadora de escritorio.
En este punto fue donde el plugin del Flash player móvil empezó a tambalearse frente al HTML 5, porque en ese sentido Flash demanda mayores recursos de hardware y por ende mayor consumo de energía del mismo y Adobe se estaba enfocando a 2 players diferentes: el móvil y del escritorio. Cualquier desarrollador inteligente de inmediato reconocería la necesidad de utilizar algún tipo de tecnología estandar. Es entonces cuando Adobe hace su anuncio de no continuar con el desarrollo desarrollo del plugin para el navegador móvil.
Mucha gente, diseñadores y desarrolladores se sintieron traicionados, aturdidos, y no estaban preparados para esta noticia. Muchos desarrolladores (incluyéndome) se quedaron preguntándose qué vendría después. El nivel de impacto de esta noticia hizo que muchos clientes tomaran esta situación de forma alarmante y mal interpretaran que esto sería el final completo de la plataforma o de la era de Flash. Las cosas estaban completamente fuera de proporción. La reciente muerte de Steve Jobs hizo además que la atención de los titulares de los medios informativos acerca de sus predicciones con respecto a Flash eran correctas. Incluso no faltaron los desarrolladores anti-Flash que con mala vibra arrojaron todo tipo de veneno, y alimentaron la malinformación para batir a la multitud en un frenesí.
La respuesta es no.
Adobe ha reconocido que en esencia la navegación web en dispositivos móviles es mejor desenvuelta por HTML 5 y confirmaron su compromiso con el desarrollo de aplicaciones móviles a través de Flash utilizando la tecnología de AIR. Así que no es cierto eso de "no puedo usar Flash para desarrollar para dispositivos móviles". Aplicaciones hechas en Flash y compiladas a través de AIR ofrecerán un rendimiento mejor para las aplicaciones móviles nativas.
Nada ha cambiado en relación con el compromiso de Adobe con Flash Player para navegadores de escritorio, que siempre ha sido su punto óptimo de lejos. El Flash Player está instalado en un número increíblemente grande de escritorios conectados a Internet y ordenadores portátiles (cerca del 98%), mientras que HTML 5 es cercana al 50%.
Así que, considerando esto, si usted está mirando para entregar una experiencia interactiva en equipos de escritorio y ordenadores portátiles, Flash tiene mucho sentido.
El anuncio de Adobe sólo afecta a las futuras versiones del reproductor de navegador móvil, por lo que no es como si Flash de la noche a la mañana dejara de funcionar en los dispositivos móviles en el que está instalado actualmente. Todo lo que podía hacer el día antes del anuncio de Adobe todavía se puede hacer hoy en día y probablemente durante muchos años por venir. Solo para dar un ejemplo, la gran mayoría de las personas que han desarrollado aplicaciones en AS2 y AS3 (lenguaje de programación nativo de Flash), utilizan la versión de exportación del Flash player 9... por lo que la versión del navegador móvil aunque sólo se mantendrá hasta el Flash Player 11.1 sigue siendo bastante robusta para hacer aplicaciones realmente interactivas.
He oído a varios desarrolladores que comentan que dicen que ya no pueden confiar en la tecnología de Adobe y que tal vez ya están preparando para matar a Flash en el escritorio también. Y entiendo el punto y estoy totalmente de acuerdo de que existe el miedo o temor de que suceda algo inesperado, pero seamos honestos: hay riesgos con cualquier tecnología y HTML 5 ha demostrado estar aún en un proceso de desarrollo y evolución. HTML 5 todavía tiene muchos huecos y problemas por cubrir, incluso más que el mismo Flash. He oído hablar de proyectos de un presupuesto muy elevado y que se desarrollaron en HTML 5, que se llevaron una cantidad ridícula de tiempo para que funcionara de forma fiable en los distintos navegadores más importantes y luego, unas semanas después del lanzamiento, alguna actualización de alguno de los navegadores corrompió toda la funcionalidad de un sitio completo quedando inutilizable.
Toda la industria está en un estado de flujo, así que creo que sería un error caracterizar a Flash como "inestable" y HTML 5 como una "roca sólida". En mi experiencia, Flash es mucho más estable en todas las plataformas, hoy por hoy, y no dudo que poco a poco HTML 5 se vaya consolidando como un estandar.
Al final del día, nosotros, como desarrolladores debemos evaluar el panorama, las tecnologías a utilizar, lo que cubrirá las necesidades de nuestros clientes con lo mejor que les podemos ofrecer. Los verdaderos artesanos utilizan diferentes herramientas para hacer diferentes tareas. Los desarrolladores no somos diferentes.
Hay que tener en cuenta los objetivos de cada proyecto y elegir la tecnología adecuada. No evitar el flash sólo porque tiene mala fama, o porque HTML 5 está más de moda. Tampoco utilizar el Flash sólo porque es lo que usted se sienta cómodo. He visto muchas páginas que se han hecho 100% en Flash sin ninguna razón aparente. Eso es absurdo. Del mismo modo, también he visto a algunos desarrolladores gastando una cantidad innecesaria de horas tratando de lograr algo con HTML / CSS / JavaScript, para lograr algo que se podría hacer sencillamente mejor y de manera más rápida en Flash. Utilice el Flash si sirve para hacer mejor el trabajo, considerando todas las cosas (incluidas las limitaciones presupuestarias y de tiempo). De lo contrario, seguir con HTML / CSS / JavaScript, porque el contenido sea más accesible y motores de búsqueda. HTML 5 es otra excelente herramienta para nuestra caja de herramientas, pero sin duda no sustituye por completo a Flash.
Lo ideal es informar con honestidad a nuestros clientes sobre las ventajas y desventajas de cada tecnología para su proyecto en particular en lugar de atender a cualquier petición que se hacen en función de sus impresiones (a menudo mal informadas). Hay que asegurarse de que el cliente entienden las ventajas e inconvenientes de accesibilidad en cada una de las propuestas que se le pongan en la mesa.
HTML / CSS / Javascript son herramientas perfectamente adecuadas para muchos proyectos, especialmente en sitios que no requieren de animación e interactividad avanzada. Pero a pesar de todo el bombo que se le hace a HTML 5, no creo que hoy por hoy sea la herramienta más apropiada para todos los proyectos. Flash sigue ofreciendo algunas ventajas convincentes. Aquí están algunas cosas que creo que Flash hace mejor hoy en día:
Para los desarrolladores de Flash, no se desanimen. Existe mucho mercado laboral todavía. Hay muchas posibilidades de hacer cosas creativas con Flash y desde mi perspectiva, esto no va a cambiar pronto. Flash es una plataforma sorprendente porque cada vez es más especializada por lo mismo que los navegadores crecen en sus mismas capacidades. También es buen momento de aprovechar la oportunidad para aprender nuevas e increíbles herramientas que están a su disposición, como son HTML 5, JavaScript y CSS 3.
HTML 5 es una excelente herramienta. Flash, por su parte, es una excelente herramienta también. Lo único que me queda por decir es: conócelas y disfrútalas en los diferentes proyectos que hagas.
Cuando se suscriba al blog, le enviaremos un correo electrónico cuando haya nuevas actualizaciones en el sitio para que no se las pierda.