El asalto de HTML5 a Adobe Flash se calienta con ClickToFlash, por Daniel Eran Dilger

Mientras Adobe trabaja para portar su Flash Player completo a las plataformas móviles y destaca su próxima aparación en la CS5 con la capacidad de crear aplicaciones para iPhone usando herramientas de Flash, un grupo de código abierto está liderando una iniciativa para anular Flash en los navegadores de sobremesa usando un plugin para WebKit llamado ClickToFlash.

clicktoflash.05.png

ClickToFlash permite a los usuarios de Safari aislar el contenido Flash en la web de forma que sólo se reproduzca cuando ellos lo deseen. El contenido en flash es sustituido por una caja contenedora que permite al usuario ignorar el ítem (como los anuncios) o hacer clic en el cuadrado para activar la reproducción flash cuando se desee.

Adicionalmente, el plugin puede convertir peticiones de vídeos YouTube para Flash en peticiones de vídeos en H.264, que tienen mayor calidad, permitiendo a los usuarios de navegadores de sobremesa evitar Flash de la misma forma que hace el iPhone, y simplemente reproducir cualquier vídeo de YouTube usando el soporte propio incorporado en el navegador de HTML5 que permite reproducción directa de H.264.

Los ejemplos que mostramos a continuación comparan el mismo clip en HD servido por YouTube, primero renderizado usando Flash con los controles de reproducción grises estándar de YouTube, y después presentado en H.264 usando ClickToFlash para pedir una versión sin flash desde Google. La versión nativa de HTML5 se traduce en que Safari usa sus propios controles de reproducción QuickTime X nativos, en vez de los creados por Google usando Flash. Durante la reproducción, la barra negra de reproducción nativa de Safari desaparece; usando el plugin ClickToFlash, el usuario puede también visionar vídeos H.264 usando reproducción a pantalla completa.

YouTube via Flash

YouTube via HTML5

Además de ofrecer vídeo de mejor calidad y controles de reproducción más funcionales y precisos para navegar por el clip de vídeo, la reproducción directa de ClickToFlash usando HTML5 evita que el plugin de Flash arranque y empiece a consumir ciclos de CPU y batería del portátil. Si eliminamos YouTube, esto significa que cargar páginas web no saturará el procesador simplemente para poder animar anuncios Flash en segundo plano. Todos los elementos esenciales en flash, como componentes de navegación, pueden activarse según se necesiten haciendo clic en el contenedor creado por ClickToFlash.

En el ejemplo que vemos abajo, Safari con ClickToFlash no carga el contenido flash de la página del New York Times por omisión, pero cargará los ítems individuales a petición del usuario. En el iPhone, nunca se cargarán (ni pueden cargarse) contenidos en flash. La mayoría de las redes de anuncios que usan flash ahora detectan el agente de usuario del iPhone y ofrecen báners alternativos sin flash. A medida que más usuarios desactiven Flash, el mercado de anunciantes seguirá la tendencia, de la misma forma que se ha acomodado al iPhone. Los vídeos también pasarán a H.264 para ser compatibles con navegadores modernos que no necesitan Flash simplemente para presentar clips de vídeo.

NYT ClickToFlash

“Uno de los objetivos primarios de ClickToFlash es eliminar cuanto Flash de la web sea posible, permitiendo a los usuarios decidir qué flash quieren ver,” dice la página de desarrollo del plugin. El grupo pide ayuda para ayudar a añadir soporte directo de vídeo para otras páginas que actualmente usan flash para facilitar la reproducción de vídeo.

Como el soporte de vídeo H.264 que se ofrece usando sencillas etiquetas en HTML5 elimina la demanda principal de Flash en la web, y a medida que los desarrolladores web se familiaricen con el uso de la nueva característica Canvas de HTML5 para realizar sofisticados efectos de animación dentro de las páginas web sin necesidad de recurrir a plugins como Flash o Silverlight, muchos observadores han afirmado que Adobe se enfrentará a una dura batalla para seguir empujando la cerrada plataforma de desarrollo Flash como alternativa a usar estándares web, especialmente a medida que las nuevas iniciativas como WebGL, que acelera el 3D usando el hardware comiencen a ganar adeptos.

La estrategia móvil de Adobe para Flash

