Flash 10.1 versus HTML5

Hace tiempo que Flash reina en el panorama web a la hora de crear animaciones y reproducir vídeo. Ahora, se ha dado paso a otra nueva tecnología, HTML5. Revisamos los puntos fuertes y debilidades de ambas propuestas

Salva Castro

Flash 10.1 versus HTML5

15 junio 2010

En los inicios de la Web, hubo un tiempo en que las páginas eran prácticamente texto, quizás texto rico, con formato y alguna imagen, pero poco más, y todo lo que uno podía encontrar fuera de lo común era algún botón, un cuadro de texto y una tabla formateada. Surgió entonces la necesidad de dotarla de mayor atractivo e interactividad.

Despliegue de creatividad

La tecnología pionera para conseguirlo fue el formato Flash, que abrió la puerta a la creatividad y dio la posibilidad de generar animaciones y objetos interactivos para incrustarlos y embeberlos en las páginas basadas en código HTML. Dichos componentes persisten hoy mucho más elaborados, son los archivos de extensión SWF, y aparecen como animaciones en páginas web y sitios multimedia; y más recientemente también en las RIA (aplicaciones de Internet ricas). Éstas han crecido y se han multiplicado siendo utilizadas en anuncios para la Web y en la implementación de reproductores de vídeo.

Originalmente, Flash no fue un desarrollo propio de Adobe, sino de FutureWave Software, que le llamó FutureSplash Animator. En diciembre de 1996, Macromedia la adquirió y pasó a ser conocido como Flash 1.0. Más tarde, en 2005, Adobe Systems compró Macromedia, y el formato pasó a conocerse como Adobe Flash. A partir de ese momento, varias versiones han ido aportando mejoras, al tiempo que se ha completado la plataforma con Flex, tecnología que se apoya en el lenguaje ActionScript (el núcleo de Flash) para realizar aplicaciones web que llevan a un cambio de paradigma, donde existe un fuerte componente de ejecución de código en la parte del cliente, hecho que posibilita crear aplicaciones ricas.

Por tanto, el formato Flash no es un estándar web, aunque está globalmente extendido. Hoy en día es un formato propietario de Adobe, que se encarga de desarrollarlo, añadir nuevas funcionalidades y posibilitar reproductores y plug-ins para los principales navegadores y plataformas.

flash-intro_large

Los cimientos de la Web

Por el contrario, el estándar HTML5 es una revisión del lenguaje básico de la web, el conocido código HTML (Hyper Text Mark-up Language), que es, sin duda, el esqueleto sobre el que se sustenta toda la programación de las páginas a las que podemos acceder al conectarnos a Internet, por así decirlo, son los cimientos de la Web tal como la conocemos.

Su desarrollo está regulado por el Consorcio W3C (World Wide Web Consortium) Apoyándonos en lo que nos explica Wikipedia, dicho organismo internacional fue fundado en 1994 y desde entonces elabora recomendaciones, define estándares y marca la guía para el desarrollo de la World Wide Web.

En esta nueva versión del estándar se establecen una serie de nuevos elementos y atributos; unas novedades que, hasta ahora, venían implementándose en otras tecnologías, como Flash o paquetes con un alto contenido de Java­Script, como por ejemplo el Framework AJAX que nutre gran parte de la Web 2.0. Además, el estándar sigue fiel a sus inicios y continúa basándose en el lenguaje por etiquetas, que representan objetos y texto que son interpretados por los navegadores. Ahora, entre los nuevos elementos, podemos encontrar mejoras en las etiquetas de siempre, etiquetas que abren el camino hacia la Web semántica y otras dedicadas a la reproducción de contenido multimedia.
Y es aquí donde establecemos nuestra comparativa, ya que ambas tecnologías sirven para reproducir animaciones y vídeo en la Web.

Novedades en ambos desarrollos

El próximo paso dentro del mundo Flash es la versión 10.1 del reproductor de Adobe, que viene cargada de mejoras a nivel de rendimiento al implementar aceleración por hardware en la reproducción de vídeo, al menos en la versión Windows. Además, ofrece soporte para los sistemas operativos Windows 7 y Mac OS X 10.6 Snow Leopard; y no solo a los de escritorio, pues cuenta con novedades para los dispositivos móviles, como el reconocimiento de gestos multitáctiles o el soporte de acelerómetros.

La beta pública de Flash Player 10.1 ya está diponible. De entrada, en Linux no se cuenta con aceleración gráfica por hardware, mientras que la versión para Mac OS X se enfrenta a Apple (al que no le hace gracia la tecnología Flash), aunque parece que la nueva edición podría soportar parte de Core Animation (aceleración de gráficos).
Habrá que ver cómo funciona el reproductor en plataformas móviles, y Android será una de las primeras en incorporarlo. Comprobaremos si ofrece un buen rendimiento con recursos más limitados y se erige como una alternativa a considerar en este tipo de gadgets. Eso sí, será difícil ver una versión de Flash en iPhone OS; de hecho, en el iPad, se acudirá a HTML5.

flashcore

