HTML5 lo seguirá intentando en 2014…

Después de leer, una vez más, sobre la posible muerte de Flash a manos de HTML5 (sí, ya se que debéis de estar tan aburridos como yo del tema…) durante este año 2014 (ni antes ni después) en este artículo, me he decidido a responder. Lo cierto es que nada más lejos. HTML5 lo sigue intentando, pero el hype generado se empieza a desinflar y empiezan a salir a la luz todos los problemas. Pero la historia no es nueva, ya se dió hacia 2004-2005, y ahora la volvemos a repetir…

Reproduzco aquí el comentario ya que al final es largo y me parece de interés para hacer una entrada de blog:

[quote]Mi lectura es muy distinta, en los últimos meses el hype generado por HTML5 se empieza a desinflar por muchas razones. Además muchas compañías de relevancia en Internet han terminado abandonando HTML5 y se están volcando en el el desarrollo de Apps nativas. Algunos ejemplos son: Facebook, LinkedIn…o la más reciente The Washinton Post. Algunos usan Adobe AIR como tecnología para desarrollar a la vez para iOS, Android, etc… y Adobe AIR usa internamente Adobe Flash Player.

Lo cierto es que los que trabajamos día a día con tecnologías cliente ya lo decíamos. HTML5 no ha supuesto un cambio radical sobre HTML y los problemas que teníamos en el año 2000, los seguíamos teniendo en 2010 y también ahora en 2014. El motivo es claro, HTML está orientado al *documento*, al *texto*, y no es la mejor solución para crear una *aplicación*, y esto sigue siendo así en 2014, pues la tecnología no ha cambiado sustancialmente desde entonces.

Además seguimos teniendo los grandes problemas inherentes de siempre que la hacen inviable a futuro:

  • Fragmentación: La cantidad de proveedores de navegadores aumentan y hace que las aplicaciones no funcionen de forma directa por igual en cada implementación. Los problemas son diversos, fallos en la visualización de la pantalla, en la interacción con la misma, etc… Este es uno de los grandes problemas que se seguirá acentuando por que no hay un organismo o fundación que unifique los motores que implementan los distintos navegadores. Al revés, cada vez se generan más discrepancias y en vez de acuerdos, conseguimos más “clones” que difieren en diferentes aspectos.
  • Rendimiento y Lentitud: Aunque el aumento de la velocidad de Javascript ha sido impresionante, sigue siendo más lento y rinde peor que una solución nativa del dispositivo o una solución Flash. Esto es normal por la naturaleza del la tecnología cuya razón de ser es mostrar texto e imágenes y no crear aplicaciones que procesen gráficos o complejos algoritmos.
  • Desarrollo inconsistente: La naturaleza de Javascript como lenguaje “no tipado” hace que desarrollar en esta tecnología no sea productivo y sus costes se disparen (algo que muchas empresas están ahora notando en su propio bolsillo y es uno de los grandes motivos para que la burbuja se esté desinflando). El tipado en los lenguajes es la forma de identificar que los datos son de un cierto tipo o clase. Gracias a esto podemos depurar código en tiempo de ejecución y mejorar el software. Javascript no tiene nada de esto, y es uno de los grandes problemas por los que es imposible plantear grandes proyectos que puedan crecer en funcionalidad y lineas de código, como pasaría en otros lenguajes como Java o ActionScript. Como en todo se han creado ciertas formas de emular esto, pero nuevamente sin un cambio de la tecnología, no dejan de ser intentos de evitar un problema monumental que no tiene solución hoy por hoy.
  • Video: HTML5 sigue en 2014 sin ofrecer una experiencia de video en streaming consistente, así como los problemas para ofrecer acceso al micrófono, cámara o tener DRM.

Estos son los 4 problemas más importantes, pero la realidad del desarrollo para HTML5 es más compleja que todo esto.

En resumen. HTML5 es una tecnología correcta y la mejor para el desarrollo de web sites donde el texto y las imágenes son la principal razón de ser. En cambio es un camino erróneo para el desarrollo de aplicaciones por que no fue una tecnología creada con ese objetivo y nunca ha evolucionado para que sea así. Tampoco hemos visto pasos decisivos en estos 4 años para que podamos augurar que esta tendencia cambiara en los próximos meses o años.

Steve Jobs, o Erika Trautman, aunque grandes profesionales en su ámbito, no son expertos ni prescriptores en la tecnología, y por tanto no deberían ser ellos quienes guiasen con sus comentarios mediaticos hacia donde debe ir este mundo en concreto.[/quote]

Por cierto, que hay grandes novedades en Adobe AIR y Adobe Flash Player para este año 2014, lo que merece una entrada a parte. Parece que Adobe empieza a despertar de su letargo y ha entender que tiene una tecnología que sigue siendo hoy en día imbatible.