Mientras ClickToFlash trabaja para matar Flash en los ordenadores de sobremesa, la batalla abierta entre Flash de Adobe y HTML5 ha sido solventada radicalmente en el ámbito de los móviles. Apple presentó el iPhone sin soporte para las versiones Flash o Flash Lite, un subconjunto de Flash dirigido a los teléfonos inteligentes. A medida que Apple se hacía cada vez más inflexible en su oposición a Flash en el iPhone, Adobe informaba que tenían un Flash Player para el iPhone en marcha y casi acabado, y sugerían que incluso Apple estaba trabajando con ellos en el proyecto.

Eso ha cambiado con el anuncio esta semana de que Adobe sacaría una nueva versión de Flash Player 10 para otras plataformas móviles a lo largo del año que viene, con una beta pública inicial para Windows Mobile y WebOS de Palm a finales de año, seguida por betas para Android y Symbian a lo largo de 2010. En ese anuncio no estaban los dos teléfonos más «calientes» del mercado: la BlackBerry de RIM y el iPhone/iPod touch.

Adobe resolvió el desarrollo del iPhone anunciando que sus próximas herramientas de desarrollo de Flash en la próxima CS5 permitirían la producción de aplicaciones nativas iPhone. Las aplicaciones resultantes no son Flash, y esto tampoco va a ayudar en nada a la reproducción de contenidos Flash en el iPhone, ya sea en aplicaciones independientes o embebido en páginas web.

Crear aplicaciones para el iPhone usando Flash CS5

Las «aplicaciones» Flash sustituyen contenidos web estándar creado usando HTML, CSS, y JavaScript con el formato propietario de Adobe «.swf», un archivo binario cerrado que envuelve los archivos de contenidos web (como gráficos y películas) con las propias variantes de la empresa de ECMAScript (JavaScript), llamado ActionScript. En CS5, las herramientas de desarrollo Flash permitirán que los nuevos proyectos Flash se exporten como aplicaciones estándar de iPhone en vez de archivos .swf.

Adobe lo va a hacer usando LLVM (Low Level Virtual Machine), una tecnología de compilación de código abierto soportada por Apple y usada en sus herramientas de desarrollo Xcode para Mac e iPhone. La próxima versión de desarrollo de aplicaciones flash de Adobe simplemente compilará el ActionScript de Flash en código nativo de iPhone, de igual forma que las herramientas ya existentes permiten a los desarrolladores de iPhone escribir su código usando Java, Scheme, u otros lenguajes y después compilar el código en C u Objective-C como aplicación nativa de iPhone.

El iPhone se ha diseñado para no ser compatible con lenguajes alternativos a través de ningún tipo de máquina virtual, lo que impide que utilice en «crudo» Java, Flash, .Net, Silverlight, o cualquier otra cosa que no sea su código nativo C/Objective-C compilado para el procesador ARM. Esto se especifica en el acuerdo del SDK de Apple. No hay, sin embargo, ningún tipo de restricción contra la compilación de código ya existente en C/Objective-C nativo y crear una aplicación iPhone a partir de ahí.

Making iPhone apps with Flash CS5

Portar Flash al móvil

Los proyectos actuales Flash requerirán algún trabajo adicional para que funcionen en el iPhone; Adobe señaka que la resolución 320×480 del iPhone no es la resolución objetivo de la mayoría de las aplicaciones flash que se dirigen a los usuarios web, y que la navegación táctil no funcionará con contenidos diseñados alrededor del uso del preciso puntero de ratón.

“Ciertos comportamientos que se pueden usar a menudo en el desarrollo de aplicaciones de escritorio no se aplican necesariamente al iPhone,” escribe el portavoz de Adobe Aditya Bansod en el artículo de blog en el que anunciaba las nuevas herramientas. También avisa, “El iPhone claramente no es un ordenador de sobremesa. Tiene un hardware potente y sofisticado, pero hay un amplio espectro de capacidades entre las diferentes generaciones del dispositivo, la cantidad de memoria disponible y la cantidad de potencia de proceso que cada aplicación tiene a su disposición.”

