Progressive Web Apps, Teil 1: Das Web wird nativ(er)

Progressive Web Apps sind das App-Modell der Zukunft. Das behauptet zumindest Google und hat nichts Geringeres vor, als App-Stores verschwinden zu lassen.

In Pocket speichern vorlesen Druckansicht 15 Kommentare lesen
Lesezeit: 5 Min.
Von
  • Christian Liebel

Progressive Web Apps (PWA) sind das App-Modell der Zukunft. Das behauptet zumindest Google und etabliert eine Technologiebasis, die App-Stores über kurz oder lang verschwinden lassen könnte.

Die Idee: Apps kommen zukünftig nicht mehr aus dem Store einer Plattform auf das Gerät, sondern über den Webbrowser, der ohnehin auf jedem Mobilgerät installiert ist. Und weil das moderne Web mittlerweile so mächtig ist, braucht es auch gar keine native App mehr: Die plattformübergreifende Website soll zur ebenso plattformübergreifenden App werden.

Websites zum Homebildschirm hinzufügen

Ein Blick zurück auf die Geschichte mobiler Anwendungen: Möglicherweise erinnert sich der ein oder die andere Leser noch an Windows Mobile. Dort war es üblich, ausführbare Dateien (EXE) oder Installationspakete (CAB) aus dem Internet herunterzuladen und auf das Gerät zu übertragen: Genau so, wie es auf Desktop-Rechnern heute immer noch üblich ist (Windows 10 S vielleicht ausgenommen). 2007 erschien das iPhone, das es ganz anders machte. Es wurde vorgestellt als Mischung aus einem iPod, einem Telefon und einem "Internetgerät". Native Apps von Drittanbietern waren in der ersten Fassung von iPhone OS gar nicht vorgesehen, stattdessen sollten diese als Webanwendungen im potenten mobilen Safari ausgeführt werden. Auch unter aktuellen Versionen von iOS lassen sich Websites über die Methode "Zum Homebildschirm" an diesen anheften und wahlweise ohne die Fensterdekoration des Browsers starten.

Wenige Monate nach der Veröffentlichung änderte Apple seine Meinung, und native Drittanbieter-Apps kamen gemeinsam mit SDK und Store auf iOS. Die Idee, dass jede App signiert werden muss, um sie einem Entwickler eindeutig zuordnen zu können, übernahm Apple damals übrigens von Nokia. Von diesem Tag an waren Stores als zentrale (und manchmal auch exklusive) Vertriebswege auf Mobilplattformen gesetzt: Google zog später mit dem Android Market, Microsoft mit dem Windows Store nach.

Anwendungen auf Basis moderner Webtechnologien um HTML5 und JavaScript befinden sich gegenüber ihrer nativen Gegenstücke in vielen Aspekten mittlerweile auf Augenhöhe. Daher rührt Googles Idee, Web-Apps, die im Browser bestens funktionieren, einfach zur "App-App" auf dem Gerät zu machen. Inklusive jener Features, die normalerweise nur nativen Anwendungen vorenthalten sind: darunter Installierbarkeit, Offlinefähigkeit oder Push-Benachrichtigungen, selbst wenn die Anwendung geschlossen wurde.

Apps, die diese und weitere Eigenschaften aufweisen (beispielsweise die Auslieferung über HTTPS oder die Anpassung an die zur Verfügung stehenden Bildschirmabmessungen), werden als Progressive Web Apps bezeichnet. Wofür zuvor noch native Anwendungsrahmen wie Cordova oder Electron erforderlich waren, gibt es jetzt native Webschnittstellen: Zentrales technisches Mittel zur Umsetzung der Offlinefähigkeit und Push-Benachrichtigungen stellt der Service Worker dar. Natürlich darf auch das Icon auf dem Homebildschirm nicht fehlen: Dieses wird mithilfe des Web App Manifest spezifiziert.

Hätten Sie es gedacht? Hier ticken HTML5 und JavaScript.

Progressive Web Apps werden von Google angetrieben. Daher verwundert es kaum, dass sie schon heute unter Android verwendbar sind. Auch Mozilla und Microsoft sind mit von der Partie – die Unterstützung in Microsoft Edge darf in den kommenden Monaten erwartet werden. Einen Plattformanbieter vermisst man allerdings noch: Ausgerechnet beim einstigen Vorreiter Apple sind die Signale zugunsten der Progressive Web Apps eher verhalten. Und das ist verständlich: Denn für Apple dürfte die zentrale und exklusive Vertriebsplattform – bei der Apple mit jedem App-Verkauf und In-App-Purchase mitverdient – viel zu lukrativ sein, um sie aufzugeben.

Das ist aber nicht zwangsweise schlimm: Denn das Progressive in PWA steht für die Eigenschaft Progressive Enhancement, also den graduellen Zuwachs an Unterstützung. Auf Plattformen, die bestimmte PWA-Features noch nicht unterstützen, soll die Anwendung dennoch so gut wie möglich ausgeführt werden. PWAs sind demnach abwärtskompatibel und bieten auf potenteren Plattformen mehr Features.

Ein gutes Beispiel für eine Progressive Web App ist der mobile Twitter-Client, der unter https://mobile.twitter.com angeboten wird: Nach seiner Installation auf dem Gerät wird er ohne die Fensterdekoration des Browsers ausgeführt. Seine Ressourcen speichert der Client im Cache des Service Worker, sodass der Anwendungsrahmen (App-Shell) auch ohne Internetverbindung geladen werden kann. Nur zum Absenden oder Beziehen von Tweets ist eine aktive Internetverbindung erforderlich.

Dieser Blogpost ist der Start in eine kleine Reihe rund um die Progressive Web Apps. Im nächsten Teil in der kommenden Woche beschäftigen wir uns mit dem bereits erwähnten Service Worker, die für Offlinefähigkeit und Empfang der Push-Benachrichtigungen zuständig ist.

[Update]:

Die Unterstützung für die Apple-Plattform wurde Mitte 2017 angekündigt und steht ab iOS 11.3 zur Verfügung. ()