Website in eine Progressive Web App umwandeln

Website in eine PWA umwandeln (mit getestetem Code) | We.Inc

Mach jede Website installierbar und offlinefähig: ein Manifest-Generator, ein getesteter Service Worker, ein Installieren-Button, die Grenzen auf dem iPhone und das Setup für Vite oder Next.js.

Website in eine Progressive Web App umwandeln

Um eine Website in eine Progressive Web App zu verwandeln, liefere sie über HTTPS aus, ergänze eine manifest.webmanifest mit Name, start_url, Anzeigemodus und Icons in 192 und 512 Pixeln, verlinke sie auf jeder Seite und registriere einen Service Worker, der Dateien für die Offline-Nutzung cacht. Chromium-Browser bieten dann die Installation an; Safari-Nutzer fügen sie über Teilen hinzu.

Die drei Bestandteile einer PWA

Füll das Formular aus, um ein Manifest und die Head-Tags zum Einfügen zu erhalten, und kopiere dann den Service Worker und das Installationsskript. Den Worker auf dieser Seite haben wir vor der Veröffentlichung in einem echten Browser mit getrennter Netzwerkverbindung laufen lassen.

Häufige Fragen

Braucht eine PWA einen Service Worker, um installierbar zu sein?

Im aktuellen Chrome nicht: Ein gültiges Manifest, HTTPS und etwas Nutzerinteraktion reichen für die Installationsoption. Einen Worker willst du trotzdem, denn ohne ihn zeigt die installierte App offline die Fehlerseite des Browsers.

Funktionieren PWAs auf dem iPhone?

Ja, mit Einschränkungen. Safari-Nutzer installieren über das Teilen-Menü, es gibt kein Event für eine Installationsaufforderung, und Push-Benachrichtigungen funktionieren nur für eine Website, die unter iOS 16.4 oder neuer zum Home-Bildschirm hinzugefügt wurde. Offline-Caching funktioniert.

Warum erscheint mein Installieren-Button nie?

beforeinstallprompt wird nur in Chromium-Browsern ausgelöst, nur wenn die Installationskriterien erfüllt sind, und nicht, wenn die App bereits installiert ist. Den Grund findest du im Abschnitt Manifest des DevTools-Bereichs Application.

Wie prüfe ich eine PWA, jetzt da Lighthouse keine PWA-Bewertung mehr hat?

Lighthouse 12 hat die PWA-Kategorie gestrichen. Nutze den Bereich Application in den Chrome DevTools: Die Ansicht Manifest listet Installationsfehler und Icon-Probleme auf, und die Ansicht Service workers zeigt Registrierung, Updates und einen Offline-Schalter.

Wie aktualisiere ich eine PWA nach einem Release?

Ändere die Cache-VERSION in sw.js. Der Browser erkennt den geänderten Worker, installiert ihn, und der activate-Schritt entfernt die alten Caches. Mit skipWaiting und clients.claim übernimmt der neue Worker beim nächsten Laden.

Cache-first oder Network-first

Häufige Fehler

Was du bekommst und die Grenzen auf dem iPhone

Durch die Installation bekommt deine Website ein eigenes Icon und ein Fenster ohne Adressleiste. Ein Service Worker ergänzt Offline-Seiten. Push braucht beides, und Apple erlaubt es nur für Websites, die der Nutzer zum Home-Bildschirm hinzugefügt hat.

Was eine PWA kann, nach Plattform

Ein funktionierender Service Worker

Drei Dateien machen eine Website offlinefähig: der Worker, eine Fallback-Seite und ein paar Zeilen, um ihn zu registrieren. Wir haben genau diese Dateien auf localhost in Chromium laufen lassen: Der Worker wurde installiert, der Cache gefüllt, und mit gestopptem Server lud die Startseite aus dem Cache, während eine nie besuchte Seite offline.html zeigte.

sw.js: ein minimaler Service Worker, der offline funktioniert

Seiten versuchen zuerst das Netzwerk, damit Menschen frische Inhalte sehen, greifen dann auf eine gecachte Kopie zurück und zuletzt auf offline.html. Dateien wie CSS, Skripte und Icons kommen zuerst aus dem Cache. Wenn du VERSION änderst, löscht der nächste activate-Schritt die alten Caches.

offline.html: die Fallback-Seite

Halte sie in sich geschlossen: Inline-Styles und keine externen Dateien, denn wenn sie angezeigt wird, ist vielleicht nichts anderes erreichbar.

Ein Installieren-Button

app.js: den Worker registrieren und einen Installieren-Button zeigen

Das Event beforeinstallprompt wird nur in Chromium-Browsern ausgelöst (Chrome, Edge, Samsung Internet, Opera). Safari und Firefox senden es nie, daher bleibt der Button dort verborgen, und Menschen nutzen stattdessen das Menü des Browsers.

Installationskriterien heute

Chrome besteht nicht mehr auf einem Service Worker, bevor es die Installation anbietet; geprüft werden das Manifest und die Punkte unten. Lighthouse 12 hat seine PWA-Kategorie entfernt, prüfe die Installierbarkeit also stattdessen in den Chrome DevTools: Bereich Application, dann Manifest, wo alle Probleme unter Installability aufgelistet sind.

Installationsanforderungen von Chrome

Setups für Vite und Next.js

Vite: vite-plugin-pwa

Installiere mit npm i -D vite-plugin-pwa. Das Plugin schreibt das Manifest und erzeugt beim Build einen Workbox-Service-Worker, sodass du sw.js nicht von Hand schreibst. Leg die Icons in public/ ab.

Next.js App Router: app/manifest.ts

Next.js liefert diese Datei unter /manifest.webmanifest aus und fügt das Link-Tag für dich hinzu. Für Offline-Unterstützung legst du die sw.js von oben in public/ ab und registrierst sie aus einer kleinen Client-Komponente.

Next.js: public/sw.js aus einer Client-Komponente registrieren

Rendere sie einmal in app/layout.tsx. Überspringe die Registrierung in der Entwicklung, damit ein gecachter Build deine Änderungen nicht verdeckt.

App-Name

Kurzname (unter dem Icon)

Start-URL

Icon-Ordner

Designfarbe

Hintergrundfarbe

Kopieren

Manifest-Generator

Anzeige

Maskierbares Icon einschließen

Speichere deine Icons als icon-192.png und icon-512.png (und icon-512-maskable.png) im Icon-Ordner.

Tags für den Head jeder Seite

Kostenlos starten · Keine Kreditkarte nötig

Verwandt: Ratgeber

Produkt

Für wen

Funktionen

Ressourcen

Unternehmen

Sitemap