Host Europe Blog

Progressive Web App (PWA): Definition, Technik, Vorteile

Titelmotiv: Progressive Web App (PWA): Definition, Technik, Vorteile

Progressive Web Apps (PWA) vereinen Vorteile einer Webseite mit den Vorteilen einer nativen App. Der Begriff der PWA wurde erstmals 2015 von Google verwendet und war schon wenige Jahre später in aller Munde.

Was ist eine Progressive Web App?

PWAs kann man als eine hybride Art von Anwendung verstehen, die zwischen Webseiten und nativen Apps anzusiedeln ist. Progressive Web Apps werden üblicherweise drei Eigenschaften zugeschrieben, mit denen sie sich von herkömmlichen Webseiten auf der einen Seite und nativen Apps auf der anderen Seite unterscheiden sollen: Im Sprachgebrauch der Google-Entwickler sollen sie „capable“, „reliable“ und „installable“ sein. Jedes dieser Stichworte steht für ein Merkmal, das die User Experience von PWA im Vergleich zu Webseiten bzw. Apps verbessern soll:

Finden Sie jetzt Ihre Wunsch-Domain.

    Große Auswahl an günstigen Domain-Endungen.
    Keine verdeckte Kosten.

Jetzt Domain-Check starten!

Mit welchen Technologien arbeiten Progressive Web Apps?

Technisch gesehen ist eine PWA im Prinzip immer noch eine Web-Applikation (also über eine URL erreichbar, im Browser lauffähig und von Suchmaschinen indizierbar), die aber die immer weiter verfeinerten Funktionalitäten moderner Browser optimal ausnutzt, um ein app-ähnliches Verhalten (Offlinefähigkeit, Responsivität, Betriebssystemintegration etc.) zu erreichen

Eine notwendige Voraussetzung von PWAs ist die Nutzung von HTTPS. Dies ist auch bei herkömmlichen Webseiten schon weitgehend Standard geworden. Die beiden anderen notwendigen Komponenten von PWAs sind Service Workers und ein Web Application Manifest.

Bei Service Workers handelt es sich um einen besonderen Typ von Web Worker: Diese erlauben es, Skripte in einen Hintergrund-Thread auszulagern und unabhängig vom Haupt-Thread einer Webanwendung auszuführen. Das soll vor allem verhindern, dass aufwendige oder langwierige Operationen nicht die Benutzerinteraktion blockieren. Service Worker leisten das auch, arbeiten dabei aber als Proxy zwischen Server und Webbrowser, um die PWA offline verfügbar zu machen und wichtige Funktionalitäten wie etwa den Versand von Push-Benachrichtigungen umzusetzen.

Die Besonderheit: Ein Service Worker wird lokal installiert und kann mit mehreren Webseiten gleichzeitig zusammenarbeiten. So wird auch klar, warum keine PWA ohne HTTPS möglich ist: Service Worker haben die volle Kontrolle über die Kommunikation zwischen Server und Webbrowser und könnten ungesichert viel Schaden anrichten.

Die zweite PWA-Komponente, das Web App Manifest (oder kurz Web Manifest), definiert Details und Verhalten der UX der Progressive Web App. Es handelt sich um ein Textdokument im JSON-Format (JavaScript Object Notation) und enthält Startparameter sowie Standardwerte für die Anwendung und ihre Installation, zum Beispiel Icons für den Homescreen oder individuelle Vorgaben für den Splash Screen.

Frameworks wie das weit verbreitete Angular, React oder Vue.js sowie Bibliotheken wie Polymer unterstützen bei der Entwicklung von PWAs.

Ein Kugelfisch schließt Lücken zwischen Web und nativen Apps

Um die technologischen Grundlagen von Progressive Web Apps international zu standardisieren und sich im Look and Feel der PWAs noch weiter an native Apps anzunähern, haben Google, Microsoft und Intel das „Project Fugu“ (japanisch für „Kugelfisch“) ins Leben gerufen. Im Rahmen dieses Projekts werden Standards und Browser-APIs definiert, die als sogenannte Web Capabilitites bezeichnet werden und in Chromium umgesetzt werden.

Die wichtigsten Web Capabilities für PWAs im Project Fugu sind derzeit:

PWA: Vorteile und Nachteile

PWAs sind also gewissermaßen eine organische Weiterentwicklung von Webseiten auf der einen und nativen Apps auf der anderen Seite, die die jeweils spezifischen Mängel beider Arten von Anwendung beheben sollen – vor allem aus Sicht des Users:

Viele der positiven Konsequenzen von PWAs für Unternehmen ergeben sich somit aus dem Gewinn an Usability und der vorteilhaften User Experience. Google zitiert etwa die Erfahrungen von Twitter: Nach dem Launch seiner Progressive Web App verzeichnete der Dienst einen Zuwachs von 65 Prozent an pro Session besuchten Seiten und gleichzeitig eine Abnahme der Bounce Rate um 20 Prozent.

Vorteile von Progressive Web Apps voll ausspielen

Wer diese Vorteile realisieren will, darf aber eine PWA nicht einfach als Webseite denken. Bestimmte Gewohnheiten, die Webentwickler von der Arbeit an herkömmlichen Webseiten mitbringen, müssen bewusst durch andere Vorgehensweisen ersetzt werden, damit PWAs ihre Stärken voll ausspielen können.

Um Usern auch bei langsamer Internetverbindung eine gute Führung zu geben, sollte bei der Gestaltung einer Progressive Web App vermehrt mit Skeleton Screens gearbeitet werden – also stilisierten Darstellungen der gerade ladenden Inhalte. So bleibt der User orientiert. Eine Reihe anderer Techniken sorgt ebenfalls dafür, dass Besucher nicht frustriert abspringen: Responsives Feedback kann durch zusätzlichen Code sichergestellt werden, virtualisierte Listen und geräteeigene Fonts (statt Custom Fonts) beugen Problemen bei der Ladeperformance vor. Auch geschicktes Caching oder serverseitiges Rendering verbessern das Ladeverhalten, und nicht zuletzt das von Google empfohlene PRPL-Pattern.

PRPL steht für Preload, Render, Pre-cache und Lazy Load und bezeichnet ein Pattern für die Strukturierung von PWAs, mit dem Seiten möglichst schnell geladen und bedienbar werden: Die wichtigsten Ressourcen sollen vorab geladen werden, damit so schnell wie möglich etwas dargestellt wird (First Contentful Paint). Zudem sollen die Caching-Fähigkeiten der Service Worker ausgenutzt und nicht-kritische Ressourcen erst bei Bedarf geladen werden.

Möchten Sie tiefer in die technische Umsetzung von PWAs einsteigen und Ihre eigene PWA auf den Weg bringen? Dann lesen Sie weiter in unserem Artikel Was Sie über die Entwicklung von Progressive Web Apps wissen sollten.

Titelmotiv: Photo by Christina @ wocintechchat.com on Unsplash

Die mobile Version verlassen