Las FAQ de Aplicaciones para iPhone de la propia Adobe señalan, “El iPhone e iPod touch tienen procesadores considerablemente más lentos que los que se encuentran en la mayoría de los PCs y Macs de sobremesa. Por lo tanto, los contenidos pueden funcionar más despacio que como lo hacen en un ordenador de sobremesa. Sin embargo, las diferencias exactas dependerán del contenido específico.”

Las muchas caras de Flash

Adobe también afirma que cualquier contenido flash que se piense pasar a aplicación para iPhone debe usar ActionScript 3.0, que se presentó con Flash 9. Las anteriores versiones de Flash usaban ActionScript 1.0 o 2.0, que funcionan usando una máquina virtual completamente diferente a la de ActionScript 3.0. El plugin de flash para sobremesa ofrece dos máquinas virtuales diferentes, una para reproducir los códigos ActionScript 1/2, y una segunda para ejecutar ActionScript 3.0.

La versión actual de Flash Lite 3.0 para teléfonos móviles sólo soporta ActionScript 2.0, lo que significa que Flash Lite no puede utilizar los cotenidos de los modernos Flash 9 o 10. El nuevo reproductor Flash 10 que Adobe dirige a los usuarios de teléfonos móviles sólo utilizará ActionScript 3.0, lo que significa que los contenidos flash anteriores diseñados para funcionar con Flash Lite no funcionarán en los nuevos dispositivos.

Esta diversidad ayuda a engordar las versiones de sobremesa de Flash, que no hace ningún esfuerzo en obligar a modernizar los contenidos de flash porque tiene los recursos disponibles para seguir utilizando los antiguos contenidos usando múltiples máquinas virtuales. Pero eso no es trasladable al entorno móvil, donde la duración de la batería y las limitaciones de potencia de procesado hacen que no sea viable un plugin lleno de máquinas virtuales y que ocupe tanto.

El plan de Adobe de crear una versión móvil «completa» de Flash 10 que sólo soporta los nuevos códigos de la versión 3.0 hará que de repente gran cantidad de contenidos Flash que tengan poco más de un par de años queden obsoletos. Eso incluye todo lo que se diseñara para funcionar con Flash Lite, la estrategia actual de Adobe para móviles. Esto obliga a los desarrolladores de flash para móviles a reescribir todo su código flash para que su contenido se vea bien en el nuevo reproductor, eliminando así una de las principales razones para querer usar Flash en primer lugar: su amplia base instalada.

History of Flash Player

Adicionalmente, con el iPhone consumiendo alrededor de la mitad de todo el tráfico web de móviles, los desarrolladores de Flash para móviles tendrán que plantearse si merece la pena reescribir todo su contenido en flash existente en ActionScript 3.0 sólo para poder acceder a las plataformas que no son el iPhone que deberían poder usar Flash Player 10 en algún momento del año que viene.

La alternativa es construir aplicaciones con HTML5 usando JavaScript estándar, que ya funciona en el iPhone y en otros navegadores móviles que usan WebKit como los de Symbian de Nokia, Android de Google, BlackBerry OS de RIM, y WebOS de Palm.

Esos contenidos abiertos no sólo funcionarán en el iPhone y BlackBerry, sino que también lo harán en navegadores de sobremesa incluyendo los que usan WebKit como Safari y Chrome, Firefox de Mozilla, Opera e incluso Internet Explorer usando el plugin Chrome Frame de Google.

Artículo HTML5 assault on Adobe Flash heats up with ClickToFlash traducido con autorización del autor

