Progressive Web Apps

Ein Symbol auf dem Startbildschirm, ein Vollbild ohne Adresszeile, und im Hintergrund läuft trotzdem eine Website. Progressive Web Apps verwischen die Grenze zwischen Browser und installierter Anwendung.
Zwei Männer stehen vor einem Whiteboard mit bunten Notizen
© REDPIXEL

Was Progressive Web Apps sind

Progressive Web Apps sind Webanwendungen, die sich auf einem Gerät installieren, vom Startbildschirm starten und ohne Netzverbindung weiterarbeiten lassen. Technisch bleiben sie Websites, ausgeliefert über einen Webserver und dargestellt von der Browser-Engine. Der Unterschied liegt in wenigen Bausteinen, die moderne Browser bereitstellen und die eine gewöhnliche Seite nicht nutzt.

Geprägt wurde der Begriff 2015 von der Designerin Frances Berriman und dem Chrome-Entwickler Alex Russell. Gemeint war kein neues Dateiformat, sondern eine Sammlung von Eigenschaften, die eine installierbare Webanwendung von einer klassischen Seite unterscheiden. Progressiv meint dabei abgestufte Verfügbarkeit. Jede Funktion greift nur dort, wo der Browser sie kennt, und fehlt sie, bleibt die Seite trotzdem bedienbar.

Service Worker und Zwischenspeicher

Ein Service Worker ist ein Skript, das getrennt von der Seite im Browser läuft und Netzwerkanfragen abfängt. Er entscheidet, ob eine Anfrage aus dem Zwischenspeicher beantwortet oder an den Server weitergereicht wird. Genau daraus entsteht die Offline-Fähigkeit, denn beim ersten Besuch gespeicherte Dateien stehen später auch ohne Verbindung bereit. Voraussetzung ist eine verschlüsselte Verbindung, ohne HTTPS lässt sich ein Service Worker nicht registrieren.

Web App Manifest

Das Web App Manifest ist eine kleine Textdatei mit Name, Symbol, Startadresse und Anzeigemodus. Sie sagt dem Betriebssystem, wie die Anwendung heißt und ob sie im Vollbild oder mit Adresszeile startet. Ohne diese Datei bleibt eine Seite ein Lesezeichen.

Wo der Ansatz an Grenzen stößt

Der Zugriff auf Gerätefunktionen hängt am Browser und am Betriebssystem, nicht am eigenen Code. Kamera und Standort sind verbreitet nutzbar, tiefere Schnittstellen wie Hintergrunddienste oder einzelne Sensoren längst nicht überall. Die Verfügbarkeit entscheidet, nicht der eigene Code. Progressive Web Apps ersetzen deshalb nicht jede native Anwendung, und in der App-Entwicklung gehört diese Prüfung vor die Architekturwahl.

Abgrenzung zur nativen App

Eine native Anwendung wird für ein Betriebssystem übersetzt und über dessen Store verteilt, mit Prüfverfahren vor der Veröffentlichung. Bei einer Web App entfällt beides, damit aber auch die Sichtbarkeit im Store und der dortige Zahlungsweg. Für die Entscheidung zählt deshalb weniger die Technik als die Frage, wo die Zielgruppe sucht. Kommt sie über eine Suchmaschine, spielt der Store keine Rolle, sucht sie im Store, findet eine installierbare Webanwendung dort nicht statt. Die hybride App-Entwicklung hält beide Wege offen, zum Preis einer zusätzlichen Schicht.

Aktuelle Themen