HTML5, ¿Back to reality?

Se que soy un desastre con mi blog, y lo tengo realmente abandonado, no tengo perdón de dios ciertamente. En cualquier caso, y después de tener que escribir hoy un informe detallado para pelear un proyecto ciertamente complejo,  el cual el cliente quería en HTML5, aprovecho para plasmar aquí las conclusiones que saco de todo esto…

HTML5, Jobs y su iOS.

Me parece lo más sensato empezar por el origen del “fenómeno”. Fué Steve Jobs y su abierta campaña anti-Flash la que abrió la veda en toda esta vorágine. Steve, icono para muchos, emblema de la marca de la manzana, despotricó abiertamente acerca de Flash y su rendimiento, su seguridad, su estabilidad, en definitiva de todo lo que pudo y más. Automáticamente, nos dió el paradigma de la solución, HTML5.

Para empezar, todos sus iDispositivos son incapaces de reproducir flash. Los argumentos dados son la falta de potencia por parte de estos dispositivos para hacerlo, y el gran consumo de flash en cuanto a CPU con el consiguiente bajón en las baterías, argumentos que parecen no cumplirse en dispositivos Android, que misteriosamente si pueden hacerlo, bueno, incluso pueden prescindir de iTunes para hacer cualquier cosa, o conectarse simplemente por USB, pero esto probablemente ha de ser malo también…

Legiones de entusiastas de todo tipo se apuntaron a la cruzada, fanboys y detractores de Flash puros y duros, unieron sus fuerzas, y Flash era pateado en blogs, webs, y cualquier otro medio, con diferentes argumentos algunos de los cuales propuestos desde el simple desconocimiento.

Evolución del conflicto.

Después del hype inicial, aparecían ya demos del canvas, ejemplos y ejercicios de estilo sobre HTML5+Javascript, y aprovecho para hacer un apunte en el camino, y recordar que HTML5 es un leguaje de marcaje y que necesitas javascript para programar, detalle que parecen obviar muchos.

Y las cosas molaban sí, pero realmente, el rendimiento no era tan brutal como muchos esperaban. Pruebas de rendimiento similares, demostraban que HTML5 no solo no superaba a flash, sino que en ocasiones iba bastante peor en cuanto a consumo de CPU se refiere.

Primeros Proyectos

Al poco tiempo, y movidos por el efecto “cool” de los iPhone/iPads, llegaron las primeras peticiones de clientes, “lo quiero en HTML5″, y con ellas, comenzamos a ver las primeras “verdades” :

  • HTML5 NO es un standar. W3C, el organismo que rige los estándares alrededor de las tecnologías, augura que será en 2014 el lanzamiento de dicho standar como tal. Ver noticia aquí.
  • Javascript es un leguaje mucho mas básico y menos robusto que AS3, mucho mas complicado de debugear y mantener. Para entendernos, es como dar un salto atrás y volvernos a AS1 prácticamente.
  • Los navegadores, hacen sus propias interpretaciones de HTML5, lo cual provoca lo que siempre nos ha aterrorizado a todos, se ve bien en Firefox, esto no cuadra en Safari, esto no funciona en Explorer …
  • La seguridad en las aplicaciones desarrolladas con Javascript es mas débil, y hay que invertir bastante más tiempo en desarrollar métodos eficaces para evitar hacks en apps que asi lo requieran.
  • Los navegadores no-modernos ( llamémosles así… ) no son capaces de mostrar HTML5, IE6 e IE7 quedan descartados, y para IE8 tenemos muchísimas limitaciones y workarounds que hacer para poder lograr que las cosas medianamente “funcionen”. Tengamos en cuenta, que IE8 e inferiores tienen a día de hoy una penetración de más de un 30% de cuota.
  • Las herramientas de desarrollo actuales son bastante limitadas actualmente.
  • Mantener una app potente, con miles de lineas en Javascript es algo heróico comparado con mantenerla en AS3 y POO.

Independientemente de todos estos “peros” muchos proyectos se pusieron en marcha, y en el desarrollo de ellos es donde realmente se aprende.

Back to Reality !!

Yo personalmente he estado alejado de todo ello, y simplemente he observado los toros desde la barrera, leyendo algun que otro blog y manteniendome al día en la medida de lo posible, pero ha sido a raiz de este proyecto del que tenía que preparar un informe y un presupuesto, cuando me he informado más a fondo, y he recabado feedback de desarrolladores que ya han afrontado proyectos en HTML5.

Mi principal informador ha sido mi buen amigo Javi de DrusUnlimited, el cual ya ha peleado con varios proyectos reales y me ha dado información de primera mano, habiendo desarrollado durante bastante tiempo en AS3.

Antes que nada, le comenté de que se trataba el proyecto, e iniciamos la batería de preguntas:

Yo: Javi, hablemos de timings, ¿ Que tiempo calculas que se tardaria en desarrollar esto con HTML5+Javascript en comparacion con Flash ?

Javi: ¿ El cliente quiere que se vea en todos los navegadores ?

Yo: Sí claro.