14 Comments

  1. Anónimo

    Aquí uno que detesta Flash.

    Odio esas barras de progreso de carga de flash; y eso que tengo una conexión de 12 megas. Por eso siempre te dan la opción de “saltar intro“.

    Hace unos meses, estuve mirando sofás por internet y, claro, todas las web de decoración y de muebles de diseño son muy pijas y tienen que poner su flash que queda muy chuli. ¡Terminé queriendo asesinar al que inventó Flash! ¡Qué tortura!

    Que conste que acabé comprando en IKEA.

  2. Anónimo

    Jo, no sólo hay que aguantar las bobadas de Daniel Eran en su blog y en AppleInsider si no que también se tienen que aguantar aquí.

    Gran aporte a la seriedad y credibilidad de faq-mac el poner cualquier texto de ese individuo.

    Como mínimo, os podríais haber leído el hilo en los foros para corregir las «incorrecciones» de Eran.

  3. Anónimo

    Llevo usando este plugin desde hace ya un tiempo y de verdad que es una maravilla, las páginas cargan más rápido, los vídeos se ven mejor, es más cómodo descargar los vídeos de youtube en h264 (ya no hay que recurrir a comando+alt+a, el mismo contenedor te da la opción de descarga). Y la batería en teoría debería durar más, no he hecho un test exhaustivo al respecto (porque tengo una vida) pero la lógica nos dice eso.

    UrianR, no es que ahora la gente odie a flash poruqe apple no lo quiera en el iPhone, Flash es un devorador de recursos enorme, siempre lo ha sido, tanto en su versión de ordenadores como sus versiones de bolsillo. Y desgraciadamente se ha establecido como una especie de estándar (cuando NO lo es), y hay programadores que lo usan para cosas tan simples que pueden ser sustituidas por otras más eficientes y obtener así (como es lógico) mejores resultados. Como anécdota, en la página del Zune HD usan flash hasta para poner los títulos estáticos que solamente son un texto negro en fondo blanco… Es un absurdo total!, como van a hacernos gastar ciclos de procesamiento y batería simplemente para poner un título (los que dicen «características», «diseño», etc), cuando simplemente lo pudieron haber escrito en cualquier editor web básico de hace 10 años, con incluso editándolo desde el bloc de notas hubieran obtenido exactamente el mismo resultado!.

    Yo siempre he odiado el flash por eso, pero sí me gustaría que lo implementaran en el iPhone de una manera similar a el plugin clicktoflash, en el cual siempre venga el contenido flahs desactivado y sin ejecutarse, y con alguna interacción activar el flash y ver el contenido. Así ahorraríamos la tan preciada batería del terminal y tendríamos todo el contenido.

    SAludos.

  4. Redacción Post author

    No sé por qué vas a su blog a leer sus bobadas (ni a AppleInsider) si tan bobo es, ni por qué has leído esto cuando su nombre está en el título para que nadie se llame a engaño.

    Pero sí que podrías aportar (tú que te has leído los foros) algo constructivo y ayudarnos a todos.

    Te lo agradezco de antemano

    Alf

    (Por supuesto sé que en otras webs jamás publicarían este artículo porque su extremada calidad de contenidos les impide perder el tiempo con estas bobadas)

  5. Anónimo

    No, no es bobo, es un fanático mentiroso de lo peor que existe en internet. Lo de «bobadas» era un eufemismo para lo que realmente es cualquier escrito de ese individuo.

    Ah, no he dicho que le lea, lo que hago es leer los hilos donde la gente con algo de conocimiento y sin sus malas artes le dejan en ridículo por sus mentiras tergiversaciones y obsesiones.

    Ahí tienes la entrada que ha puesto uRian, que tiene más tiempo que yo para redactar sólo una parte de lo que se le puede desmontar de la «cosa esa» que habéis puesto en el blog.

    Es vuestro blog, poned el contenido que queráis, pero Daniel Eran lo único que hace es desprestigiar cualquier sitio que le enlace.

  6. Redacción Post author

    Gwydion, nosotros damos los puntos de vista (que conozcamos) de las cosas, unas en un sentido (como el artículo Apple y Adobe siguen bailando tangos, aunque se pisen alguna vez) y éste que muestra otra tendencia. Los lectores se formarán su propia opinión. Nuestra obligación es mostrar todos los lados de la moneda: la cara, la cruz y el canto, si es posible.

    Ahora, si me das enlaces a artículos o comentarios que aporten más luces sobre esta situación (o sobre las «mentiras» «tergiversaciones» y «obsesiones» de Daniel Eran, ya que nos ponemos), encantados de traerlas a la mesa.

    Quedo a la espera,

    Alf

  7. Anónimo

    Me parece que no me explico, no es cuestión de cantos, pro/anti Apple, pro/anti Adobe, pro/anti MS, etc.

    Es cuestión de que hay individuos que, independientemente de su filiación, lo único que hace es dar rienda suelta a sus obsesiones y el valor que tienen como información es nulo y Daniel Eran es uno de ellos.

Deja una respuesta