
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.

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.

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.

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.