Seleccionar página

Con todo el revuelo existente alrededor de HTML5 muchos clientes nos piden la implementación de aplicaciones usándolo para poder atacar a varias plataformas reduciendo el coste al máximo. ¿Nuestra respuesta? No.

Según nuestra opinión, a pesar de las aparentes ventajas que pueda proporcionar el realizar una aplicación con un solo código base para diferentes plataformas, los inconvenientes desaconsejan seguir ese camino.

¿Nos hemos vuelto locos? ¿Vamos en contra del resto del mundo que se dirige a toda máquina a una Internet perfecta implementada con toda la gloria de HTML5? Creemos que no. Y no somos los únicos. Facebook recientemente ha dado un paso atrás y ha publicado su aplicación para iOS rehaciéndola desde cero como aplicación nativa, abandonando así HTML5. ¿Y por qué? Tobie Langl, arquitecto UI de Facebook y miembro del core de Prototype, daba una serie de razones en la lista de correo de la W3C que coincide en gran parte con las razones que damos a nuestros clientes cuando nos preguntan por este tipo de implementaciones:

  • Falta de herramientas que faciliten el diagnóstico cuando la aplicación falla en el dispositivo móvil, lo que se traduce en mayor tiempo de desarrollo invertido para diagnosticar dichos fallos
  • Rendimiento horrible de pantallas con scroll: las plataformas móviles están optimizadas para cargar sólo el contenido que se ve en pantalla cuando nos desplazamos por listas con muchos elementos. Si utilizamos HTML5 hemos de cargar todo el contenido como ocurre con una página web, con la consiguiente bajada de rendimiento por el gran uso de memoria. La alternativa es implementar nosotros mismo algún tipo de lógica en Javascript que alivie el problema, con lo que de nuevo incrementamos el tiempo de desarrollo.
  • Dificultad o imposibilidad de acelerar determinados contenidos mediante la GPU (Unidad de proceso de gráficos) con la consiguiente pérdida de rendimiento y suavidad en la aplicación

Además de estos problemas (y algunos otros), no hay que olvidar otro punto muy importante: la experiencia de usuario. La creación de una aplicación única  en HTML5 implica dejar de lado los componentes nativos de cada una de las plataformas, así como la experiencia ligada a ellos. Es decir, el usuario se encontrará con un interfaz raro, que no casará con el resto de la plataforma.

Todo esto hace que el dinero y tiempo que nos podamos ahorrar al tener un solo código base lo gastemos en solucionar problemas de rendimiento, adaptar el interfaz a las diferentes plataformas, etc. Y lo peor de todo no es eso, es la posible pérdida de clientes o usuarios debido a una aplicación lenta o confusa que no sigue los convenios de la plataforma.

Dicho esto, ¿hay alguna ocasión en que no sea mala idea usar HTML5? No tenemos dudas de que HTML5 tiene un gran futuro, pero ahora mismo sólo lo recomendamos en el caso de presupuestos muy reducidos, para aplicaciones que no necesiten mostrar una gran cantidad de datos y en las que la experiencia de usuario no sea prioritaria. Aunque si éste es tu caso, quizás deberías replantearte tu estrategia móvil.