Google-Projekt Fugu: Die Macht des Kugelfisches

ÜberKreuz  –  44 Kommentare

Unter dem Codenamen Fugu plant Google die Einführung zahlreicher Webschnittstellen in seinem Webbrowser Chrome, welche die Lücke zwischen Progressive Web Apps und ihren nativen Gegenstücken schließen wollen.

Progressive Web Apps sind ein mächtiges, plattformübergreifendes Anwendungsmodell. Sie haben aber eine wichtige Einschränkung: Entwickler können nicht auf beliebige native Schnittstellen zugreifen, sondern lediglich auf Funktionen, für die auch eine Webschnittstelle zur Verfügung steht.

Der Zugriff auf das native Dateisystem, das Adressbuch oder eigene Kommandos für die Touchbar auf einem MacBook – das sind Beispiele für Schnittstellen, die native Anwendungen problemlos nutzen können. Für Progressive Web Apps stellt sich der Zugriff auf diese Funktionen jedoch schwieriger dar. Da diese letztlich nur Webseiten mit gewissen Extras sind, muss es eine passende (plattformübergreifende) Webschnittstelle geben. Innovationen spielen sich daher oft zunächst im Bereich nativer Anwendungen ab, ehe irgendwann eine passende Web-API bereitgestellt wird.

Im Rahmen des Google-Projekts mit dem Codenamen Fugu, japanisch für Kugelfisch, soll der Abstand zu nativen Anwendungen aber rasch aufgeholt werden. Mit dem Tag proj-fugu sind alle Tickets im Issue-Tracker von Chromium markiert, welche die Lücke zwischen nativen Apps und PWAs im Browser-Unterbau von Google Chrome, Opera, Vivaldi und bald Microsoft Edge schließen wollen. Dort finden sich mehr oder weniger weit vorangeschrittene Ideen wie:

  • Shape Detection API: Barcodes, Gesichter oder Text in Bildern oder Videoaufnahmen erkennen.
  • Wake Lock API: verhindert, dass der Bildschirm automatisch abgeschaltet wird.
  • Writeable Files API: erlaubt Zugriff auf einen vom Nutzer gewählten Teilbereich des nativen Dateisystems.
  • Contacts Picker: erlaubt Zugriff auf einen vom Benutzer ausgewählten Kontakt.
  • Badging API: Zugriff auf das Notification-Badge des App-Icons.
  • Web NFC: Zugriff auf die NFC-Schnittstelle.
  • Geofencing: Aktionen beim Betreten bestimmter Gebiete auslösen.
  • Geplante Aufgaben: Benachrichtigungen wie Kalenderereignisse vorplanen.
  • Zugriff auf das System-Tray.
  • Zugriff auf die Touchbar.
  • PWA beim Systemstart ausführen.
  • Drücken der Lautstärketasten erkennen oder abgreifen.
  • Externe Anwendungen starten.

Auch in der Google-Entwicklerdokumentation lässt sich die ein oder andere Schnittstelle aus Project Fugu finden – dort werden die am weitesten vorangeschrittenen Schnittstellen unter dem Namen Capabilities zusammengefasst, also Fähigkeiten. Bereits fertiggestellt ist die Web Share Target API, über die sich eine Webanwendung als Ziel für eine Teilen-Operation registrieren kann.

Je nach Schnittstelle muss zwar noch ein langer Weg beschritten werden, von der Spezifikation über die Implementierung bis hin zu einer breiten Verfügbarkeit in den unterschiedlichen Webbrowsern. Project Fugu beziehungsweise Capabilities zeigen aber, dass Google weiterhin eine eindeutige Mission verfolgt: ein noch nativeres Web und noch leistungsfähigere Progressive Web Apps.