Aplicación web progresiva
Un sitio web que se puede instalar y usar como una app, incluso sin conexión.
Una aplicación web progresiva (PWA, por progressive web app) es un sitio web armado para comportarse como una app instalada. Entrás desde el navegador web, tocás "Agregar a la pantalla de inicio" o "Instalar", y desde ahí se abre desde su propio ícono, en su propia ventana, sin la barra de direcciones. Por debajo sigue siendo HTML, CSS y JavaScript servidos desde una URL.
Hay dos piezas que lo hacen posible. El web app manifest es un archivo JSON chiquito con el nombre, el ícono y los colores de la app, que le dice al dispositivo cómo instalarla. El service worker es un script que el navegador corre en segundo plano, entre la página y la red: puede guardar copias de archivos y datos en una caché para que la app abra sin señal, y puede recibir notificaciones push. Las PWA tienen que servirse por HTTPS.
Lo atractivo es tener un solo código para todos los dispositivos, sin revisión de una tienda de apps y con actualizaciones que llegan la próxima vez que el usuario la abre. Twitter, Starbucks y Uber lanzaron PWA, muchas veces para llegar a gente con celulares baratos o datos que van y vienen. Los límites también existen: el iPhone soporta las PWA con menos funciones que Android, y algunos accesos al hardware siguen siendo más fáciles desde una app nativa.
Para quedarse
- Un sitio web que se instala en la pantalla de inicio y abre en su propia ventana.
- El manifest describe la app; el service worker maneja la caché offline y las notificaciones.
- Necesita HTTPS y se actualiza como un sitio, sin pasar por una tienda de apps.
- El soporte varía: iOS ofrece menos funciones de PWA que Android y los navegadores de escritorio.
Para seguir leyendo
- Aplicaciones web progresivas (MDN)
- Progressive Web Apps (web.dev, en inglés)
- Aplicación web progresiva en Wikipedia