Conecta con nosotros

A Fondo

Las aplicaciones web son la alternativa a las app nativas

Publicado el

webapps

De «app-ocalipisis» califica el futuro de las app móviles Larry Seltzer, consultor y periodista tecnológico autor de este análisis que publica Ars Technica. El motivo es la tendencia hacia que las webs ocupen el espacio que ahora tienen las apps específicas para cada plataforma móvil.

El autor asegura que, a pesar de que la gran ventaja de los ecosistemas de Apple y Google con iOS y Android está en la disponibilidad de aplicaciones que es difícil encontrar en otras plataformas móviles como Windows o Blackberry, la tendencia es a que las apps se ejecuten en el navegador web. Esto da solución a algunos problemas propios de las apps nativas, tales como la necesidad de desarrollar para varias plataformas, el peligro de que los usuarios no actualicen versiones con agujeros de seguridad o incluso el uso excesivo de espacio en dispositivos que no suelen ir sobrados de él.

En una webapp hay una sola base de código para todos los dispositivos. Bien es cierto que en ocasiones es necesario hacer pequeños tweaks o ajustes para que algunas funciones estén disponibles en todas las plataformas y navegadores, pero el trabajo se reduce enormemente para el desarrollador. Además, en muchas ocasiones las apps nativas se complementan con una web, por lo que gran parte del trabajo a realizar es para un desarrollo que se haría igualmente.

En cuanto a las actualizaciones, es una de las grandes ventajas de las aplicaciones web: el usuario siempre dispone de la última versión, de modo que el desarrollador no necesita tener cuidado con la retrocompatibilidad, ni hacer grandes esfuerzos para que su base de usuarios abandone una versión vulnerable.

En cuanto al espacio, sin duda es una ventaja que las aplicaciones estén en el lado del servidor y el usuario sólo almacene sus propios datos. Y sólo si así lo desea, porque en muchos casos es preferible utilizar la nube para guardar la información. Actualmente muchas apps se instalan en el dispositivo móvil, pero los datos están online.

El estudio apunta algunas de las principales barreras a la hora de convertir una web en una webapp capaz de sustituir a las apps nativas. La principal de ellas es son los Service Workers, que son funciones Javascript que permiten al navegador llevar a cabo tareas en segundo plano y reaccionar a eventos. No hay una especificación cerrada por parte del W3C y ningún navegador los implementa al completo. Es más, aunque la mayoría de fabricantes ofrece ya algunas de sus funciones, Apple todavía no lo incluye en Safari y no parece tener planes de hacerlo… en resumidas cuentas, iOS es siempre la primera opción para los desarrolladores de apps nativas.

Entre las funciones de los Service Workers hay una fundamental: aunque estamos conectados a Internet la mayor parte del tiempo, ¿qué sucede cuando esa conexión no está disponible? Imaginemos que utilizamos una app relativamente sencilla como Twitter. Hemos descubierto un sitio increíble donde tomar un café moca o un gin tonic y queremos compartirlo con el mundo, pero al hacerlo descubrimos que al fondo del local no hay cobertura móvil. La app nativa permitirá escribir el tweet, adjuntar una foto tomada sobre la marcha y tratará de enviar el tweet cuando vuelva a disponer de conexión. Una web que no disponga de la posibilidad de trabajar offline mínimamente se limitará a dar errores de conexión. Es necesario, por tanto, que se desarrollen estas funciones para que las aplicaciones web sustituyan a las webs nativas. Y que los locales con mala cobertura ofrezcan wifi gratis.

Otro de los límites actuales de las webs es la interacción con el hardware del dispositivo móvil. Aunque pueden solicitar la ubicación a través del navegador, el manejo del interfaz táctil todavía es pobre. No soporta multitouch, lo que reduce mucho las posibilidades para las apps más complejas. Además, nuevamente Apple no implementa las funciones táctiles en su navegador Safari, por lo que un desarrollador que se plantee que su app sea una web tendría dificultades para no terminar desarrollando una app nativa para iOS (de cuyos ingresos Apple sí tendrá una participación).

Por último, una de las formas de interacción más habituales para notificaciones de todo tipo es la vibración. Ninguno de los navegadores para dispositivos móviles permite acceder a esta función, de modo que nuestra hipotética web de Twitter que reemplace a las apps nativas no podría vibrar para avisarnos de que alguien ha respondido preguntando la dirección del lugar donde hemos tomado el mejor café de la ciudad.

Otras limitaciones actuales es la posibilidad de crear un icono de acceso directo en la pantalla del móvil o del tablet. En Android, por ejemplo, los requisitos son que ofrezca la posibilidad de usar la web sin conexión por medio de un service worker, aunque sus funciones se limiten, que todas las conexiones se establezcan a través del protocolo seguro HTTPS y que disponga de un archivo Web App Manifest, que es un archivo en formato JSON especificando cómo se muestra la app al usuario y cómo iniciarla.

En este sentido, es Google la que ofrece más facilidades y más ha avanzado, posiblemente porque su estrategia, a diferencia de la de Apple, sí que va en ese sentido. La propuesta de Chrome OS, su sistema operativo basado en el navegador Chrome, utiliza aplicaciones web que necesitan soluciones para trabajar con ellas sin conexión, por lo que han buscado soluciones para conservar datos de las mismas de modo que, incluso sin conexión, se pueda acceder al correo y los documentos recientes, entre otras.

El resto de navegadores están en diferentes estados de adopción de tecnologías que faciliten el uso de webapps. Por supuesto, Mozilla está más que interesada en adoptar cualquier estándar que facilite el uso de la web como plataforma, que no deja de ser su estrategia. Y no conviene olvidar que dispone de su propio sistema para dispositivos móviles, Firefox OS. Microsoft, por su parte, quiere volver a situarse en el mercado de los navegadores web con Edge y también parece interesado.

Apple, por su parte, como ya hemos mencionado, no parece muy interesada en desarrollar su navegador para dar soporte a webapps. Esto implicaría a todos los navegadores que, al igual que Safari, están basados en el motor Webkit. Hasta 2013 esto afectaba a la mayoría del mercado, ya que Chrome y Opera también lo utilizaban. A partir de ese año, sin embargo, comenzaron a usar Blink, un proyecto independiente derivado de Webkit que muestra que los planes para la web de Apple y Google no van en la misma línea.

Lo más leído