© Macrovector/Shutterstock.com
Moderne Applikationen mit Progressive Web Apps

Desktop-Apps neu gedacht


Unter dem Begriff „Progressive Web Apps“ hat Google 2015 seine Vision von modernen Webapplikationen vorgestellt, die nativen mobile Apps in nichts nachstehen. Wir lernen in diesem Artikel die Vorteile und den aktuellen Stand von PWAs näher kennen und erstellen eine eigene Web-App.

Kernfunktionen der PWAs wie der Service Worker und das Web-App-Manifest werden von einer Vielzahl neuer Browserschnittstellen flankiert. Progressive Web Apps haben sich zu einem Projekt weiterentwickelt, an dem längst nicht mehr nur Google arbeitet. Auch Microsoft und Intel tragen aktiv zu den Spezifikationen und Implementierungen bei, und auch Mozilla und Apple haben die Vorteile einer umfangreichen Webplattform erkannt – eine Erfolgsgeschichte.

  • Mit dem Service Worker haben wir nun also plattformübergreifend die volle Kontrolle darüber, wie der Browser unsere Webapplikation lädt, und in Kombination mit dem App-Cache können unsere Nutzer sogar offline mit unserer Web-App interagieren.

  • Mit dem Web-App-Manifest können wir dem Wildwuchs an Metatags eine standardisierte Struktur von Metainformationen über unsere App entgegenstellen.

  • Mit Schnittstellen wie dem Device Orientation API oder dem Geolocation API können wir direkt auf Sensoren des Geräts zugreifen.

Das sind nur drei Beispiele von mächtigen Features, die wir unseren NutzerInnen direkt im Browser und damit über eine einzige Codebasis und ohne Einstiegshürden zur Verfügung stellen können.

Die Romantik einer umfangreichen Webplattform, an der die größten Firmen der Welt gemeinsam arbeiten, um uns EntwicklerInnen eine nahtlose Experience zu bieten, wird aber getrübt. Während Google und Microsoft gerne so schnell wie möglich neue Features implementieren, steht Apple gerne mal auf der Bremse. Zum Teil aus berechtigter Sorge um die Privatsphäre der NutzerInnen, oft aber aus Protektionismus gegenüber dem eigenen App-Ökosystem. Auch wenn für mich als Webentwickler natürlich Ersteres begrüßenswert wäre, kann ich die grundsätzliche Frage schon nachvollziehen: Soll das Web weiterhin nur Dokumente abbilden oder wie weit soll es interaktiv werden und somit Apps ersetzen?

Grundsätzlich hätte ich mit diesen verschiedenen Auffassungen des Webs keine Probleme. Das Web ist ein offener Standard und jede/r kann einen Browser veröffentlichen, der diese Standards (oder einen Teil davon) implementiert. Wäre da nicht Apples eigenes, geschlossenes Smartphone-Betriebssystem (iOS) und dessen Limitierung auf WebKit als Browser Engine. Das führt dazu, dass jeder Browser auf iOS ein und dieselbe Engine nutzen muss. Und da Apple die Kontrolle über WebKit hat, hat Apple auch direkt Einfluss darauf, welche Browserfeatures Einzug in iOS finden. Egal, ob Safari, Chrome oder Firefox: Auf iOS bestimmt Apple, welche Webstandards implementiert werden. Das hat leider unmittelbar Auswirkungen auf unseren Alltag. Lange Zeit war es unklar, ob WebKit den Service Worker implementiert, und auch jetzt steht in den Sternen, wann und ob überhaupt WebKit jemals HTTP Web Push als offenen Standard für den Versand von Push Notifications implementieren wird.

Während wir auf mobilen Geräten also etwas blockiert sind, fokussiert sich dieser Artikel eher darauf, wie wir klassische Desktopapplikationen über das Web an unsere NutzerInnen bringen. Auch hier sehen wir mehr und mehr Webapplikationen, die lediglich in einen Electron-Wrapper gepackt werden. Ein Schritt, der hoffentlich bald unnötig sein wird.

This website works best with ...

Natürlich möchte niemand in die Zeit zurück, in der gewisse Webseiten oder Administrationsoberflächen nur mit bestimmten Browsern funktionierten. Wer kennt sie nicht, die Applikationen, die irgendwelche experimentellen IE-Features nutzen und schlussendlich dazu führten, dass Firmen auch 2021 noch immer ihre alten Windows-Versionen unterhalten müssen … Nein, das kann nicht unser Ziel sein. Und trotzdem können wir stark davon profitieren, dass wir in gewissen Browsern schon jetzt Features nutzen können, für die andere Browser noch etwas Zeit brauchen. Es ist natürlich nicht ratsam, experimentelle Features ohne sorgfältige Evaluation in produktive Applikationen einzubauen. Ein Blick über...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang