Progressive Web App

Eine Webanwendung, die durch moderne Browser-APIs native App-Funktionen bietet – Offline-Nutzung, Installation auf dem Homescreen, Push-Benachrichtigungen – ohne App Store.

Fortgeschritten2 Min Lesezeit

Erklärung starten

Auf einen Blick

3 Punkte

  1. Installierbar: Nutzer können die App auf dem Homescreen speichern
  2. Offline-fähig: Service Worker cachen Inhalte für die Offline-Nutzung
  3. Kein App Store nötig: Direkt über den Browser installierbar

Sofortantwort

Progressive Web App einfach erklärt

Web-App mit nativen App-Funktionen: offline, installierbar, Push-Benachrichtigungen.

Kurz gesagt
Installierbar: Nutzer können die App auf dem Homescreen speichern
Typischer Einsatz
KI-Tools ohne App Store, Offline-First-Anwendungen, Push-Benachrichtigungen
Wichtig zu wissen
Kein App Store nötig: Direkt über den Browser installierbar

Progressive Web App im Überblick

Native Apps (iOS/Android) haben Vorteile: Sie funktionieren offline, können auf dem Homescreen installiert werden und senden Push-Benachrichtigungen. Aber sie brauchen einen App Store, Review-Prozesse und separate Codebases für iOS und Android.

PWAs bringen diese Funktionen ins Web: Eine einzige Codebase, kein App Store, sofortige Updates. Der Nutzer besucht die Website, bekommt einen „Installieren”-Dialog und hat danach eine App-ähnliche Erfahrung – vollbild, ohne Browser-Chrome, mit eigenem App-Icon.

PWA vs. Native App:

AspektNative AppPWA
InstallationApp StoreBrowser-Dialog
UpdatesApp Store ReviewSofort
Offline✅ (mit Service Worker)
Push-Benachrichtigungen✅ (eingeschränkt auf iOS)
Hardware-ZugriffVollständigEingeschränkt
CodebaseiOS + AndroidEine für alle
AuffindbarkeitApp StoreGoogle-Suche

iOS vs. Android – wichtige Unterschiede

PWA-Support ist auf Android deutlich besser als auf iOS:

FeatureAndroid (Chrome)iOS (Safari)
Installation✅ Vollständig✅ Seit iOS 16.4
Push-Benachrichtigungen✅ Seit iOS 16.4
Background Sync
Bluetooth/NFC
Persistent StorageBegrenzt

Technisch betrachtet

Web App Manifest

{
  "name": "KI-Assistent",
  "short_name": "Grundlagen",
  "start_url": "/",
  "display": "standalone",
  "background_color": "#0f172a",
  "theme_color": "#6366f1",
  "icons": [
    { "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" },
    { "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" },
    { "src": "/icon-512-maskable.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" }
  ],
  "screenshots": [
    { "src": "/screenshot-mobile.png", "sizes": "390x844", "type": "image/png", "form_factor": "narrow" }
  ]
}

Service Worker – Caching-Strategien

Workbox bietet verschiedene Strategien je nach Ressourcentyp:

import { registerRoute } from 'workbox-routing';
import { CacheFirst, NetworkFirst, StaleWhileRevalidate } from 'workbox-strategies';

// Statische Assets: Cache First (lange Gültigkeit)
registerRoute(
  ({ request }) => request.destination === 'image',
  new CacheFirst({ cacheName: 'images', plugins: [
    new ExpirationPlugin({ maxAgeSeconds: 30 * 24 * 60 * 60 }) // 30 Tage
  ]})
);

// API-Calls: Network First (immer aktuell, Fallback auf Cache)
registerRoute(
  ({ url }) => url.pathname.startsWith('/api/'),
  new NetworkFirst({ cacheName: 'api-cache' })
);

// HTML-Seiten: Stale While Revalidate (schnell + aktuell)
registerRoute(
  ({ request }) => request.mode === 'navigate',
  new StaleWhileRevalidate({ cacheName: 'pages' })
);

Push-Benachrichtigungen implementieren

// 1. Berechtigung anfragen
const permission = await Notification.requestPermission();

