Umstellung von Chrome-Apps

Migrationsoptionen

Es gibt zwei Hauptoptionen für die Migration aus Chrome-Apps: Webanwendungen und Chrome-Erweiterungen:

Chrome-Apps können in Webanwendungen oder Chrome-Erweiterungen migriert werden

Webanwendungen sind in den meisten Fällen der bevorzugte Pfad. Chrome-Erweiterungen können in einigen Szenarien für Anwendungsfälle verwendet werden, die im Web nicht unterstützt werden, z. B. das Ausführen im Hintergrund ohne Benutzeroberfläche.

Webanwendungen

Die bevorzugte Alternative für die Migration von Chrome-Apps ist das Erstellen einer Webanwendung. So können Sie erweiterte Features wie die des Webfunktionsprojekts nutzen. Die APIs, die Teil des Capabilities-Projekts sind, decken jetzt die meisten Anwendungsfälle ab, die zuvor mit Chrome App APIs erreichbar waren. Die Verwendung dieser Funktionen ist jedoch nicht obligatorisch: Dank der Flexibilität des Webs können Entwickler die Komplexität auswählen, die ihren Anforderungen am besten entspricht.

Vorteile von Webanwendungen

Webanwendungen haben gegenüber Chrome-Apps einige Vorteile:

  • Portabilität: Chrome-Apps können nur in Chrome ausgeführt werden. Webanwendungen werden in den meisten Browsern und Betriebssystemen ausgeführt, allerdings werden unterschiedliche APIs unterschiedlich unterstützt.
  • Entwicklererfahrung:Chrome-Apps nutzen dieselben Technologien wie Webanwendungen (HTML, JavaScript und CSS), aber einige der erweiterten Funktionen von Chrome-Apps (z. B. Hintergrundseiten) sind keine Standardfunktionen und erfordern daher zusätzliche Kenntnisse.
  • Funktionsumfang:Chrome-Apps basieren auf APIs, die nicht mehr gewartet oder mit neuen Funktionen aktualisiert werden. Webanwendungen basieren auf dem offenen Web, das sich ständig weiterentwickelt und Zugriff auf alle aktuellen APIs hat.
  • Installation und Updates:Chrome-Apps erfordern eine manuelle Installation und Aktualisierung und manchmal sind auch Rezensionen im Store erforderlich. Webanwendungen können direkt über einen Browser aufgerufen und optional installiert werden. Updates für Webanwendungen werden sofort nach der Bereitstellung durchgeführt, sobald der Browser die neuen Dateien abruft.
  • Support: Zwar gibt es sowohl für Chrome-Apps als auch für Webanwendungen große Communities, doch die Webplattform ist viel stärker präsent und bietet Entwicklern eine größere Auswahl an Entwicklertools wie Frameworks und Bibliotheken.

Progressive Web-Apps

Progressive Web-Apps (PWAs) sind einfach nur Webanwendungen, die mit modernen APIs erstellt und optimiert werden, um erweiterte Funktionen, Installierbarkeit und Zuverlässigkeit zu bieten. Durch die Implementierung dieser Funktionen können Sie App-ähnliche Erfahrungen im Web realisieren.

Installierbarkeit

PWAs können sowohl auf Desktop- als auch auf mobilen Plattformen installiert werden. Das ist jedoch optional, da auf sie weiterhin direkt über den Browser zugegriffen werden kann. Nutzer, die eine PWA installieren, können sie über Symbole und Verknüpfungen starten. In der Webmanifestdatei Ihrer PWA können Sie Metadaten angeben. So legen Sie fest, dass die App nach der Installation in einem eigenen Fenster geöffnet wird.

Zuverlässigkeit

PWAs können auch unter schwierigen Netzwerkbedingungen konsistent funktionieren. Dies wird durch eine Kernkomponente von PWAs möglich, die als Service Worker bezeichnet werden. Mit Service Workern können Sie Netzwerkanfragen abfangen und im Cache gespeicherte Inhalte bereitstellen, um sicherzustellen, dass die Anwendung offline oder bei schlechter Verbindung funktioniert. Bibliotheken wie Workbox bieten eine Reihe sofort einsatzbereiter Strategien, mit denen Sie gängige Offlinefunktionen implementieren können und so die Entwicklung erheblich vereinfachen.

Erweiterte Funktionen

Mit dem Web Capabilities-Projekt können Webanwendungen viele Anwendungsfälle erfüllen, die in Chrome-Apps implementiert werden können. Das Sicherheitsmodell des Webs birgt jedoch gewisse Einschränkungen. Hier sind einige Beispiele für erweiterte Webfunktionen, die Sie anstelle von vorhandenen Chrome App APIs verwenden können:

  • Bluetooth- und USB-Zugriff:Web Bluetooth und Web USB sind eine Alternative zu chrome.bluetooth bzw. chrome.usb.
  • Dateisystemverwaltung:Die File System Access API ist die Alternative zur chrome.fileSystem API.
  • Tastenkombinationen:Webanwendungen können Tastenkombinationen unterstützen, indem sie verschiedene Schlüsselereignisse erfassen, z. B. keydown. Die Tastenkombinationen, die Sie unterstützen, sind jedoch eingeschränkt. Wenn Ihre Web-App im Vollbildmodus verwendet wird, können Sie diese Systemverknüpfungen mit der Keyboard Lock API abfangen.
  • Nichtflüchtiger Speicher: Die Berechtigung Dauerhafter Speicher in Ihrer Webanwendung kann ähnliche Funktionen bieten wie die Berechtigung unlimitedStorage in Chrome-Apps.
  • Standortbestimmung: Die Geolocation API kann in Webanwendungen verwendet werden, um den Standort eines Nutzers anstelle der Berechtigung zur Standortbestimmung zu ermitteln.
  • Hintergrundverarbeitung: Als Alternative zur Berechtigung background können die Background Sync API und die Periodic Background Sync API verwendet werden.
  • In Zwischenablage kopieren:Mit der Async Clipboard API können Sie sowohl Text als auch Bilder programmatisch kopieren und einfügen.

Chrome-Erweiterungen

Webanwendungen sind die beste Alternative für die Migration von Chrome-Apps. In einigen Fällen können jedoch Chrome-Erweiterungen eine Option sein. Erweiterungen basieren auch auf Webtechnologien (HTML, CSS und JavaScript) und können verwendet werden, um Browserfunktionen hinzuzufügen oder zu ändern und andere Webanwendungen für eine bessere Nutzererfahrung anzupassen.

Eigenständige Erweiterung erstellen

Je nach der gewünschten Nutzererfahrung kann es sinnvoll sein, die Chrome-App in eine Erweiterung zu konvertieren. Sie können z. B. eine Schaltfläche für Browseraktionen bereitstellen, mit der ein kleines Pop-up-Fenster für Ihre Benutzeroberfläche geöffnet oder eine Seite aufgerufen werden kann, die Ihre Erweiterung bereitstellt. Dieses UI-Modell ist möglicherweise besser für Apps geeignet, die den Großteil ihrer Arbeit im Hintergrund ausführen.

Chrome-Erweiterung über eine Webanwendung verbinden

Wenn Ihre Chrome-App Funktionen bietet, die auf der Webplattform nicht verfügbar sind, ist es möglicherweise möglich, eine Chrome-Erweiterung mit einer Webanwendung zu verbinden und ihr Zugriff auf Erweiterungs-APIs zu gewähren.Der Nachteil dieser Methode besteht darin, dass Nutzer / IT-Administratoren zwei verschiedene Teile verwalten müssen (Webanwendung und Companion-Erweiterungen). Dabei ist zu beachten, dass Chrome-Erweiterungen in einigen Browsern nicht ausgeführt werden können. Sie sollten daher ermitteln, wenn die erforderliche Funktionalität nicht verfügbar ist, und Nutzern dieser anderen Browser erklärenden Text zur Verfügung stellen.

Sollte ich eine Webanwendung oder eine Chrome-Erweiterung erstellen?

Eine Webanwendung ist die bevorzugte Technologie für die Migration von Chrome-Apps. Es gibt einige Anwendungsfälle, in denen Chrome-Erweiterungen die bessere Wahl sind. Bevor Sie sich entscheiden, sollten Sie analysieren, welche Option aufgrund verschiedener Faktoren besser geeignet ist:

  • Zweck:Chrome-Erweiterungen werden hauptsächlich dazu verwendet, die Funktionalität des Browsers zu erweitern. Gängige Anwendungsfälle sind unter anderem Produktivitätstools, Anreicherung von Webseiteninhalten und Informationsaggregation. Webanwendungen können ein viel größeres Spektrum an Anwendungsfällen haben, da sie die volle Leistung des Webs nutzen.
  • Nutzererfahrung:Chrome-Erweiterungen haben in der Regel eine eingeschränkte Benutzeroberfläche und sind für die Integration in den Browser konzipiert. Webanwendungen können eine umfangreiche Benutzeroberfläche haben, die wie eine native App aussieht, sich anfühlt und individuell anpassbar ist.
  • Portabilität: Chrome-Erweiterungen sind Chrome-spezifisch. Einige Browser (z. B. Firefox und Edge) unterstützen dieselben Erweiterungs-APIs wie Chrome, diese Unterstützung ist jedoch nicht universell. Webanwendungen werden von allen Browsern unterstützt, auch wenn möglicherweise nicht alle APIs.
  • Auffindbarkeit:Chrome-Erweiterungen müssen installiert werden (z. B. über den Chrome Web Store oder über Selbsthosting) und über die Symbolleiste des Browsers aufgerufen werden. Webanwendungen können sofort über eine URL geladen und von allen Browsern aufgerufen werden. Sie können optional installiert werden, das ist aber nicht obligatorisch.
  • Funktionsumfang:Chrome-Erweiterungen sind über Chrome-APIs umfassend in Chrome integriert. Webanwendungen können bei Aufgaben auf untergeordneter Ebene oder auf Systemebene eingeschränkter sein. Wie besprochen, ist es möglich, eine Erweiterung aus einer Webanwendung aufzurufen, um Zugriff auf APIs zu erhalten, die ausschließlich auf Erweiterungen beschränkt sind.
  • Hintergrundarbeit: Chrome-Erweiterungen können im Hintergrund arbeiten und auch bei geschlossenem Browserfenster ausgeführt werden. Webanwendungen sind dagegen in der Regel für die Ausführung im Vordergrund konzipiert und haben weniger Hintergrundfunktionen, die hauptsächlich aufgrund ihrer Leistung und Zuverlässigkeit genutzt werden.

