Mark Zuckerberg abrió recientemente sobre HTML5 y las dificultades que Facebook se ha enfrentado al desarrollo de aplicaciones móviles . En una cita que se escuchó en todo el mundo, Zuckerberg calificó a HTML5 como "uno de los errores estratégicos más grandes que cometimos". Esas son palabras muy fuertes del CEO de la compañía más influyente en el mercado móvil actual.

Facebook está experimentando un rendimiento más lento con HTML5 en comparación con las aplicaciones nativas en dispositivos móviles y la diversidad de navegadores móviles, lo que genera confusión entre los desarrolladores de alojamiento web sobre qué partes de la programación pueden usar; de ahí el atractivo de las aplicaciones nativas.

Una aplicación nativa no necesita una conexión a Internet para funcionar; es mucho más rápido que cargar una aplicación web HTML5; y, debido a que las aplicaciones nativas se ejecutan directamente desde el teléfono, tienen un acceso más fácil al micrófono y la cámara, lo que las hace más capaces que las aplicaciones web basadas en HTML5.

¡Larga vida a HTML5!

Antes de tomar Mark Zuckerberg critica el HTML5 como evidencia de que las aplicaciones web están muertas, recuerde que hay muchas razones por las cuales los desarrolladores todavía les gustan las aplicaciones web en algunas circunstancias.

HTML5 es un ejemplo de la mentalidad de "escribir una vez, correr en todas partes". Debido a que la mayoría de los navegadores funcionan de la misma manera, una aplicación puede ejecutarse en casi todos los navegadores, a diferencia de las aplicaciones nativas, que son específicas del sistema operativo. Obviamente, esto optimiza el desarrollo, pero para el usuario significa continuidad, independientemente del sistema operativo. ¿Cambiando de iPhone a Android? En lugar de tener que acostumbrarse a la diferente interfaz del nuevo sistema operativo, HTML5 garantiza que la aplicación se verá, se ejecutará y se sentirá igual, pase lo que pase.

HTML5 también permite la actualización constante, sin la necesidad de una tienda de aplicaciones. Cada vez que un usuario inicia sesión en la aplicación web, obtiene la versión más reciente del programa.

Con un sitio web como Facebook, que se actualiza y cambia constantemente, una base HTML5 parecía una obviedad. En lugar de tener que esperar la aprobación de la Play Store de Google o la tienda de Apple, la aplicación web simplemente se actualiza. Nuevamente, esto atrae tanto a usuarios como a desarrolladores. Para los desarrolladores, elimina la necesidad de tener que reescribir y volver a enviar la aplicación cada vez que necesite actualizarse; para los usuarios, les libera de tener que alcanzar el botón "Actualizar" cada pocas semanas o meses.

El problema principal de Facebook no son las pequeñas diferencias entre la codificación HTML5 y las aplicaciones nativas, sino más bien cómo condensar el contenido generado en los navegadores de escritorio para navegadores móviles.

De acuerdo a CNET Facebook tiene 955 millones de usuarios mensuales, de los cuales 543 millones son usuarios móviles, lo que representa un aumento del 67% año tras año. Este es un gran cambio en los conceptos básicos de cómo funciona Facebook.

¿Aplicación nativa o web?

Las aplicaciones nativas no son la cura para todos los usuarios de dispositivos móviles. Twitter ha tenido mucho éxito en el uso de HTML5, CSS3 y JavaScript para hacer que las aplicaciones híbridas funcionen rápidamente y se sientan tan fluidas como una aplicación nativa.

Aunque son diferentes tipos de sitios web, Twitter y Facebook tienen algunos de los mismos requisitos: Facebook necesita actualizarse constantemente con el contenido más reciente, al igual que Twitter (aunque quizás en menor medida). El objetivo de ambas redes es mantener a los usuarios constantemente actualizados sobre sus amigos y seguidores, una necesidad que la programación HTML5 se presta a sí misma. Pero ambos sitios web también necesitan una interfaz fluida y un tiempo de carga rápido, que exija algo así como una aplicación nativa. Sin embargo, el uso de múltiples lenguajes de codificación de Twitter podría ser la dirección en la que Facebook necesita ingresar. El código diferente, al menos para Twitter, se ha convertido en una aplicación mejor y más sencilla que la que pueden ofrecer una aplicación nativa o una solo HTML5.

Las aplicaciones nativas definitivamente fueron lo primero. Recuerde que los programas preinstalados (es decir, las aplicaciones), como las libretas de direcciones, los calendarios y las calculadoras, aparecieron en los dispositivos móviles mucho antes de la disponibilidad de la conectividad web. Una de las instancias más memorables fue la implementación de Nokia del clásico juego de arcade Serpiente en 1998, que se convirtió en un éxito masivo en todo el mundo.

Hasta que HTML5 alcance las aplicaciones nativas para permitir a los usuarios jugar juegos y cargar redes sociales rápidamente, estos últimos dominarán esos segmentos. Sin embargo, HTML5 se adelanta a las aplicaciones meteorológicas y de compras, que se basan más en el análisis de los usuarios, que las aplicaciones basadas en la web pueden acceder y proporcionar más rápido.

La característica que persigue Facebook, la que todos los desarrolladores de aplicaciones eventualmente tendrán que aprender, es la adaptabilidad.

Aprender cómo funciona su plataforma y qué funciones son las más importantes para los usuarios es la clave para guiar el desarrollo.

Ya sea HTML5, aplicaciones nativas únicas para sus respectivos sistemas operativos, JavaScript o alguna combinación de las mismas, la lección más importante para las empresas que se están trasladando al mundo basado en dispositivos móviles, como Facebook, es bloquear los puntos clave de su software y utilice la programación que está disponible para hacer que esos puntos clave sean accesibles y fáciles de usar como sea posible.

¿Construyes aplicaciones móviles en HTML5 o en código nativo? ¿Crees que HTML5 dominará o siempre habrá soporte para aplicaciones nativas? Háganos saber en los comentarios.

Imagen / miniatura destacada, Imagen HTML5 a través de Shutterstock.