Ha habido muchas disputas sobre HTML5 recientemente. Mucha gente piensa que la aparición de HTML5 acabará con Flash instantáneamente, hasta el punto de que existe una gran disputa en los principales foros de desarrollo web front-end. Unas pocas palabras en el foro no fueron suficientes para satisfacerme, así que tuve que hablar abiertamente en mi propio tercio de acre de tierra. También sea una varita mágica y espere con ansias el futuro del desarrollo web front-end. En primer lugar, el HTML5 mencionado aquí no solo se refiere al HTML5 en sí, sino que generalmente se refiere a toda la tecnología web front-end incluida en HTML5, CSS3, JavaScript y las nuevas API del navegador.
¿Quién necesita HTML5?
¡Google es el que más lo necesita! Apple Jobs también lo requiere. Pero estos dos definitivamente tienen su propia agenda. A Microsoft no le importa, todavía tienen Silverlight de todos modos.
Mozilla/Firefox, una organización sin fines de lucro, puede tener un objetivo más noble y respaldar los estándares del W3C. La cuota de mercado de los navegadores Opera es tan pequeña que probablemente todavía no se haya pensado mucho en ello.
Al imperio de la computación en la nube de Google le falta un cliente que admita aplicaciones de Internet enriquecidas RIA (Rich Internet Applications). Imagínese que cuando HTML5 se vuelva popular y más aplicaciones adopten el modo BS, el entorno ecológico del software de escritorio del imperio Microsoft se verá gravemente amenazado. Google, codiciado durante muchos años, debe ser el mayor beneficiario. Cuando pueda utilizar Google Doc gratuito con funciones similares a MS Word en una computadora con un sistema operativo gratuito, ¿seguirá pagando por Microsoft Word? ¿Seguirá gastando dinero en un sistema operativo cuando todo lo que necesita para hacer sus aplicaciones de oficina es abrir una ventana del navegador? La interfaz del sistema operativo Chrome OS de Google ya ilustra esta intención.
Jobs también necesita HTML5. Tiene un pequeño cálculo. Quiere que el navegador admita video y audio de forma nativa, de modo que el iPhone y el iPad no necesiten incorporar Flash. Por supuesto, Jobs no puede permitir que se incluya Flash en el sistema operativo del iPhone. De lo contrario, ¿quién comprará los juegos en la App Store? Al mismo tiempo, si se puede implementar una gran cantidad de aplicaciones basadas en navegadores, los usuarios no se quedarán atrapados con las aplicaciones de escritorio de Windows. ¿Quién no ama una hermosa computadora Mac?
Eligieron HTML5 para mayores ambiciones, con la esperanza de que HTML5 provocara cambios en todo el ecosistema de software evitando Flash, que no estaba bajo su control.
Macromedia y más tarde el líder Adobe captaron las necesidades de desarrollo de aplicaciones de Internet y mejoraron continuamente Flash, llevándolo más allá de las funciones del propio navegador. Los principales fabricantes de navegadores también han visto la demanda de este tipo de aplicaciones y no se contentan con una función que debería ser implementada por el navegador. La han implementado con un complemento de varios megabytes de tamaño y se ha vuelto popular. Por eso no escatimamos esfuerzos para promocionar HTML5 y apuntamos a Flash.
¿Los usuarios quieren HTML5? Lo que quieren los usuarios no es tecnología, sino aplicaciones y experiencia. Si puedes usar Ajax para implementar una granja feliz, no creo que a nadie le importe si está hecho de Flash.
¿Los desarrolladores quieren HTML5? Eso requiere un entorno de desarrollo HTML5+CSS3+JS maduro, y cada navegador debe proporcionar una experiencia de usuario unificada, es decir, compatibilidad total con los estándares. También es necesario agregar nuevos costos de aprendizaje.
¿Ventajas de Flash?
¿Por qué Flash es mejor que HTML5? ¿Rendimiento, funcionalidad? ¿Qué pasaría si HTML5 tuviera un DOM similar a todos los objetos integrados en Flash, así como aceleración GPU 2D y 3D? Esto no es imposible, después de todo, HTML5 es todavía solo un borrador. Por supuesto, Flash también se puede actualizar continuamente.
grupo de desarrollo
Creo que la ventaja de Flash radica en los desarrolladores. Después de más de diez años de acumulación, muchos excelentes artistas, programadores y diseñadores interactivos se han concentrado en desarrollar medios interactivos en la plataforma Flash. También ha permitido que innumerables bibliotecas de clases tengan versiones AS, como FLARToolKit, Touchlib, OpenCV y otras bibliotecas C++ para interacción y análisis de imágenes, que se han trasplantado a la plataforma Flash. Existe un marco Flex relativamente maduro y de código abierto para aplicaciones RIA. Cada vez más empresas intentan utilizar Flex para reemplazar marcos Ajax como Ext para brindar a los clientes una mejor experiencia con las aplicaciones RIA.
desarrollo sostenible
FlashPlayer es un sistema cerrado, controlado exclusivamente por Adoeb. Comparado con el estándar abierto HTML5, esto es una debilidad, pero también una ventaja técnica. Puede ser muy flexible y puede agregar nuevas tecnologías y funciones en cualquier momento. HTML5 es un estándar abierto. Dado que es un estándar, significa que no cambiará con frecuencia. Las mejoras y actualizaciones de Flash solo requieren que los usuarios actualicen el complemento FlashPlayer, que es relativamente liviano para los usuarios. Las mejoras en los estándares HTML significan actualizar los navegadores, lo cual es una operación de usuario relativamente pesada, especialmente porque muchas personas todavía no entienden qué es un navegador.
Una vez que se finalice el estándar abierto HTML5, tendrá un ciclo de vida largo. Será una característica suficientemente avanzada hoy, pero lo será dentro de diez años. Al igual que cuando usábamos HTML4+CSS2+JS y éramos complacientes y pensábamos que era suficiente para expresar aplicaciones web, ¿quién podría haber imaginado el mundo que se abre hoy con la mejora continua de Flash? Quizás diez años después deberíamos volver a discutir el tema de cómo HTML6 acaba con Flash.
Más allá de las aplicaciones web
Si SUN pudiera prestar atención a los applets de Java en aquel entonces, tal vez hoy no habría Flash y SUN no estaría en condiciones de ser adquirido. Y ahora Adobe AIR ha hecho que Flash supere a los applets de Java, haciendo que Flash supere a la web y se aleje del navegador. Las funciones de Flash se han mejorado continuamente hasta el día de hoy y también está comprimiendo constantemente el espacio de aplicaciones de su hermano mayor Director en el campo multimedia. La realización de funciones multitáctiles, reconocimiento facial, sincronización de comunicación Socket, realidad aumentada AR, video en tiempo real y otras funciones en la plataforma Flash ha llevado a que cada vez más proyectos multimedia interactivos utilicen soluciones Flash.
Espero que Adobe continúe ampliando la funcionalidad de la plataforma Adobe AIR y mejorando el rendimiento. Cada vez se pueden implementar más aplicaciones de escritorio multiplataforma en AIR.
¿Desventajas de Flash?
Los derechos de autor de FlashPlayer son privados.
El contenido de los archivos swf es relativamente cerrado y no es compatible con los motores de búsqueda.
Riesgos de seguridad de los complementos.
Comparado con la curva de aprendizaje y el costo de aprendizaje de la tecnología Ajax.
FlashPlayer ¡Tasa de instalación del 94%! = 100%.
iPhoneOS claramente no soporta Flash, y se espera que los 120.000 pedidos del iPad del primer día abran un gran mercado.
No se admite la aceleración de hardware 3D. Si FlashPlayer admite la aceleración de hardware 3D, definitivamente reescribirá el motor vectorial 2D existente. En vista del rendimiento de ShockWave 3D, es difícil que el hardware 3D de FlashPlayer tenga una buena experiencia de usuario.
¿Con qué HTML5 reemplaza a Flash?
Función: HTML5 es todavía solo un borrador. A juzgar por el contenido enviado, se han agregado muchas más etiquetas semánticas. Las nuevas etiquetas significan agregar nuevas clases al DOM. Si se compara el navegador con un reproductor Flash grande, HTML5 no es más que agregar. nuevas clases y nuevas API. Luego, JavaScript llama a estas API. Para que HTML5 reemplace completamente a Flash, al menos debe proporcionar funciones similares a Flashplayer10. Esto no debería ser un problema. Al agregar WebSocket, WebSQL, WebGL... o incluso WebQt, WebMFC puede ser infinitamente imaginativo. O simplemente convierta el navegador en una gran máquina virtual para cumplir el deseo de escritorio de Java. Nada de esto es un problema si hay suficiente impulso de la demanda.
Rendimiento: en muchos artículos escritos por radicales de HTML5, todos señalan que la ineficiencia actual de Flash provoca fallas en la navegación. ¿Es Flash realmente tan ineficiente? Definitivamente no, simplemente es causado por el abuso de Flash y los desarrolladores web front-end desiguales. De manera similar, si usa el motor JS de IE para escribir una versión Ajax de la granja XX, y si todas las animaciones publicitarias de la página están escritas en JS, creo que eso se llamaría ineficiencia. Si Flash es realmente ineficiente, ¿por qué tantos juegos web no se crean con Ajax? ¿Por qué muchas escenas de juegos Flash3D bien optimizadas son muy fluidas, pero una granja 2D XX puede ralentizar tu Core 2? Los desarrolladores desinformados y a medias siempre atribuyen la falta de respuesta y los bloqueos del navegador a la ineficiencia de Flash. Por lo tanto, si HTML5 quiere reemplazar a Flash en el futuro, debe tener un motor de representación de texto y gráficos 2D/3D eficiente y un motor JavaScript eficiente. Esto puede brindar una mejor experiencia de usuario. ¿Están todos los fabricantes de navegadores preparados para esto? Chrome y Opera parecen seguir este camino.
Compatibilidad: el estándar HTML4 existe desde hace más de diez años y hoy también escribiremos el nombre del estilo CSS de fxckIE6. La compatibilidad del navegador será el mayor problema, especialmente HTML5 y CSS3 después de agregar muchas funciones. ¿Cómo se coordinan los grandes detrás de IE, Firefox, Chrome y Safari? Aquí hay una contradicción. Para desarrollar productos diferenciados, debemos proporcionar funciones homogéneas. Funciones como el rendimiento de JS, la navegación por pestañas, las colecciones sincronizadas y los complementos que mejoran la experiencia del usuario son áreas de diferenciación. Si hay algo como ActiveX que vuelve a ser sólo IE, sería mejor mantener el método HTML4 sin cambios.
Modelo de desarrollo: Flash IDE une a innumerables artistas destacados, diseñadores de UI y diseñadores de programas interactivos para finalmente lograr Flash. Esto también está relacionado con el atractivo de Macromedia y Adobe en los grupos de diseño gráfico y diseño interactivo. La interacción HTML5 llevará JavaScript a un nuevo nivel, lo que definitivamente requerirá un entorno de desarrollo maduro. ¿Continuar DW+Firebug? ¿O DW se actualizará a un nuevo IDE de desarrollo interactivo HTML5, o Microsoft VS hará esto, o Eclipse? Sólo un entorno de desarrollo maduro puede reunir talentos, estimular una creatividad infinita y generar más contenido. El contenido enriquecido naturalmente atrae a más usuarios.
Despliegue: este es el tema más importante. Sin este paso, todo es cero. ¿Cómo implementar la nueva versión de Flash? Está bien actualizar el complemento en función de más del 90% del escritorio compartido. Cómo implementar HTML5 y actualizar el navegador, esto es un poco difícil, eche un vistazo al tenaz IE6. Escuché a alguien sugerir que Microsoft incluya actualizaciones de IE en el ServerPack del sistema. Sólo puedo decir que esta idea es buena, pero el mazo antimonopolio definitivamente matará a Microsoft. Entonces, ¿cómo guiar a los usuarios para que actualicen sus navegadores? No es un problema para el "usuario principal" de Internet. Actualmente, muchas personas utilizan la versión de desarrollo de Chrome que admite algunas funciones de HTML5 y CSS3. Pero es posible que esos "usuarios ligeros" ni siquiera comprendan la relación entre la ventana que utilizan para leer páginas web todos los días y el navegador. Esto requiere una aplicación asesina HTML5 que lo guíe. Los "usuarios ligeros" casi nunca actualizarán el navegador según la tecnología, solo lo actualizarán según las necesidades de la aplicación. Por ejemplo, YouTube ya no admite usuarios de IE6, por lo que los usuarios a quienes les gustan los videos de YouTube actualizarán a IE6 antes de volver a visitarlos. Los usuarios no optarán por actualizar IE6 debido a su escasa compatibilidad con los estándares HTML. Esto es inevitable. Entonces, ¿dónde está la aplicación estrella de HTML5? ¿O todos tienen la influencia y el atractivo de Youtube? Y para un sitio web sin ese atractivo, ¿quién tomaría precipitadamente la iniciativa de admitir HTML5 y exigir a los usuarios que actualicen sus navegadores? Estos sitios web inevitablemente caerán en el dilema del prisionero, y en el dilema del prisionero repetido, el juego se repite repetidamente. Finalmente, entraremos de lleno en la era HTML5. Este proceso puede ser corto o largo. Después de todo, el front-end web existente no ha llegado al punto de colapsar, pero se debe al impresionante rendimiento de complementos como Flash y marcos JS como jQuery.
Resumir
HTML5 no es una necesidad urgente para las aplicaciones de usuario, sino más bien una necesidad estratégica para que los fabricantes intenten cambiar el panorama ecológico del software.
En vista del rendimiento pasado de los principales navegadores, la compatibilidad de HTML5 aún está por verse y no es apropiado migrar aplicaciones de inmediato.
HTML5 requiere un entorno de desarrollo maduro y completo, que el navegador Notepad + no puede manejar.
Con la explosión de funciones HTML5, el navegador debe tener un motor gráfico y un motor de secuencias de comandos eficientes.
HTML5 necesita una aplicación excelente para atraer y guiar a los usuarios a actualizar sus navegadores y, en última instancia, completar la implementación de terminales HTML5.
Flash es una tecnología en constante evolución con una gran flexibilidad. HTML5 no puede reemplazar completamente a Flash y muchos desarrolladores no abandonarán Flash por completo.
Espero que Adobe AIR pueda desarrollarse mejor, para que Flash pueda superar las aplicaciones web del navegador y abarcar sistemas operativos, con un mejor desarrollo y más aplicaciones.
Texto/IT168