Herramientas de usuario

Herramientas del sitio


informatica:programacion:pwa

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 (sw.js o service-worker.js). Funciona como una especie de proxy. 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 (caché) o los solicita a Internet.

navigator.serviceWorker.register("/sw.js")

El service worker corre en un hilo separado de la aplicación web, de forma que aunque cerremos la aplicación web, el service worker seguirá funcionando.

Ciclo de vida:

  • Instalando: se descarga el fichero JavaScript y se “parsea”
  • Instalado:
  • Activación: código que se puede ejecutar antes de que se active el Service Worker
  • Activado: el service worker toma control de la aplicación.
  • Ocioso: el service work falla en la instalación o es sustituido por versiones nuevas. Ya no tiene control de la aplicación

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.

informatica/programacion/pwa.txt · Última modificación: por tempwin