© ecco/Shutterstock.com
Wie Project Fugu PWAs noch besser macht

Mächtigeres Web dank Kugelfisch


2015 wurde der Begriff der Progressive Web App (PWA) geprägt. Seit etwa 2018 können PWAs auf allen relevanten Betriebssystemen installiert und auch offline ausgeführt werden. Allerdings bleibt hinsichtlich der Funktionalität ein gewisser Unterschied zwischen PWAs und ihren nativen Gegenstücken bestehen. Mit Project Fugu soll der Abstand weiter schrumpfen.

Als Steve Jobs 2007 das iPhone vorstellte, war weder von Apps noch vom App Store die Rede. Stattdessen sollten Entwickler Webanwendungen auf Basis von HTML schreiben, um Drittanbieteranwendungen auf das neue Smartphone zu bringen. Die Vorteile liegen auf der Hand: Webanwendungen sind plattformübergreifend ausführbar, laufen in einer Sandbox und haben keinen wahlfreien Zugriff auf native Schnittstellen. Wohl nicht zuletzt aufgrund der letzten beiden Punkte liebäugelte Jobs mit dem Web als Anwendungsplattform. Doch die geringe Performance durch die anfangs schwache Hardware und die nicht gerade ausgeprägten Fähigkeiten im Web führten am Ende dazu, dass Apple seine Meinung änderte und später doch ein Software Development Kit (SDK) zur nativen Entwicklung anbot.

Im Web ist seitdem jedoch viel passiert: Moderne JavaScript und WebAssembly Engines erreichen eine nahezu native Performance und CSS3-Animationen laufen absolut ruckelfrei. HTML5 brachte jede Menge Schnittstellen ins Web, unter anderem lokale Speichertechnologien und den Zugriff auf den Standort des Anwenders. WebGL brachte hardwarebeschleunigte 3D-Visualisierungen, WebRTC Peer-to-Peer-basierte Echtzeitkommunikation. Dann kamen Progressive Web Apps, die mit Hilfe von Service Workers offline ausgeführt werden können und dank dem Web-App-Manifest auch eine Präsenz auf dem Homescreen oder in der Programmliste des jeweiligen Betriebssystems erhalten. Von dort gestartet ist die PWA von nativen Anwendungen kaum mehr zu unterscheiden. Abbildung 1 zeigt die Progressive Web App von Spotify, die ihrem nativen Gegenstück sehr stark ähnelt. All diese Funktionen hätte man dem Web noch vor wenigen Jahren gar nicht zugetraut. Doch trotz aller Anstrengungen bleibt eine gewisse Lücke zwischen Webanwendungen und nativen Apps bis heute bestehen.

liebel_fugu_1.tif_fmt1.jpgAbb. 1: Spotify als Progressive Web App: kaum ein Unterschied zum nativen Client

Mission: ein leistungsfähigeres Web

Die drei Chromium-Beitragenden Google, Microsoft und Intel wollen diese Situation nun ändern und haben sich hierfür zum Web Capabilities Project, besser bekannt unter dem Codenamen Project Fugu, zusammengeschlossen. Das Ziel des Projektes ist es, fehlende Features, die Entwickler heute noch davon abhalten könnten, ihre Anwendung als Weblösung zu implementieren, im Web bereitzustellen. Project Fugu APIs sollen, sofern sinnvoll, plattformübergreifend eingesetzt werden können. Insbesondere sollen keine Plattformunterscheidungen erforderlich sein, wie man sie von anderen Cross-Plattform-Ansätzen kennt. Stattdessen muss sich der Webbrowser darum kümmern, die richtige native Schnittstelle aufzurufen. Alle drei Unternehmen haben ein Interesse an mächtigen Webanwendungen: Auf dem quelloffenen Browserunterbau Chromium basieren Googles eigener Webbrowser Chrome und das Betriebssystem Chrome OS, für das sich Progressive Web Apps natürlich hervorragend eignen. Microsoft gab zuletzt die Implementierung einer eigenen Browser-Engine auf, die neue Version von Microsoft Edge basiert ebenfalls auf Chromium. Da der eigene Anwendungsmarktplatz Microsoft Store nie wirklich Fahrt aufgenommen hat, freut man sich über die zusätzliche Anwendungsvielfalt, die Progressive Web Apps bringen. Intel hingegen vertreibt Hardware, und die Nachfrage durch ein stärkeres Web würde gleich auf zwei Seiten steigen: bei Clients und Servern.

Heute sind Entwickler in vielen Fällen dazu gezwungen, Anwendungen nativ zu entwickeln oder auf Wrapper-Ansätze wie Apache Cordova oder GitHubs Electron zurückzugreifen. Diese Projekte verpacken eine Webanwendung i...

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

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang