Hace unos días hablábamos con un cliente sobre el desarrollo de una APP móvil nativa para uno de sus proyectos “menos importantes”, y menos complejos a nivel de interacciones y requerimientos. La persona en cuestión quiere una APP nativa, pero dadas las características de su proyecto, le hicimos la reflexión de ‘¿por qué no desarrollar una aplicación web progresiva, o PWA, envés de una nativa?’ y es esta es la misma reflexión que quiero hacer contigo hoy.

¿Qué es una PWA?

Si bien te acuerdas, Sergio ya nos explicó hace unos meses qué es PWA y cual es su objetivo. Resumiendo, PWA es un término usado para nombrar una metodología, “principios y directrices” de desarrollo de software. Sería una evolución híbrida entre las páginas webs comunes y una aplicación nativa. La ventaja de las PWAs es que combinan los recursos ofrecidos por los navegadores modernos y las capacidades del uso en un dispositivo móvil.

¿Por qué utilizar y cuándo desarrollar una PWA?

Uno de los motivos principales para la existencia de las aplicaciones web progresivas es, naturalmente, ofrecer una mejor experiencia de usuario para las organizaciones que ya tienen aplicaciones nativas, o híbridas.  Este hecho está relacionado con el “engagement” de los usuarios”, ya que muchos usuarios ya no desean instalar una APP en sus dispositivos, teniendo que entrar en las “stores”.

En Estados Unidos, por ejemplo, más del 50% de los usuarios de Smartphones no han bajado ninguna app en un mes, durante el año de 2018. Las PWAs te pueden ayudar a llegar a estos usuarios. Si tienes un evento anual, ¿por qué no desarrollar una PWA, ya que su desarrollo es más rápido y económico? Si las características y funciones específicas de las apps nativas no son esenciales para tu aplicación, puede ser buena idea desarrollar una PWA.

Facilidad de desarrollo

Con las PWAs solo hay que mantener una plataforma que se parece a la APP, es responsive, es independiente de la conectividad y es instalable. Podrías contar con un solo equipo de desarrolladores web para desarrollar tu aplicación web de manera independiente de la plataforma. El desarrollo y el mantenimiento se hacen más fáciles y, además el contenido será consistente en todas las plataformas.

¿Cuáles son las características de una Progressive Web APP?

¿Qué principios hay detrás de las Aplicaciones Web progresivas?

Sergio también nos compartió sobre estos datos, pero una aplicación web progresiva debe contener los siguientes elementos:

  • Progresiva. Funcionan para cualquier usuario, independientemente del navegador existente hoy, o mañana.
  • Responsiva. Se adaptan a cualquier pantalla, navegador, o dispositivo.
  • No dependen de la conectividad. Usan los “service workers” para trabajar offline, o en redes de baja calidad.
  • Semejante a Aplicaciones. Se parecen a las aplicaciones  para los usuarios, y tienen interacciones y navegación del estilo de las aplicaciones.
  • Actual. El “service worker” permite tener los datos siempre actualizados.
  • Seguras. Porque se sirven vía HTTPS.
  • Descubrible. Gracias a los manifiestos W3C y los “service worker” se pueden identificar como “aplicaciones” y como se pueden compartir mediante una URL, son fáciles de localizar.
  • Re-conectable. Facilitan el engagement con características especiales, como las notificaciones push.
  • Instalable. Permite que los usuarios ‘guarden’ los aplicativos más útiles en sus pantallas iniciales sin tener que acceder a un marketplace. La instalación es sencilla y se limita a visitar el site y añadirlo en la pantalla de inicio de tu dispositivo.
  • Enlazable. Puedes compartir fácilmente utilizando una URL sin ninguna instalación compleja.

¿Es 2019 el año de las PWAs?

Desde mi punto de vista, un buen indicador es que Apple ya ha añadido el soporte a tecnologías relacionadas con las PWAs para iOS 11.3, o 12.

