PWA: Manifest und installierbare Web-Apps – Grundlagen
Kurz: Eine Progressive Web App ist eine Webseite, die sich wie eine App installieren lässt: mit Manifest, Service Worker und HTTPS bekommt sie Icon, Vollbild, Offline-Fähigkeit und Hintergrunddienste.
Genauer: PWAs verbinden Web und App: ein Code, kein App-Store nötig, Updates sofort. Sie sind installierbar (Startbildschirm/Desktop), arbeiten teils offline und können Benachrichtigungen senden.
Im Detail
Die drei Zutaten
- HTTPS (außer localhost).
- Web-App-Manifest (
manifest.webmanifest): Name, Icons, Farben, Startadresse, Anzeigemodus:
{
"name": "Emzett", "short_name": "Emzett",
"start_url": "/", "display": "standalone",
"background_color": "#0b0b10", "theme_color": "#0b0b10",
"icons": [{"src":"/icon-192.png","sizes":"192x192","type":"image/png"},
{"src":"/icon-512.png","sizes":"512x512","type":"image/png","purpose":"maskable"}]
}Im HTML: <link rel="manifest" href="/manifest.webmanifest">.
3. Service Worker: Skript im Hintergrund, das Anfragen abfängt, cachen und Offline-Seiten liefern kann.
Service Worker und Caching
Typische Strategien: Cache First (statische Dateien), Network First (aktuelle Daten, Fallback Cache), Stale-While-Revalidate (sofort alt, im Hintergrund neu). Wichtig: Versionierung der Caches, alte Caches löschen, Update-Hinweis („Neue Version verfügbar“), keine sensiblen Daten cachen, POST-Anfragen nicht blind wiederholen. Werkzeuge: Workbox, Frameworks-Plugins. Debuggen in den Browser-Entwicklerwerkzeugen unter Anwendung.
Fähigkeiten und Grenzen
Möglich: Installation, Offline-Nutzung, Push-Benachrichtigungen (auf iOS ab installierter PWA), Hintergrund-Sync, Kamera, Standort, Dateisystem-Zugriff, Teilen. Grenzen: Auf iOS Einschränkungen (Speicherlimit, weniger APIs), kein vollständiger Zugriff auf Gerätefunktionen wie native Apps, Auffindbarkeit ohne Store. Datenschutz: Push und Hintergrund-Sync brauchen Einwilligung.
Prüfen und Praxis
Mit Lighthouse (PWA-Kriterien), chrome://inspect, „Zum Startbildschirm hinzufügen“ testen. Offline-Fallback-Seite anbieten, maskierbare Icons, theme_color, Screenshots im Manifest für Installationsdialog. Prüfe Updates: Service-Worker-Updates greifen erst nach Schließen aller Tabs, sofern nicht skipWaiting gesetzt wird. Lies auch Offline-first und Background-Sync.
Siehe auch: Offline-first und Background-Sync, Service Worker, Web-Speicher, Lighthouse