Javi: Pues calcula que puede ser facilmente casi el triple, y ya te advierto que de IE6 e IE7 te olvides, y que con IE8 has de andar con workarounds. Debugear es bastante infernal.

Yo: Ostias el triple ?

Javi: Hombre, si fuera unicamente para mostrar en iOS, seria mucho mas sencillo, pero si tiene que ser visible en todos los navegadores, la cosa se complica.

Y básicamente, era todo lo que necesitaba saber, para preparar mi informe y presupuesto para el cliente.

Estamos hablando, que a efectos prácticos, para una webapp medianamente compleja, a dia de hoy, necesitas casi triplicar esfuerzos para realizar lo mismo que con flash y AS3.

Es muy cool HTML5, pero ¿ esta dispuesto un cliente a pagar el triple por ser mas cool ? ….. En el 95% de los casos, directamente NO. ¿ Desarrollar solo HTML5 para iPad/iPhone ? Tampoco, solo suponen un 3% de cuota total.

Y un detalle más, en el iPad vale, pero en el iPhone, no me veo usando con comodidad una webapp, es simplemente incomodo ver todo tan pequeño y andar con el zoom todo el dia.

Conclusiones

Vaya por delante, que no es mi intención ni mucho menos desprestigiar a HTML5, pero a día de hoy, creo que no están los navegadores lo suficiente maduros, ni el lenguaje estandarizado, y aunque tiene un potencial buenisimo, creo que el mercado se ha adelantado demasiado, apoyándose en una tecnología a la que aún le queda un camino por recorrer antes de ser lo que debe ser.

Me parece genial que se experimente, que se use para sites personales como prueba de concepto, pero llevarla a sites de producción me parece arriesgado cuando menos, principalemente por la cantidad de workarouds, por la evolucion propia de los browsers, te puedes topar que con el nuevo navegador tal, dejan de funcionarte cosas de proyectos que ya tenias terminados, con el consiguiente curro adicional y cabreo por parte del cliente.

Lo que me impresiona, es la capacidad de Jobs para crear el revuelo que ha creado, pero el tiempo pone a todo y a todos en su sitio.

HTML5 es el futuro, en eso estamos de acuerdo, pero no el presente, y sinceramente, ni creo que HTML5 vaya a comerse a Flash, ni viceversa, cada uno tomará su sitio en el mercado, porque cada uno es mejor para ciertas cosas, no hay panacea que valga.

Soluciones

Para el proyecto en cuestión que tengo, hemos propuesto al cliente lo siguiente :

  • webApp en flash
  • Aplicaciones especificas para iPad/iPhone, generadas desde flash para cada uno de los dispositivos, con ello tendríamos interfaces mucho mas usables y una experiencia mucho mejor para el usuario, esta app no es un juego ni necesita rendimiento puro para moverse.

Separando la logica de la app de las vistas, tendremos muchisimo hecho de cara a las mobileApp, de modo que por bastante menos presupuesto que la version HTML5+Java le ofrecemos al cliente mejores resultados para el usuario en cualquiera de las plataformas.

Información de utilidad :

Estadísticas globales de uso, navegadores y SO.




  • POSTS RELACIONADOS / IGUAL TE INTERESA ALGO ...
  • No related posts

COMENTARIOS / 6 comentarios

Encuentro muy coherente este post, después de la tormenta siempre viene la calma y finalmente como comentas volveremos a la realidad, cada tecnología en su uso, así como Flash fue mal usado para intros y banners molestos, seguramente también lo será html5, y el uso de cada tecnología recae directamente sobre los usuarios, conocí críticos de flash que no podían distinguirlo de otras tecnologías más que usando el click derecho, saludos

César Rodríguez, el 21.04.2011 19:40

Gracias César, me alegra que te haya molado. Estoy contigo, el tiempo pondrá a cada tecnología en su sitio y su uso. :)

Fede, el 21.04.2011 22:12

Si se que lo vas a publicar mido más mis palabras…
XD

Creo que tengo que puntualizar que mi experiencia en html5 es limitadísima y una persona con más background sería capaz de dar mejores tiempos, sin duda.

Felicidades por revivir el blog!

drus, el 30.05.2011 19:03

A demás por lo que he oido ahora con Flash Builder 4.5 puedes compilar para Apple iOS.

http://www.adobe.com/devnet/air/articles/packaging-air-apps-ios.html

pabloromerojaren, el 30.06.2011 9:50

Tio, te habla un digramador de argentina, concuerdo con lo dicho en el post en un 100%!!

La gente se olvida por completo de las cosas buenas, cuando alguien le dice q no son buenas.

back to reality gente!! javascript es un script horrible!! as3 es un lenguaje de programación con todas las letras.

Saludos

Guido, el 11.09.2011 16:57

Bien por el artículo pero creo que decir lo mal que es hoy HTML5 es hacerse a un lado y mirar detrás de las barandas al toro. Mejor aportar al desarrollo que lamentarse. Concuerdo que HTML5 es el futuro pero HAGAMOS EL FUTURO !! no lo esperemos.

Jorge, el 15.11.2011 3:23

DI ALGO !! / AÑADE TU COMENTARIO ...


Return to Top

LO ÚLTIMO

Categorías