En estos momentos solamente el Edge y Windows te obligan a tener tus PWAs en un marketplace. Esto significa que ahora mismo ya puedes instalar aplicaciones en iOS sin la aceptación de AppStore.

Aunque sea posible que las PWAs sean idea de Apple ;), Chrome es el responsable por ayudar a evolucionar esta tecnología desde 2015. Con esta jugada estratégica de Apple, podrás ejecutar tu aplicación sin ser aprobada, pero no podrás acceder a características nativas de tu iPhone X, como, por ejemplo la Face ID. Puedes ejecutar la PWA en el Safari, como cualquier sitio web, o de modo independiente como si fuese una APP en el sistema.

Ejemplo de la Aplicación Web Progresiva de Trivago en iPhone X


Como puedes ver, las aplicaciones tienen capacidades de fullscreen en Tablets, o móvil, y aparecerán en el ‘dock’, o en el escritorio de tu dispositivo como cualquiera de tus APPs nativas.

¿Qué pueden hacer las PWAs en iOS?

En iOS tus PWAs pueden acceder a:

  • Camera
  • Output de Audio
  • Geolocalización
  • Sensores
  • Apple Pay
  • Síntesis de Voz
  • WebGL, WebAssembly, WebRTC, etc…

¿Qué limitaciones tiene una PWA en iOS?

  • Solamente puede almacenar hasta 50Mb de datos y ficheros en offline.
  • No permite acceder a características como Bluetooth, Beacons, Touch ID, Face ID, o información sobre el estado de la batería.
  • No permite ejecutar código en segundo plano
  • No permite acceder a información privada, como contactos, o aplicaciones sociales nativas.
  • No hay Notificaciones Push
  • No hay interacción con Siri
  • No hay ninguna indicación que el sitio web que estás visitando es un PWA. Pero cuando accedes a la URL des del Safari puedes clicar manualmente en “Add to Home Screen
  • No permite bloquear la orientación de tu PWA

¿Qué pueden hacerlas PWAs en Android?

  • Pueden almacenar más de 50Mb
  • Android no elimina los ficheros si el usuario no utiliza la APP
  • Permite el acceso a Bluetooth para dispositivos con Bluetooth de baja energía
  • Proporciona el acceso al cuadro de diálogo de contenido compartido nativo
  • Acceso al reconocimiento de voz
  • Sincronización de datos en segundo plano
  • Notificaciones Web Push
  • Banner Web App para invitar el usuario a instalar la APP

¿Hay alguna cosa más que deba saber?

Las PWAs no guardan los estados entre sesiones. Esto significa que puede ser mala solución si necesitas que tus usuarios validen un email, o hagan algún tipo de autenticación de dos factores.

También es cierto que en iOS todavía hay algunos bugs por solucionar, pero empresas como Facebook, Twitter, Forbes, o Trivago también han visto el potencial y están aprovechado el poder de las aplicaciones web progresivas. Alibaba, por ejemplo, ha visto incrementar su número de usuarios cerrando la brecha existente entre su aplicación nativa y sus usuarios web.

Conclusión

Creo que la tecnología que nutre las PWAs está en proceso de maduración. ¿Es la oportunidad de Microsoft, o Blackberry de volver a la competición por el mercado? En 2018, Microsoft y Google respaldaron bastante las PWAs y las ven como el futuro del desarrollo de las APPs. Además, como ya hemos leído en este artículo, Apple también aceptó las PWAs y parece haber interés en la comunidad por esta tecnología. Si Apple invierte, ¿qué harán las demás organizaciones? ¿Qué harás tú? ¿Estás preparado para desarrollar una vez y desplegar para todas?

Para tu decisión, debes considerar el rendimiento y las funcionalidades, el tiempo y los costes de desarrollo y, naturalmente la experiencia de usuario.

¿Crees que las aplicaciones web progresivas son el futuro?

Fotografía: Pexels

Fuentes: