Progressive Web Apps – Trend oder Zukunft?

Im Vergleich zu Web Apps hatten native Apps immer die Nase vorn. Web Apps können für bestimmte Anwendungen zwar die richtige Wahl sein, doch sie stellten nie eine ernsthafte Konkurrenz für native Apps dar. Das könnte sich jetzt ändern, denn eine neue Technologie ist im Vormarsch.Die sogenannten Progressive Web Apps (kurz PWAs), versprechen, bessere Web Apps zu sein und sich wie native Apps anzufühlen. Doch was sind Progressive Web Apps genau? Sind sie bloß eine Modeerscheinung oder könnten sie nativen Apps wirklich gefährlich werden? Falls dich dieses Thema interessiert – lies weiter!

progressive web apps

Bevor es zur Sache geht, hier noch ein kurzer Rückblick:
Als Apps vor ungefähr 10 Jahren begannen populär zu werden, nutzte noch niemand das Wort ‚native‘. Einige Jahre später wurde das Web um responsive Design und Frameworks wie React bereichert, und Entwicklern wurde es möglich, Webseiten zu schaffen, die sich wie Apps verhielten. Diese mobilen Web Apps wurden immer populärer und es wurde nötig, zwischen 2 Arten von Apps zu unterscheiden: Apps, die auf der nativen Software des Handys laufen (Native) und Apps, die den Browser des Mobilgeräts nutzen (Web Apps).

Zwar gelingt es mit Web Apps die Inhalte optisch gut auf den Bildschirm zu bringen, doch funktional können sie mit ihren nativen Konkurrenten nicht mithalten. Sobald Zugriff auf Gerätefeatures wie z.B die Kamera oder Bluetooth benötigt wird, ist die Web App aus dem Spiel. Zwar kann man sich diesem Problem mit Frameworks wie Apache Cordova behelfen, welches einem Zugriff auf die nativen Device APIs erlaubt, doch handelt es sich dann dabei um keine reine Web App mehr, sondern um eine hybride Form. Doch nicht nur das Fehlen dieser Schnittstellen ist ein Nachteil der Web Apps. Einer der größten Nachteile von Web Apps ist wohl, dass sobald eine schlechte oder gar keine Internetverbindung besteht, die App schlecht oder gar nicht mehr bedienbar ist. (Hier findest du eine detailliertere Erklärung zu den verschiedenen Arten von Apps.)

Progressive Web Apps setzen genau an diesen Problemen an. Obwohl Progressive Web Apps im Grunde mobile Webseiten sind, sollen sie sich für den Nutzer wie echte ‚native‘ Apps anfühlen, schnell laden und offline funktionieren. Die Grundidee hinter den PWAs ist, das Beste aus beiden Welten zu vereinen. Einerseits sollen sie die Vorteile von nativen Apps bieten wie den Zugriff auf Gerätefeatures, Offline-Funktionalität und der Möglichkeit Benachrichtigungen einzublenden und andererseits die Vorteile von Web Apps wie die unkomplizierte Verfügbarkeit webbasierender Inhalte und deren Aktualität ohne lästige Updates installieren zu müssen.

Progressive – was bedeutet das?

Ein weiterer großer Vorteil ist, das Progressive Web Apps sich progressiv an die aufrufende Umgebung anpassen. D. h. egal auf welchem Gerät oder Browser ich meine PWA starte, sie funktioniert, wenn auch in unterschiedlichem Umfang. Auf einem Notebook verhält sie sich beispielsweise wie eine ganz normale Webanwendung, wird sie aber auf einem Smartphone oder Tablet geöffnet, tritt sie wie eine native App auf, die native Gerätefunktionen nutzen kann.

Offline – aber wie?

Viele fragen sich bestimmt, wie die App offline funktionieren soll. Die zwei magischen Wörter hierfür sind: Service Workers. Sie sind sozusagen das Herzstück der PWA. Sogar wenn die Website gar nicht geöffnet ist, arbeiten sie im Hintergrund der Anwendung. Sie ermöglichen nicht nur die Offline Funktionalität und Push-Notifications, mit ihnen kannst du auch Inhalte im Hintergrund aktualisieren und programmlogische Abläufe starten. Dadurch entsteht eine hohe Flexibilität in der App Entwicklung.

