Progressive Web App (PWA)

Web Apps wie native Apps/Programme verwenden

Beispiele

Funktionen:

  • Offline Verwendung (Caching + localStorage)
  • Mobile: Alternative zur mobilen App
  • Installierbar auf Desktop/Homescreen aus Browser heraus (nicht über App Store)
  • Push Notifications möglich

Muss bestimmte Kriterien erfüllen:

  • nach dem Grundsatz der Progressive Verbesserung erstellt
    • Webseite/Web-App soll für alle Geräte, Browser und Bandbreiten funktionieren
    • darüber hinaus zusätzliche Funktionen anbieten, wo die Voraussetzungen dafür gegeben sind
  • Responsive Design
    • um auf Desktop wie auf Mobile laufen zu können
  • Service Worker
    • JavaScript Code, der unabhängig von der Webanwendung läuft (zwischen Webanwendung und Server)
      Proxy: Seite kommuniziert nicht direkt mit dem Server, sondern über einen "Vermittler", der vorgeschaltet ist.
    • kann Funktionen zur Verfügung stellen, z. B.
      • fetch Events der Anwendung abfangen und gecachte Daten zurück geben (für Offline Nutzung)
      • auf push Events des Servers reagieren (für Push Notifications)
    • über navigator.serviceWorker.register registrieren
    • erfordert Kommunikation per HTTPS
    • ggf. bereits in Framework integriert
  • Web App Manifest
    • Metadaten zur Web App angeben in JSON Format
    • z. B. Name der Anwendung, eigenes Icon, Splash Screen festlegen