Migrationsanleitung

Chrome-Apps migrieren

So migrieren Sie von einer Chrome-App zu Webanwendungen oder Chrome-Erweiterungen:

  1. Umfang der App-Funktionalität festlegen:In einigen Fällen wird durch Ihre App vorgegeben, ob Sie sich für eine Webanwendung entscheiden müssen oder nur eine Chrome-Erweiterung erstellen möchten. Wenn beides Ihren Anforderungen entspricht, haben Sie die Wahl. Weitere Informationen über die Vorteile der einzelnen Technologien finden Sie auf der Web Capabilities-Website und in der Referenz zur Chrome Extension API.
  2. Lernen und entwickeln:In den Lernressourcen finden Sie Informationen zu Technologien und zur Einrichtung Ihrer App. Die PWA-Schulungen und die Leitfäden für den Einstieg in Chrome-Erweiterungen sind hervorragende Ressourcen für den Einstieg in jede dieser Technologien.
  3. Testen und vertreiben:Bieten Sie Ihre neue App vor der allgemeinen Einführung einem kleineren Prozentsatz von Nutzern an, um sicherzustellen, dass sie gut funktioniert. Für eine breitere Verbreitung können über den Browser auf Webanwendungen zugegriffen und diese installiert werden. Chrome-Erweiterungen werden in der Regel über den Chrome Web Store vertrieben oder selbst gehostet. Beides kann von Administratoren in verwalteten Szenarien erzwungen werden.

Nutzer migrieren

Unabhängig von der Technologie, die Sie für die Migration von Chrome-Apps ausgewählt haben, müssen Sie Ihre Nutzer auffordern, die aktuelle App zu deinstallieren und sie zur neuen Oberfläche zu führen.

Wir empfehlen Ihnen, Ihre App so zu aktualisieren, dass sie eine Meldung enthält, dass sie eingestellt wurde und Nutzer Ihre Website oder den Chrome Web Store künftig besuchen sollten (siehe folgendes Beispiel). Sie können auch eine Schaltfläche zum Deinstallieren einfügen, über die die Methode uninstallSelf() aufgerufen wird.

Ab Chrome 75 kann die installReplacementWebApp()-Methode innerhalb einer Chrome-App als Reaktion auf einen Klick auf eine Schaltfläche oder eine andere Nutzergeste verwendet werden, um den Installationsablauf für die Ersatz-Webanwendung automatisch auszulösen.

Ersatz für die Chrome App für Google Fotos

Außerdem sollten Sie die Administratoren des Chrome Enterprise-Browsers und ChromeOS Enterprise darüber informieren, dass sie ihre Anwendungsrichtlinien für ihre Organisationen aktualisieren müssen. Bei in Enterprise und Education verwalteten Nutzern wird häufig die Installation ihrer Anwendungen und Erweiterungen über eine Verwaltungsrichtlinie erzwungen. Entwickler sollten Administratoren bitten, ihre ExtensionInstallForcelist-Richtlinie (zur Installation von Chrome-Apps) zu aktualisieren und durch die WebAppInstallForceList-Richtlinie durch die URL Ihrer Web-App zu ersetzen.

Erweiterung für die Admin-Konsole und Richtlinie für die erzwungene Installation von Web-Apps.

Support

Wenn Sie technische Fragen haben, finden Sie hier einige Ressourcen, über die Sie Unterstützung erhalten können: