Progressive Web Apps (PWA)

09 Juli 2018
Jelena Tauriello

Mit den PWAs kommt nun der „Superman“ unter den Apps, der die Vorteile der beiden Welten in sich vereinigt.

Bisher musste man sich je nach Anwendungsfall entscheiden, ob es Sinn macht in eine Native-App zu entwickeln oder ob es besser eine Web-App sein soll. Wollte man etwa die Hardware Komponenten des Gerätes wie beispielsweise Sensoren oder Kamera verwenden, Offline-Betrieb unterstützen oder Push-Notifications anbieten, war die native App der klare Favorit. Dann musste man jedoch auch die Nachteile, wie das Entwickeln für verschiedene Zielsysteme und die Bedingungen der verschiedenen App-Stores, in Kauf nehmen.

Wie die Web-Apps benötigen PWAs keine Installation und keine manuelle Aktualisierung. Sie passen sich immer automatisch an das Endgerät an, sind in Suchmaschinen zu finden und lassen sich einfach per URL teilen. Für den Benutzer verhalten sich die auf dem Startscreen „installierten“ PWAs wie native Apps.

Dies alles ist möglich dank dem im Jahr 2015 von Google vorgestellten und seitdem vorangetriebenem Konzept. Aus technischer Sicht sind die Kernstücke einer PWA zum einen der ServiceWorker, welcher im Hintergrund läuft und die App immer aktuell hält. Der Offlinemodus wird durch die Service-Worker-Scripts sowie dem vom Browser unabhängigen App Cache ermöglicht. Für ein angenehmes UX Erlebnis sorgt das Application-Shell-Modell, welches das UI und die Inhalte voneinander trennt.

Die Vorteile des PWA Konzepts liegen auf der Hand. Zum einen hat sich die Breite der technologischen Anforderungen reduziert. Es genügt eine CodeBase statt einer für jedes Ökosystem. Dies reduziert die Entwicklungs- und Wartungskosten signifikant. Ebenso können Updates schneller und vor allem unbemerkt dem Anwender zu Verfügung gestellt werden. Zum anderen unterliegt man nicht weiter den Auflagen der jeweiligen App-Stores.

Nach der Vision von Google sollten die App-Stores dank der PWAs überflüssig werden. Diese Idee ist schwer umzusetzen, da die Plattform-Betreiber nicht auf die Einnahmen daraus verzichten wollen.

So bietet Microsoft für die Entwickler, die ihre PWAs über den Microsoft Store vertreiben diverse Vorteile an: Einfluss auf die Art und Weise wie die App im Store erscheint, Einblick in die Telemetriedaten (Installationszahlen, Abstürze etc.), Zugriff auf das Feedback von Nutzern, einschließlich der Möglichkeit direkt darauf zu reagieren. Weiter sollen aus dem Microsoft Store installierte PWAs ohne Browser genutzt werden können.

Bei Apple ist man hinsichtlich der Unterstützung von PWAs noch nicht ganz so weit und daher leider noch auf native Apps aus dem App-Store angewiesen. Zwar hat Apple im letzten August die Implementierung des WebKits für Safari begonnen. Eine der wichtigsten Vorteile einer PWA, welcher die Lücke zwischen Web-Apps und nativen Apps schließt, ist jedoch noch nicht garantiert: Der Offline-Betrieb. Nach ein paar Wochen der Nicht-Benutzung, wird der App-Cache gelöscht, was die Verfügbarkeit der PWA zum Glücksspiel macht.

Trotz, dass noch nicht alle Browser PWAs unterstützen, sind diese nicht aufzuhalten (https://pwa.rocks). Zu groß sind das Interesse und die Vorteile für die Benutzer und Entwickler. Allerdings hängt eine erfolgreiche, flächendeckende Verbreitung der PWAs stark davon ab, ob Google, Microsoft und Apple im Großen und Ganzen an einem Strang ziehen. Es bleibt spannend.

https://webkit.org/blog/8090/workers-at-your-service/

https://medium.com/@firt/pwas-are-coming-to-ios-11-3-cupertino-we-have-a-problem-2ff49fd7d6ea

https://www.heise.de/developer/artikel/iOS-11-3-und-Payment-Request-API-Zahlen-bitte-3962813.html

https://t3n.de/news/progressive-web-apps-ios-safari-942769/

https://pwa.rocks/