8 Comentarios

  1. Hola Fernando, me gustaría encontrar algo mejor que Flash y si estoy equivocado, por favor añade más información para conocerla. ¿Estoy equivocado en todo? ¿no hay fragmentación en los navegadores? ¿ahora javascript es tipado?, si es así ¿puedes dar datos de referencia?, ¿ha mejorado la experiencia de video html?

    Como digo Fernando, no quiero crear una flame war con este tema…pero si que me gustaría que los comentarios más allá del “Esto no es así”, diesen alguna información comprobable de que son erróneos.

    Por mi parte, ojalá me equivocase y HTML llegue algún día ha ofrecer lo que hoy día ofrece ya Flash desde hace años.

    Gracias.

  2. Creo que estas muy equivocado respecto a esto, flash player morira , Firefox Os esta poniendo mucho de suparte para demostrar que lo que tu dices es algo erroneo, igual puedes pasarte por el marketplace o descargarte el simulador, igual son perspectivas diferentes pero flash player debe morir.

  3. Tienes razón, solo lo dije por decir, en cuanto a la desfragmentación concuerdo contigo es un gran problema, y no existe nada que las regularice, cada vendor puede implementar como guste la especificación de HTML5, actualmente estoy trabajando en generación de libros electrónicos, el cual pensé que con solo seguir la especificación de epub3 funcionaria pero o error, cada lector poner sus propias restricciones o bien no implementan tal cual la especificación

    En cuanto a rendimiento y desarrollo, para el motor de JS es muy potente sobre todo en el manejo de evento, y requiere una buena curva de aprendizaje ya que es un paradigma muy distinto, yo vengo de trabajar java, cobol plsql y algol; actualmente trabajo en nodejs y muy poco en clientside y tengo que decirlo que al principio me costo mucho manejarlo. En cuanto a operaciones complejas de computo prefiero dejarlas en el lado del servidor o hacer uso de alguna librería del sistema si es posible acceder a ella (por ejemplo en dispositivos móviles)

  4. Gracias Fernando,

    el problema de la fragmentación es que su tendencia no parece que vaya a cambiar. Las tecnologías de cliente son muy distintas a las de servidor, en el sentido en que cada empresa o particular puede elegir basar su backend en la tecnología de su preferencia (Java, PHP, .NET, etc…), pero en cliente, necesitamos un “motor” de ejecución y visualización que asegure la consistencia de la experiencia entre plataformas. Este era el camino de Adobe con el Open Screen Project, la Plataforma Flash y Adobe AIR.

    Ahora que eso ya es historia, solo veo una forma de que esto ocurra. Una fundación o similar que reúna a los grandes players (Google, Apple, Adobe, Oracle, IBM,…) y que garantice esa unificación.

    Esto como puede comprender es totalmente utópico y no creo que ocurra, al menos no hay ningún signo que así lo indique. Para ellos significa ceder un trozo del pastel que a nadie le interesa ceder ya que el problema no es suyo, es de los que estamos desarrollando contenido y nos han transferido el trabajo (enorme) de tener que asegurar la consistencia entre dispositivos, navegadores, tvs, etc…

  5. Flash se creo para hacer aquellas cosas que en HTML era imposible, hoy es una plataforma la cual cuenta con un lenguaje orientado a objetos muy potente y es capas de exportar a múltiples dispositivos, sin duda flash esta mejor que nunca, por su parte flex sigue avanzado en apache y si flexjs va a ser lo que promete se convertirá en unos de los frameworks mas potentes.

    HTML es y siempre fue la manera de crear contenido en la web, en esto no hay dudas. las dos tecnologías avanzaran, HTML adquiriendo mas capacidades y flash haciendo aquello que en HTML esta muy verde.

    si son buenos analistas usaran la plataforma mas correcta para su proyecto. no se olviden que elijan lo que elijan todo software se hace viejo y obsoleto por lo tanto hay que elegir la mejor herramienta en el momento dado

  6. Muy de acuerdo Rodrigo, gracias por comentar.

    efectivamente, HTML es tan valido como Flash, y nunca entenderé a los que se empeñan en tirar una tecnología en favor de otra. Tenemos que usar cada una en el escenario que cuadre. Por ejemplo, aunque yo sea un defensor de la Plataforma Flash para hacer aplicaciones, también tengo mi oficio en el desarrollo de web sites con HTML y suelo usar WordPress en estos casos, que es una plataforma robusta y con mucho soporte para este cometido.

  7. For those who think HTML5/javascript is going to kill flash I ask: “Please, send me a link with something that we can look and say UOU”.
    Because so far, lots of bla bla bla, with html5 doing things that flash already did a long time ago on version 1 or 2.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *