Aplicaciones nativas vs. HTML5: tendencias de consumo vs. tendencias de desarrollo
Con la llegada del HTML5 (una nueva especificación para el lenguaje en el que está escrita la red) muchas cosas han cambiado en Internet y todos nos hemos visto beneficiados sin darnos cuenta (excepto probablemente Adobe) . Algo que se ha comentado bastante en los últimos meses es si alguna vez se podrán utilizar aplicaciones web basadas en HTML5 a través de distintos dispositivos como smartphones, tablets o computadoras, reemplazando así las aplicaciones nativas (todos esos exe’s, dmg’s, apk’s y deb’s que descargamos constantemente y se instalan en tu dispositivo). Es decir, usar el navegador de Internet (básicamente la propuesta detrás de Google Chrome OS) como una interfaz única para la red y todo lo que hacemos.
Si yo te platicara que eventualmente podríamos olvidarnos de las limitaciones que tienen las tiendas de aplicaciones como la Apple App Store o el Android Market y que no tendríamos que instalarlas para poder utilizarlas, sino simplemente tuviéramos que abrir un navegador y ¡BAM! Sería como si la aplicación estuviera más entremezclada con nuestro sistema operativo que una garrapata, posiblemente esto te llamaría la atención (a menos de que te disgusten las garrapatas) ya que significa que podrías utilizar cualquier aplicación desde tu dispositivo ya que TODAS las aplicaciones serían compatibles con TODOS los sistemas operativos a través de un navegador de Internet (excepto Microsoft Internet Explorer, porque de seguro no sería compatible).
La realidad es que, a pesar de que muchas aplicaciones web orientadas a móviles ofrecen experiencias casi religiosas (como por ejemplo las páginas móviles de Twitter o Google Reader), les falta todavía mucho para que logren reemplazar completamente la rapidez, confiabilidad y riqueza de recursos que ofrece una aplicación nativa. A pesar de que muchas aplicaciones para móviles no requieren de mayor interacción con el sistema y pareciera que podrían ser reemplazadas con una página de Internet, una aplicación web simplemente no te ofrecerá notificaciones del sistema (a menos que pienses en los avisos de Chrome), no contará con procesos que puedan correr de fondo (a menos que pienses en las extensiones de Chrome) y no te ofrecerá una interfaz personalizada dependiendo desde qué dispositivo la estés visitando (a menos que… uhmm no, Chrome no hace eso).
Además, la experiencia de una aplicación móvil no empieza y termina solamente en el momento en que la abres o la cierras. Ya hemos visto que no es suficiente nada más ofrecer una ventana al Internet sino que es necesario proveer al usuario de un ambiente controlado que pueda ejercer de motor de descubrimiento para saber cuáles son las mejores aplicaciones (“Featured Apps”), qué opinan los usuarios de ellas y también ofrecer una plataforma de compra confiable.
Esta situación, aunada a la ventaja inigualable que tiene una aplicación nativa en cuanto al aprovechamiento de hardware y gráficos, hacen que la adopción de aplicaciones nativas solamente vaya a la alza. De hecho, según Flurry, una compañía analista de tendencias en plataformas móviles, el 47% del tiempo promedio en que se tiene abierta una aplicación nativa es para jugar, dejando el 32% para redes sociales, mientras que las noticias, entretenimiento y otras actividades ocupan menos del 10% cada una.
No solamente eso, sino que la gran mayoría de los usuarios aparentemente prefiere tener una aplicación dedicada para una actividad en específico, en vez de tener abierto el explorador y tener que esperar a navegar y cargar el contenido, relegando así el explorador de Internet a búsquedas y lectura de sitios o blogs. Esta tendencia indica que es muy posible que se cumpla la predicción de que para el 2016 se habrán descargado más de 44,000 millones de aplicaciones móviles. John Lech, CEO de DoubleTwist, resume este estira-y-afloja de manera sencilla y cómica:
Ya saben, porque Linux es “lo que viene fuerte”
Por otra parte, cuando hablamos de aplicaciones nativas para TODAS LAS PLATAFORMAS (referirse a la fig. 1 de este artículo), inherentemente estamos hablando también de una fragmentación masiva. Simplemente con Android tenemos ya varias versiones de un mismo sistema operativo con elementos incompatibles entre sí y también distintos tamaños de pantallas, si a eso le añadimos las peculiaridades del resto de las plataformas se vuelve un número casi imposible de ambientes por soportar de parte de los desarrolladores. Afortunadamente, aparentemente se están haciendo algunas cosas al respecto: Apple sigue sin cambiar el tamaño del iPhone, Ice Cream Sandwich pretende combinar el mundo de las tabletas con los smartphones y cada vez surgen más y más frameworks que permiten desarrollar una vez y compilar para todas las plataformas con un click (que por cierto, adivinen ¿en qué se programa? sí, en HTML5). Asimismo, el mercado se ha ido encargando de eliminar a los ecosistemas no desarrollados (o se encargará), de manera que aunque el HTML5, 6 o el que sea no se convierta en la panacea universal, probablemente el número principal de sistemas por soportar nunca sea demasiado elevado.
Sin embargo, todo esto podría cambiar (sí, otra vez estoy les estoy volteando la jugada) nada más y nada menos que de la mano de Facebook, de quienes recientemente han surgido fuertes rumores sobre el altamente anticipado “Facebook Smartphone” a.k.a HTC Buffy (y no, no es nada más un dumbphone con un botón de Facebook pegado).
Con la reciente compra de Strobe, compañía que entre sus pininos incluye un framework para desarrollar en HTML5 y publicar a distintas plataformas, Facebook pretende adquirir talento y conocimiento sobre la mejor manera de crear aplicaciones móviles interoperables y compatibles en múltiples plataformas además de reforzar su no tan secreto Project Spartan, el cual en términos muy reducidos es un mercado de aplicaciones HTML5 integradas fuertemente a Facebook, con lo que pretenden pasarse por encima la seguridad, controles y restricciones de la Apple Appstore. De la misma manera, Microsoft apoya esta convergencia (ojo con esta palabra) del HTML+JavaScript (o sea, de las páginas de Interné, pues) en Windows 8 al permitir a los desarrolladores programar sus aplicaciones nativas en lenguaje web.
Independientemente de si las aplicaciones más nuevas se construyen en HTML5 o en código nativo, lo que es cierto es que los desarrolladores deben empezar a darle más sentido a sus aplicaciones y no simplemente desarrollar por desarrollar. Existen muchísimas aplicaciones basura (“crapware”) en los mercados de aplicaciones las cuales tienen poca o nula utilidad y estoy seguro de que muchos de nosotros (bueno, yo no, porque no le cabe nada a mi Huawei Ideos) tenemos pantallas y pantallas de aplicaciones que rara vez utilizamos o que hasta habíamos olvidado que existían. La clave está en ofrecer un servicio en vez de simplemente una aplicación: el programa debe ser la terminal o punto de acceso a algo mucho más útil y valioso.
En conclusion (por fin!): ¿qué es lo que nos depara el futuro? ¿aplicaciones nativas o aplicaciones web? Por un lado, la tendencia de consumo es clara, pero a la vez cada vez es más inminente el advenimiento de una convergencia universal. Al final, las masas (muy posiblemente influenciadas por la mercadotecnia) así como el desarrollo de la tecnología definirán el rumbo que tomarán los sistemas operativos y el concepto detrás de ese rectángulo brillante detrás del cual muchos de nosotros vivimos nuestros días.
Si te quedaste con ganas de más, te recomendamos este artículo de TechCrunch
Y dime que plataforma no usa JavaScritp, muchas cosas se facilitan usando JavaScript, o acaso con HTML5 ya no es necesario? Como se haria un callback? Ademas el mercado al menos en Mexico aun no esta maduro para trabajar con solo aplicaciones enganchadas al navegador, porque no siempre se puede contar con una conexion a internet
Sí, la disponibilidad de la conexión es otro punto que no comenté a detalle, si bien algunas aplicaciones hacen uso del localStorage y otros métodos para preservar el estado de la aplicación hasta que tengan acceso a Internet nuevamente.
HTML5 depende mucho de Javascript, este tiene nuevas capacidades y gracias a eso hay aplicaciones mas robustas, HTML5 tambien se entiende como un branding que engloba CSS3 y Javascript para no hablar de las 3 tecnologias por separado.
Las aplicaciones nativas en HTML5 tambien son una realidad, PhoneGap que es ahora de Adobe hace esto posible, Aplicaciones nativas sin conexión desarrolladas en HTML5 y exportadas a iOS, Android o Black Berry
pues si por eso se ve lejos html5
Veo que el cambio va a ser lento pero seguro, pero si en si Adobe le da “matarile” al Flash Mobile POR COMPLETO, nada ni nadie va a impedir que se acabe cualquier soporte a Flash.
Steve Jobs tenía razón
steve jobs ya daba por muerto flash para moviles desde antes y tenia razon se esta muriendo, ahora sin este hombre apple sera el de siempre? o caera cuando ellos sacaron a steve jobs en los 80 para los 90? y lo volvieron a recontratar.
El futuro de apple depende de los ultimos proyectos que dejo steve jobs y los que estaba en planos.