Página web
Concepto artístico de una aplicación web progresiva en un móvil

Progressive web apps (PWA), el presente y futuro de las aplicaciones móviles

Hoy en día la fórmula para obtener una aplicación rápida, flexible, multiplataforma y que no ocupe excesivo espacio en el dispositivo es convertirla en PWA mediante los frameworks de programación web más modernos.


| Actualizado:
206

Una de las tecnologías que más estamos escuchando últimamente y que se está empleando cada vez más en el mundo de las apps móviles e incluso en Windows 10 son las PWA.

A pesar de que no es una de las tecnologías más novedosas, cada vez se está poniendo más de moda al ser algo a medio camino entre una aplicación web y una aplicación nativa, ya que sus características son superiores a las aplicaciones nativas y nos permite tener una app con menor peso para la memoria del dispositivo, más rápida, más responsiva y además multiplataforma.

Para poneros en contexto y entender mejor el significado de aplicación web progresiva, realizaremos un breve análisis sobre el concepto de una aplicación web y el de una aplicación nativa.

Aplicación web

Es un software que se utiliza desde un servidor web mediante internet a través de un navegador como Google Chrome, Mozilla o Internet Explorer.

Es decir, es una aplicación interpretada por los navegadores web, que permite la independencia del sistema operativo y facilita el mantenimiento y distribución a miles de usuarios sin necesidad de instalar software.

Portada de la red social Facebook

Un ejemplo de aplicación web es la web de Facebook.

Aplicación nativa

Es una app desarrollada específicamente para cada plataforma, utilizando el lenguaje adecuado para cada dispositivo. Por ejemplo, para Android se desarrolla en Java y en IOS se desarrolla empleando Obective C o Swift.

Este tipo de software permite la máxima optimización de rendimiento y de interfaz para cada sistema operativo y el uso de todos los recursos del terminal, desde la cámara hasta la geolocalización. Además, se instala en el dispositivo por lo que se pueden hacer llegar notificaciones al usuario, correr en segundo plano y usarse sin internet.

Imagen del historial de chats de WhatsApp

Un ejemplo de aplicación nativa es Whatsapp.

Progressive web app

Para entender lo que es una progressive web app, simplemente debemos imaginarnos una app con las mejores características de las dos aplicaciones mencionadas anteriormente.

Su funcionamiento se debe a la tecnología Service Worker, gracias a la cual las apps funcionan sin tener que acceder a un navegador y seguir ejecutándose en segundo plano, también se apoya en la App Shell, con la que se consigue que el usuario visualice sin esperas el layout y la interfaz.

A continuación enumeraremos exactamente las características que adquiere esta tecnología tanto de las apps nativas como de las aplicaciones web:

  • Tiempos de carga muy reducidos.
  • Posibilidad de instalarla o utilizarla desde el navegador.
  • Actualización automática sin necesidad de descargarla.
  • Posibilidad de correr en segundo plano, enviar notificaciones y utilizar los recursos del terminal.
  • Uso sin conexión a internet.
  • Desarrollo con un entorno de programación web.
  • No ocupa espacio en la memoria.
  • Diseño responsive.
  • Multiplataforma.
  • Interfaz igual a la de una app nativa.

Como se puede observar, es increíble la cantidad de beneficios que aporta este tipo de tecnología, por lo que las empresas cada vez apuestan más por desarrollar aplicaciones web progresivas, además no necesitan realizar la aplicación para varios sistemas operativos diferentes como en el caso de las aplicaciones puramente nativas, por lo que los costes para la empresa son bastante menores.

Imagen del historial de chats de Telegram

Un ejemplo de PWA es Telegram.

Conclusión

Por lo tanto, si estáis barajando la opción de dedicaros al desarrollo de aplicaciones móviles, recomendamos encarecidamente hacer mucho hincapié en la programación web y los frameworks pertinentes.

Para acabar, nos gustaría daros algunas recomendaciones de tecnologías de desarrollo que se utilizan habitualmente para realizar las PWA y que os pueden servir como guía.

Lenguajes: Javascript/Typescript, html y css.

Frameworks: Ionic, Vue, Angular, Polymer y React.

Herramientas de conversión a PWA: Cordova, Capacitor, Electron y Adobe Phonegap.


Comparte este artículo:
Foto de perfil de Òscar Jiménez

Òscar Jiménez

Programador e inversor, apasionado por el hacking y la inteligencia artificial. Ex estudiante de producción de videojuegos en el TCM y estudiante de ingeniería informática en la UOC.