¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Progressive Web Apps
Mejora de de las aplicaciones web para que parezcan aplicaciones nativas.
Características:
- Indistinguible de una aplicación nativa
- Funciona sin conexión a Internet.
- Utiliza características nativas del dispositivo.
- Se actualiza constantemente
- Atractiva para los usuarios
- Confiable
- Pesa poco
- Rápida en la carga
La gente pasa el 87 % de su tiempo en el móvil en aplicaciones nativas porque:
- Tienen notificaciones push (se comunican con el usuario, aunque la aplicación no esté abierta)
- Acceso a características del dispositivo: cámara, audio…
- Posibilidad de trabajar offline
Problemas de crear aplicaciones nativas:
- Aprendizaje de dos lenguajes diferentes (Android y iOS).
- Necesidad de instalación desde tienda de aplicaciones.
Arquitectura
Para convertir una aplicación web en una PWA se necesitan los siguientes elementos:
- Push server
- Manifest
- indexedDB
- Service Worker
Conceptos clave
Las aplicaciones PWA deben ser servidas utilizando un protocolo seguro (HTTPS) y contar con un certificado. La única excepción es http://localhost
Service worker
Corazón de una PWA. Archivo de JavaScript. Funciona como una especie de proxy que está entre la aplicación y el usuario. Cuando estamos en una PWA y realizamos una petición, esta es interceptada por el service worker quien dependiendo de las condiciones indicadas, obtiene los recursos desde local o los solicita desde Internet.
Manifest
Archivo JSON que indica la apariencia que tendrá la aplicación cuando esté en el Home Screen del teléfono.
indexedDB
Permite grabar información en base de datos aunque el usuario no tenga conexión en ese momento.
Push Server
Permite enviar notificaciones push a la PWA.
