Llegamos a ustedes gracias a:



Reportajes y análisis

HTML5 vs. Flash

[17/06/2010] En una esquina está Flash de Adobe, él una vez indiscutido campeón de la entrega de contenido multimedia a los ojos vidriosos del fácilmente aburrido público. En la otra está HTML5, él una vez proveedor de contenido pobre que ahora luce el número 5 después de su nombre, y está ansioso de probar que su nuevo músculo y sus movimientos ingeniosos serán más que suficientes para tomar las riendas del mercado.

Una amplia gama de expertos y pesos pesados de la industria han estado apostando en la pelea, anunciando a HTML5 como el nuevo campeón, y llamando a Flash "viejo", "frágil", "inseguro" o peor. Las quejas son fáciles de entender, y las nuevas habilidades de HTML5 son seductoras. ¿Pero es eso suficiente para apostar contra Flash?
HTML5 duplica muchas de las características que una vez fueron terreno exclusivo de los complementos (plug-ins): almacenamiento en disco local, pantalla de video, mejor rendering, dibujo algorítmico y más. Algunas de estas características están disponibles ahora en varias formas, pero las especificaciones de HTML5 aún están etiquetadas como "preliminares".
¿Es el súbito interés, y el apoyo de empresas como Google y Apple, suficiente para ganar? La pelea no ha terminado de ninguna manera. Si bien Steve Jobs podría tener suficiente esencia para cambiar el resultado, ni los tecnócratas ni los programadores son los jueces finales en esta contienda.
La batalla real está en el corazón y en los ojos de los artistas a los cuales se paga para crear objetos increíblemente hermosos en el lapso de solo unas pocas horas. Los diseñadores harán la determinación final. Siempre que Flash -y sus primos Flex y Shockwave- sigan siendo las herramientas más simples para producir sitios web maravillosos, mantendrán su lugar en Internet.
A continuación ofrecemos una lista de las siete razones por las cuales Flash permanecerá como el rey del contenido web multimedia. Ésta es el resultado de entrevistas realizadas a varios artistas que trabajan con él todos los días.
Razón No. 1: La resolución sub-pixel y el anti-aliasing de Flash
¿Quiere un borde alrededor de un bloque de texto generado por HTML y CSS? Bueno, puede escoger entre un píxel, dos píxeles o n píxeles. Las especificaciones permiten números de punto flotante, pero los números entre los enteros tienden a ser ignorados o redondeados en forma ligeramente distinta por diferentes navegadores.
Flash no solo acepta números de punto flotante, sino que utiliza las mismas reglas para dibujar líneas, cajas e imágenes en todas las máquinas. Utilizando sofisticados algoritmos de anti-aliasing y mezclado para generar líneas, Flash da la ilusión de que las pantallas tienen más precisión de la que realmente tienen. El ojo puede notar la diferencia, y por eso es que los sitios de Flash lucen mejor.
Esto está cambiando gradualmente a medida que los navegadores empiezan a soportar el estándar de Gráficos de Vector Escalable (SVG, por sus siglas en inglés) y permiten a los programadores de JavaScript mezclarlo con objetos Canvas. Pero mientras SVG es impresionante, aún le falta mucho para ser eficiente, gracias a todos los caracteres extra en los cuales insiste el estándar XML. La compresión puede ayudar, pero aún hay algo curioso respecto a la sugerencia de SVG-Whiz de que los artistas deberían "mantener un ojo en el código generado, y ajustarlo a mano donde sea posible".
Razón No. 2: Flash vence a Canvas
Una buena forma de obtener una impresión del nuevo objeto Canvas en HTML5 es jugar unas pocas rondas de FreeCiv, una versión gratuita de fuente abierta del clásico juego Civilización. Los desarrolladores implementaron todas las rutinas de gráficos básicas utilizando el Canvas de HTML5, y todas trabajan bastante bien. Cualquiera que asume que el propósito principal en la vida de JavaScript es verificar formas de registro en páginas web estará muy impresionado.
Pero cualquiera que compare los resultados con los mejores juegos basados en Flash, Shockwave o AIR solo estará ligeramente divertido. Muchos de los productos Canvas son impresionantes, pero algunas veces el código no funciona o se pone lento. Algunos navegadores son rápidos y algunos son lentos. Algunas operaciones son rápidas en un navegador, y flojas en otro.
Para hacer las cosas más complicadas, no todos los navegadores implementan cada característica exactamente de la misma forma, un problema que no debería ser sorprendente para los desarrolladores de JavaScript. Hay buenos esfuerzos por simplificar esto con librerías intermedias como Processing.js, pero incluso éstas no pueden manejar cada combinación.
Flash no es inmune a la complejidad que nos ha traído la proliferación de sistemas operativos y navegadores, pero ha estado lidiando con ellos por mucho más tiempo. Cuando el complemento de Flash no se cae, los resultados son hábiles, más suaves y más consistentes.
Pero hay signos de que HTML5 llegará hasta allí. Por ejemplo, Smokescreen, que genera Flash nativo sobre objetos Canvas, no corre aún sobre IE u Opera, pero es muy impresionante en otros navegadores.
Razón No. 3: Las buenas herramientas de desarrollador de Flash
El mundo del desarrollo en CSS, HTML y JavaScript ha recorrido un largo camino, pero aún es difícil encontrar un ambiente de desarrollo integrado para producir aplicaciones web sofisticadas. Hay soluciones como JackBe y algunas herramientas decentes basadas en web, pero éstas están principalmente encaminadas a construir aplicaciones de negocios que deben ser llenadas con datos. Ellas no lo ayudarán a enviar bandadas de pequeños mapas de bits bailando por toda la pantalla, seduciendo al lector -o deberíamos decir, al espectador.
Las herramientas de Adobe tales como Flash Builder, y la gama sin fin de compañeros de diseño en la Creative Suite, han estado haciendo esto relativamente fácil por años. Seguro, es un abrumador conjunto de aplicaciones, y muchos cuestan una fortuna, pero los verdaderos artistas se las arreglan para hacerlas funcionar.
La mayor competencia viene de las librerías AJAX tales como jQuery y Dojo, que han sido maravillosamente fértiles en estos últimos años, integrando los esfuerzos de una amplia variedad de contribuyentes. Si bien hay algunas herramientas que soportan estas librerías, mucha de la labor aún se hace codificando manualmente JavaScript.
Un diseñador que pidió no ser nombrado por la relación de su compañía con Apple, Adobe y otros, señaló que si bien él siente que Flash es "viejo", él considera esenciales las herramientas de Adobe. "Si Apple quiere matar Flash, debería empezar construyendo herramientas de reemplazo", indicó.
Apple podría no necesitar hacer tanto. Adobe está cubriendo sus apuestas y construyendo soporte HTML5 en Dreamweaver de modo que pueda continuar utilizando las herramientas de Adobe y disfrutar la flexibilidad.
Razón No. 4: Las supergeniales fuentes de Flash
El mundo de las fuentes para la web se está poniendo cada vez mejor. Hay más y más opciones más allá de Verdana, y las nuevas estructuras como el Web Open Font Format y WEFT de Microsoft lucen seductoras. Pero aún están en su infancia. Flash permite a los diseñadores integrar fuentes en sus páginas web en una forma controlada que hace posible a los desarrolladores de fuentes soportar el mercado web.
Adobe ha estado empleando a creadores profesionales de fuentes y promocionando su trabajo por algún tiempo. Han sido amigos de los talleres de fundición de fuentes, así que allanaron el camino para que alguien incluya una hermosa fuente nueva en la presentación sin destruir el sustento del creador de la fuente. El licenciamiento puede ser confuso o complejo -por ejemplo, las ITCFonts listan cuatro opciones- pero los diseñadores de fuentes generalmente premian a Adobe con su mejor trabajo.
Adobe también ha estado integrando tecnología de sus otros productos. Algoritmos del elegante motor de diseño de textos en InDesign ahora están disponibles en Flash cuando se integran fuentes delineadas a la presentación.
Razón No. 5: Flash se escribe una vez y se reproduce donde sea
Esto no es exactamente cierto. Steve Jobs podría no estar teniendo un arrebato si Flash estuviera libre de errores en la Mac, pero Flash aún es una forma relativamente fácil de distribuir contenido a viejas y nuevas Mac y PC con Windows, así como a algunas versiones de Linux. A Adobe le gusta llamarla "fidelidad de píxel perfecto a través de navegadores y sistemas operativos".
Jennifer Taylor, director de administración de producto de soluciones multimedia en Adobe, señala que si bien HTML está bien para el contenido que debe fluir en diferentes contenedores, Flash ofrece estabilidad visual multiplataforma.
"El reto para HTML como mecanismo de entrega de contenido en web es proveer un estándar de visualización consistente a través de un número creciente de navegadores diferentes", escribió. "Esto ha sido cierto desde el comienzo de HTML y aún es cierto con los más recientes desarrollos. Así que la productividad, expresividad, alcance y consistencia (multisistemas operativos / multiplataforma y cada vez más multidispositivo) de la plataforma Flash mantiene enormes ventajas para la comunidad web a medida que HTML avanza".
El formato Flash (SWF) es abierto, y es muy posible para otros crear archivos SWF personalizados sin utilizar ninguna herramienta de Adobe.
La naturaleza de píxel perfecto, sin embargo, no es necesaria para todos los mecanismos. Los usuarios de HTML se apresuran a señalar que HTML puede refluir hacia pantallas más pequeñas y ventanas de diferentes formas fácilmente. Los diseñadores que especifican bosquejos hasta el mínimo píxel producen trabajos frágiles.
Razón No. 6: El ecosistema comercial de Flash
Muchos usuarios de la Adobe Creative Suite adoran los complementos de terceros tanto como los propios productos de Adobe. ¿Quiere añadir hábiles efectos a su presentación de Flash? Revise las numerosas opciones comerciales de terceros disponibles, tales como FlashEFF.
El estallido de interés en el desarrollo de AJAX ha afectado su dominio. Por ejemplo, estos 30 visores de fotos y los cuadros de diálogo modales construidos sobre AJAX pueden rivalizar a muchos creados por la comunidad Flash.
Sin embargo, el trabajo en AJAX es casi todo de fuente abierta –una gran ventaja para los programadores dispuestos a jugar con el código, pero no siempre un activo para los artistas de JavaScript a quienes les gusta mantener sus innovaciones para sí mismos. Esto es en gran medida un accidente de la arquitectura web: mientras que el código de JavaScript puede ser oscurecido a través de la minimización, aún es relativamente fácil de piratear. Los efectos en Flash son compilados en el SWF, haciendo mucho más difícil para cualquiera tomarlos prestados.
Razón No. 7: Motores de juego de Flash
Seguro, JavaScript tiene "librerías", pero los desarrolladores de juegos en Flash tienen "motores". Y si bien la diferencia entre motores y librerías es generalmente académica, ¿qué escogerá un programador vigoroso? ¿Cuándo Bruce Springsteen escribió las letras de "Born to Run", acaso se detuvo por un momento, se rascó la cabeza y consideró pedirle a Wendy que rodee una librería con sus manos?
La plataforma que alguna vez nutrió las versiones remodeladas de los clásicos de arcade de los 80, ahora ofrece motores que entregan gráficos en 3D, física del mundo real, y la integración ubicua de Facebook. Gracias a estos sistemas prefabricados, se necesita muy poco tiempo para preparar rápidamente un juego casual. Eso podría explicar por qué tantas compañías crean juegos con el objetivo más amplio de la publicidad o la educación.
Un productor de sitios web que podría ser indicativo de hacia dónde se están dirigiendo las cosas dijo que Flash por sí mismo era un poco aburrido, y que ella seguía buscando más allá hacia el poder de Shockwave y otras mejoras.
"Yo prefiero Director/Shockwave porque me gusta lo que puedo hacer con ellos", señala. "El resultado final es visualmente más interesante, y las interacciones son más intrigantes. Las animaciones son menos repetitivas porque las animaciones Flash son solo mapas de bits que se repiten".
Ella añadió: "El desarrollador con quien he estado trabajando tiene una formación de cine. Él prefiere Director/Shockwave, y su trabajo es realmente creativo".
Estas son las personas a quienes HTML5 se debe ganar.
Peter Wayner, InfoWorld (US)