Application Shell

Ein weiteres wichtiges Konzept der Progressive Web Apps ist die App Shell. Die App Shell ist ein Designkonzept, bei dem zwischen dem festgelegten Aufbau der Anwendung (App Shell) und dem Inhalt unterschieden wird. Zuerst wird die App Shell geladen und dargestellt, die darin enthaltenen Inhalte werden erst nachträglich geladen. Dieser Design Ansatz ermöglicht es, die Caching Möglichkeiten der Service Worker voll auszunutzen und somit die Performance und Usability der App enorm zu verbessern.

Web App Manifest

Wie bei nativen Apps, ist es auch möglich, eine Manifest Datei zu erstellen und so die Installation von Progressive Web Apps zu ermöglichen. Dabei wird nicht nur ein Shortcut angelegt, sondern dem Nutzer wird ein Installationsbanner angezeigt, wie man es auch bei nativen Apps gewohnt ist.

Der Haken

Du wusstest, dass es einen gibt, oder? Das alles hört sich natürlich wunderbar an. Für viele ist sicherlich die Vorstellung attraktiv, nur mehr eine App für alle Betriebssysteme entwickeln zu müssen. Doch leider gibt es auch hier einen Haken, und dieser Haken ist die Browserunterstützung. Zurzeit werden noch nicht alle Funktionalitäten von allen Browsern unterstützt. whatwebcando.today zeigt dir welche Features von deinem Browser unterstützt werden. Einige Features werden in einiger Zeit wahrscheinlich hinzukommen, doch du wirst möglicherweise schon jetzt überrascht sein, was alles möglich ist.

Während Google sich sehr für die Weiterentwicklung von Progressive Web Apps einsetzt und auch Opera, Mozilla und Microsoft auf dieses Format setzen, zeigt Apple wenig Interesse daran, auf diesen Zug aufzuspringen. Dies führt zu dem größten Problem, das PWAs zurzeit haben, und zwar, dass Safari keine Service Workers unterstützt, die eigentlich das Herz dieser Apps sind. Dank ihrer progressiven Anpassbarkeit funktionieren Progressive Web Apps natürlich auch auf Safari, doch es gehen viele Vorteile verloren, wie die bessere Performance, die Offline Funktionalität und Push Notifications.

Es ist verständlich, warum Apple wenig Interesse daran hat, diese neue Technologie zu unterstützen, schließlich würden PWAs Kunden vom App Store weg zum Web locken und damit zum Konkurrenten Google. Die Abhängigkeiten der Apple Entwickler und Nutzer wäre verloren und für Apple stellt der App Store natürlich eine große Einnahmequelle und Kundenbindung dar. Nicht zu unterschätzen wäre natürlich auch der Verlust an erhobenen Daten über die Apps aus dem App Store. Es ist schwer vorstellbar, dass Apple dies in nächster Zeit aufgeben würde. Vieles wird davon abhängen wie sich die Popularität von PWAs weiterentwickeln wird. Falls die Nutzung und Verbreitung von PWAs sich massiv erhöht und möglicherweise die von nativen Apps überholt, wird sich Apple wohl oder übel etwas überlegen müssen.

Fazit

PWAs haben großes Potential, doch ob sie native Apps wirklich gefährlich werden können, wird sich erst in Zukunft zeigen. Ganz ersetzen werden sie diese wohl nicht, doch Progressive Web Apps scheinen mehr als bloß eine Modeerscheinung zu sein und es bleibt spannend, was die Zukunft bringt.

Falls dich interessiert, was es bereits so an PWAs gibt, schau doch einfach mal unter pwa.rocks vorbei. Viel Spaß!

 

Mehr Tech-News gefällig? Melde dich doch für unseren monatlichen Newsletter an!