Y es que las relaciones entre Adobe y Apple van mal, como denota la carta abierta de Steve Jobs en la que relata por qué Apple apuesta por HTML5. Según el CEO, Flash «no es abierto, como HTML, CSS y JavaScript», además, en Apple dudan de la seguridad y estabilidad de la plataforma Flash, sostienen que es una fuente considerable de errores en los Macs de escritorio y añaden que gastará más batería que las alternativas para reproducir vídeo mediante codificación estándar (H.264). Pero sobre todo, Steve recalca que «Apple no puede depender de una tercera compañía a la hora de decidir cuándo entrega herramientas a los desarrolladores». Como conclusión, sugiere a Adobe que se centre en crear buenas herramientas basadas en HTML5 y deje de criticar a Apple «por haber dejado atrás el pasado».

En cuanto a Microsoft y a Windows Phone, se mantienen a la expectativa y no ofrecerán soporte a Flash, pero no lo descartan en un futuro.

iPadHTML5

• Apple se niega a que sus productos sean compatibles con Flash, por lo que su último producto estrella (iPad), al igual que el iPhone, no lo va a implementar.

Qué aporta HTML5

En la nueva versión del estándar, se han incluido funcionalidades presentes en los sitios web desarrollados con Flash o Silverlight. En concreto, se han implementado etiquetas para referenciar contenido multimedia y para la reproducción de animaciones, audio y vídeo, funcionalidades que el navegador tradicional no incorporaba, pero que sí llegarán tras la implantanción de HTML5.

Ahora bien, las novedades no acaban en el plano multimedia, el estándar HTML5 aporta un conjunto de nuevas maneras de marcar el diseño y el contenido de la web, ofreciendo un componente semántico. Si antes se hacía uso de componentes globales para enmarcar el diseño junto con separadores y divisores comunes, ahora es posible definir zonas y campos con un contenido semántico mayor, con la posibilidad de definir áreas, pie de página, zonas de navegación o menús y, por tanto, la claridad y la división de una web cobra un sentido distinto.

Esto implica un cambio a todos los niveles puesto que, a partir del soporte a este estándar se podrá visualizar contenido multimedia directamente en los navegadores, sin necesidad de instalar ni hacer compatible ningún complemento adicional. Aunque, en primer lugar, los desarrolladores de esos navegadores deberán integrar estas funcionalidades y la capacidad de interpretar las nuevas etiquetas en las versiones de sus programas, y, en segundo lugar, las páginas web que se han creado y quieran usar HTML5 en su código deberán actualizarse a las posibilidades que brinda el estándar.

Navegadores con soporte

browsers

Flash Player 10 tiene versiones para todas las plataformas, Windows, Linux, Mac y dispositivos móviles; así como para el gran conjunto de navegadores, Explorer, Firefox, Opera, Safai y Chrome. Sin embargo, HTML5 tiene una acogida más lenta, aunque se va implementando en los principales navegadores, tal es el caso de Safari 4 u Opera 10.50. El resto, ofrecerá esta compatibilidad en posteriores versiones: Firefox 3.7, Explorer 9 y Chrome 5.0.

Otras alternativas para reproducir contenido multimedia en la web son Silverlight de Microsoft, un complemento para navegadores en plataformas Windows y Mac, y Moon­light para Linux, que integra en esta plataforma la tecnología de Microsoft. Las debilidades de estas alternativas son la gran cantidad de recursos que consumen.

Benchmarks

BENCHMARK EN LA REPRODUCCIÓN DE VÍDEO

Si observamos y medimos el rendimiento en cuanto a consumo de CPU de las distintas posibilidades de hoy en día, veremos que la diferencia en el uso de la aceleración por hardware es muy apreciable. Sin duda, aprovechar toda la potencia gráfica de las tarjetas que tenemos instaladas en nuestra máquina será clave para el desarrollo de aplicaciones y sistemas operativos futuros. A continuación, abordaremos esta faceta de reproducción de vídeo a través del navegador.

En Streaming Learning Center han realizado hace poco varios tests con Flash 10.1 y Firefox bajo Windows midiendo la reproducción de vídeo en YouTube (versión con Flash y con HTML5), donde el dato más significativo es que el consumo de procesador bajó del 22% usando la versión 10.0 de Flash al 6% con la nueva versión 10.1.

Así pues, parece que si se tiene acceso a una aceleración por hardware tipo GPU de la que Apple ya hace uso en Mac OS X, las diferencias entre Flash y HTML5 en cuanto a consumo de recursos decrecerían hasta convertirse en imperceptibles.

tabla1

Como se puede ver en la tabla, la diferencia entre la versión de Adobe Flash 10.1 con aceleración por hardware y la anterior versión 10 es notable en Windows, usando cualquier navegador obtenemos una reducción en el consumo de recursos de casi la mitad de los valores que anteriormente se marcaban con Flash 10. Sin embargo, en Mac OS X estas diferencias no son nada espectaculares, pero si nos fijamos en el registro que marca Safari con HTML5 sí entenderemos que a día de hoy esta tecnología parece que promete mucho en Mac OS y en sus derivaciones móviles (léase iOS).