// 2. Service Worker registrieren und Push-Subscription erstellen
const registration = await navigator.serviceWorker.ready;
const subscription = await registration.pushManager.subscribe({
  userVisibleOnly: true,
  applicationServerKey: urlBase64ToUint8Array(PUBLIC_VAPID_KEY),
});

// 3. Subscription an Server senden
await fetch('/api/push/subscribe', {
  method: 'POST',
  body: JSON.stringify(subscription),
  headers: { 'Content-Type': 'application/json' },
});

// 4. Im Service Worker: Push empfangen
self.addEventListener('push', (event) => {
  const data = event.data.json();
  event.waitUntil(
    self.registration.showNotification(data.title, {
      body: data.body,
      icon: '/icon-192.png',
    })
  );
});

PWA-Checkliste (Lighthouse-Kriterien)

  • ✅ HTTPS (Pflicht für Service Worker)
  • ✅ Web App Manifest mit allen Pflichtfeldern
  • ✅ Service Worker registriert
  • ✅ Icons in 192px und 512px
  • start_url im Manifest
  • display: standalone oder fullscreen
  • ✅ Offline-Fallback-Seite
  • theme_color gesetzt

01Einsatzbereiche

Wann ist Progressive Web App sinnvoll?

Geeignet für

  • KI-Tools ohne App StoreKI-Assistenten als PWA installierbar – kein App-Store-Review, sofortige Updates
  • Offline-First-AnwendungenNotiz-Apps, Dokumenteneditor – funktionieren auch ohne Internet
  • Push-BenachrichtigungenNutzer über neue KI-Antworten oder Ergebnisse benachrichtigen, auch wenn die App nicht offen ist

↑ Inhalt

02Werkzeuge

Womit Progressive Web App umgesetzt wird

↑ Inhalt

Merksatz

Eine PWA ist wie ein Schweizer Taschenmesser

Es sieht aus wie ein Messer, aber es hat auch Schere, Säge und Dosenöffner eingebaut. Eine normale Website ist nur das Messer – eine PWA hat alle Werkzeuge, die eine native App bietet, steckt aber im Web-Format.

  1. Installierbar: Nutzer können die App auf dem Homescreen speichern
  2. Offline-fähig: Service Worker cachen Inhalte für die Offline-Nutzung
  3. Kein App Store nötig: Direkt über den Browser installierbar

04Redaktion

Herkunft und Stand

Redaktion und Aktualität

Ebenex RedaktionRedaktion

Veröffentlicht
Aktualisiert

Dieses Feld entwickelt sich schnell. Oben stehen Veröffentlichung und letzte Änderung; ein Prüfdatum kommt dazu, sobald die Erklärung nach ihrer letzten Änderung geprüft wurde.

↑ Inhalt

05FAQ

Häufige Fragen zu Progressive Web App

Was ist ein Service Worker?

Ein Service Worker ist ein JavaScript-Skript, das im Hintergrund läuft – unabhängig von der Webseite. Er kann Netzwerkanfragen abfangen und aus dem Cache beantworten, Push-Benachrichtigungen empfangen und Hintergrund-Synchronisation durchführen. Er ist das Herzstück jeder PWA.

Sind PWAs wirklich so gut wie native Apps?

Für viele Use Cases ja – besonders für Content-Apps, Tools und einfache Interaktionen. Grenzen gibt es bei Hardware-Zugriff (Bluetooth, NFC auf iOS eingeschränkt), App-Store-Präsenz und bestimmten iOS-Einschränkungen. Android unterstützt PWAs deutlich besser als iOS.

Was ist das Web App Manifest?

Eine JSON-Datei, die beschreibt, wie die PWA installiert werden soll: Name, Icons, Startseite, Anzeigemodus (Fullscreen, Standalone), Theme-Farbe. Der Browser liest dieses Manifest und zeigt den 'Zum Homescreen hinzufügen'-Dialog.

↑ Inhalt

06Weiterlernen

Was möchtest du als Nächstes verstehen?

  • Grundlage nachholen

    SEO

    Alle Maßnahmen für bessere Sichtbarkeit in Suchmaschinen – Technik, Inhalte und Links.

  • Technisch vertiefen

    WebAssembly

    Binäres Format für hochperformanten Code im Browser – nahezu native Geschwindigkeit.

↑ Inhalt