BENCHMARK EN LA REPRODUCCIÓN DE ANIMACIONES

Cuando el contenido a reproducir no es vídeo, HTML5 no parece que tenga un consumo bajo de recursos, pero no hay una manera muy exacta de medirlo, ya que se han hecho pocas pruebas de rendimiento de las animaciones reproducidas en Flash o en Canvas/JavaScript (tecnologías equivalentes en HTML5). Y es más difícil la comparativa en el terreno de la animación, ya que, a diferencia de la reproducción de vídeo, no tenemos la misma base (YouTube) para comparar ambas tecnologías.

Podemos ver animaciones creadas usando Canvas y JavaScript comparando su rendimiento bajo las distintas plataformas en un artículo que Mike Chambers recientemente publicó en su blog. Pero parece ser que de momento estas animaciones implementadas en HTML5 tienen un consumo de recursos importante y el rendimiento de éstas es peor en Mac que en Windows. Lo que está claro es que hay una variabilidad muy alta dependiendo del navegador y sistema operativo elegidos para constatar nada concreto sobre el rendimiento de una u otra tecnología en este terreno.

También recientemente, en el blog TheManinblue se han llevado a cabo unos tests de rendimiento de animaciones programadas usando Flash y su contrapartida en HTML5 (Canvas), podéis ver un gráfico comparativo de los resultados para Firefox bajo OS X ilustrando este apartado. Como veis, el resultado da como vencedor la tecnología Flash, que consigue unos niveles de ejecución de las animaciones mucho más elevados (en fps, imágenes por segundo) que lo que se consigue actualmente lanzando el mismo test con Canvas.

Comparativa-animacion

De momento, está muy claro que la tecnología de facto para reproducir e implementar este tipo de animaciones es Flash, así que la comparativa con HTML5 en este campo pierde bastante sentido hoy por hoy. Aunque, desde luego, HTML5 se está abriendo paso a buen ritmo, al menos en el campo de la integración del audio y del vídeo en las páginas web, por ahora no es rival para Flash en el terreno de las animaciones, la publicidad embebida o los banners promocionales.

De hecho, uno de los principales defectos actuales de HTML5 es la dificultad de monetizar el servicio de vídeos, al no poder integrar publicidad en ellos de una forma tan bien resuelta como la presente en servicios que hacen uso de los reproductores Flash, como por ejemplo, el popular portal de vídeos YouTube.

Conclusiones

Como hemos visto, Flash y HTML5 ofrecen características similares: permiten la reproducción de vídeo y de animaciones en nuestros navegadores y son ampliamente soportados en las distintas plataformas, tanto en ordenadores de escritorio como en dispositivos móviles.

Sin duda, Flash ofrece una mayor aceptación a la hora de reproducir animaciones y será difícil que HTML5 consiga desbancarlo. Otra cosa es la reproducción de vídeo, donde el estándar web está marcando mejores registros y se está incluyendo en las próximas versiones de los principales navegadores.

Si nos centramos en el rendimiento, vemos que Flash mejorará sustancialmente en plataformas Windows una vez la versión 10.1 de Flash Player haya dejado la fase beta, cosa que parece que sucederá en breve. No obstante, los usuarios de Linux y Mac, deberán seguir confiando en la implementación del estándar HTML5 en los distintos navegadores para su sistema operativo, situación que les dejará un poco al margen, de momento, de las mejoras de rendimiento que se introduzcan en la versión Windows del plug-in de Flash. Quienes tienen mucho que decir sobre si esta versión 10.1 del reproductor de Flash funciona bien y ofrece un buen rendimiento en los smartphones son los usuarios de Android. Esto puede provocar un efecto dominó llevando a Microsoft o incluso a Apple a plantearse su incorporación en Windows Phone y en iOS.

Android-Iphone

No está todo perdido

Así pues, de momento, Flash todavía tiene mucho que decir y no parece que le vaya a ser fácil a la nueva especificación de HTML desbancarle. Además, no perdamos de vista que el desarrollo en Flash está ampliamente soportado con herramientas y entornos de test buenísimos, en cambio, ahora mismo, es bastante más complicado probar desarrollos usando HTML5. Con todo, poco a poco, vemos nuevas páginas que se adaptan y se modifican para hacerlas compatibles.

El tiempo desvelará si una vez HTML5 se haya estandarizado y popularizado, seguirá existiendo la necesidad de mantener la tecnología propietaria de Adobe para nutrir de contenido multimedia a la web. Los de Adobe han tomado buena nota y ofrecen mejoras respecto a la versión anterior. El rendimiento y el consumo de recursos serán uno de los puntos donde Flash debe avanzar. Por el momento en esta versión 10.1 ha cumplido con creces estos objetivos, veremos si en el futuro sigue ofreciendo esta optimización y las novedades a las que nos tiene acostumbrados o si, por el contrario, se demuestra que HTML5 es suficiente para satisfacer las necesidades de los usuarios.

Imagen-5
Temas Relacionados