Einstellung und Entfernung von Funktionen in Chrome

Hier erfahren Sie, wie Chrome Funktionen entfernt, die nicht gut funktionieren, und dabei Unterbrechungen für Endnutzer und Entwickler minimiert.

Chrome erhält ständig neue Funktionen, aber manchmal müssen Funktionen entfernt werden.

Durch das Entfernen von Funktionen kann die Komplexität des Browser-Quellcodes verringert werden. Außerdem können Browser so sicherer gemacht werden, da potenzielle Angriffsvektoren reduziert werden. Ein sorgfältig koordinierter Ansatz auf der gesamten Webplattform sorgt dafür, dass Browseranbieter Plattformfunktionen entfernen können, die nicht gut funktionieren, und gleichzeitig Unterbrechungen für Endnutzer und Entwickler minimieren.

Entfernung von Browserfunktionen

Wenn Browser Funktionen ohne Vorwarnung entfernen würden, würden Websites nicht mehr funktionieren und es wäre für Entwickler schwierig, die Migration zu alternativen Technologien zu planen. Stattdessen gehen Browseranbieter systematisch vor und stellen Warnungen, Supportressourcen und detaillierte Zeitpläne rechtzeitig vor dem Entfernen von Funktionen bereit.

Einstellung und Entfernung

Das Entfernen einer Funktion aus Chrome erfolgt in zwei Hauptphasen:

  • Einstellung:Entwickler werden darüber informiert, dass eine Funktion entfernt werden soll, und es werden Ressourcen bereitgestellt, um Websites bei der Migration zu Alternativen zu unterstützen. Warnungen werden im Bereich „Probleme“ der Chrome-Entwicklertools angezeigt, wenn eingestellte Funktionen verwendet werden. Informationen zu Zeitplänen und Support für die Einstellung werden auf Chrome Platform Status und in Chrome for Developers-Artikeln und Blogposts veröffentlicht.
  • Entfernung: Deaktivieren Sie die Funktion anfangs standardmäßig, erlauben Sie Entwicklern aber, sie vorübergehend weiter zu verwenden, indem sie ein Chrome-Flag festlegen oder an einem Test zur Einstellung teilnehmen. Sobald die Websites nicht mehr auf die deaktivierte Funktion angewiesen sind, entfernen Sie den Code.

Webbrowser, die auf Chromium basieren, z. B. Chrome, verwenden die Blink-Rendering-Engine, um Code und Ressourcen in Webseiten umzuwandeln, die Sie ansehen und mit denen Sie interagieren können. Wenn Entwickler Änderungen an Blink vornehmen möchten, posten sie auf der blink-dev-Mailingliste, um die Genehmigung für das weitere Vorgehen zu erhalten. Diese Mailinglistenbeiträge werden als Blink Intents bezeichnet.

Wenn Entwickler eine Funktion aus Blink einstellen und dann entfernen möchten, posten sie eine „Intent to Deprecate“-Nachricht auf der blink-dev-Mailingliste, gefolgt von einer „Intent to Remove“-Nachricht. Die beiden Intents werden oft als Intent to Deprecate and Remove (Absicht zur Einstellung und Entfernung) kombiniert.

Einstellung geplant

Eine Absicht zur Einstellung wird von Blink-Entwicklern veröffentlicht, wenn sie Entwickler darauf hinweisen möchten, dass eine Browserfunktion entfernt werden soll. Zu diesem Zeitpunkt ist die Funktion weiterhin verfügbar, aber Entwickler erhalten Unterstützung und Informationen von den Chrome-Entwicklertools sowie in Blogposts, auf chromestatus.com und in der Funktionsdokumentation auf MDN und an anderen Stellen.

Beispiel: Voraussichtliche Einstellung: Mutation Events

Absicht zur Entfernung

Eine „Intent to Remove“-Mitteilung wird veröffentlicht, wenn Blink-Entwickler eine Funktion deaktivieren und den zugehörigen Code entfernen möchten. Ein Intent to Remove wird oft mit einem Intent to Deprecate kombiniert, z. B. als Intent to Deprecate and Remove.

Beispiel: Einstellen und Entfernen geplant: Web SQL

Störungen für Nutzer und Entwickler minimieren

Chrome vermeidet es, Funktionen zu entfernen, wann immer möglich.

Chrome-Entwickler prüfen immer die Nutzungsraten von Funktionen und andere Daten, bevor sie mit der Einstellung fortfahren. Eine Funktion wird nur entfernt, wenn sie beispielsweise nur von einem sehr kleinen Teil der Nutzer verwendet wird und bessere Alternativen verfügbar sind oder wenn Ökosystemänderungen dazu führen, dass die Funktion jetzt schwerwiegende Sicherheitslücken aufweisen kann. Eine Funktion wird normalerweise nicht aus Chrome entfernt, wenn andere Browser sie weiterhin unterstützen möchten. Die Entfernung von Funktionen muss zwischen Browser-Engines abgestimmt werden.

Neben den Intent-Beiträgen auf der blink-dev-Mailingliste werden Einstellungen auch im Chrome-Entwicklerblog angekündigt. Warnungen und Supportinformationen sind auch in den Chrome-Entwicklertools und in der Dokumentation zu den Funktionen verfügbar. Zeitpläne werden auch im chromestatus.com-Eintrag für eine eingestellte Funktion veröffentlicht.

Nicht mehr unterstützte Funktion vorübergehend wieder aktivieren

Es gibt mehrere Möglichkeiten, wie Sie vorübergehend weiterhin auf eine Funktion zugreifen können, nachdem die Unterstützung für diese Funktion standardmäßig aus Chrome entfernt wurde.

  • Testlauf für die Einstellung
    Dies ist eine Art Ursprungstestlauf, mit dem eine Funktion, die vor der Entfernung geändert oder standardmäßig deaktiviert wurde, vorübergehend wieder aktiviert werden kann. Beispiel: Die Unterstützung für Mutationsereignisse wurde ab Chrome 127 entfernt. Websites, die mehr Zeit für die Migration von diesen Ereignissen benötigten, konnten sich für den Test zur Einstellung registrieren, um die Ereignisse auf bestimmten Websites vorübergehend wieder zu aktivieren. So hatten Entwickler mehr Zeit, alternative Lösungen zu implementieren.

  • Chrome Enterprise-Richtlinie
    Manchmal wird eine Richtlinie zur Verfügung gestellt, mit der Websites eine eingestellte und entfernte Funktion vorübergehend wieder aktivieren können. Für Chrome-Versionen 124 bis 136 wurde beispielsweise eine MutationEventsEnabled Richtlinie bereitgestellt.

  • Chrome-Flag
    Für einige eingestellte Funktionen bietet ein Chrome-Flag vorübergehenden Zugriff auf die Funktion für die lokale Entwicklung. So wurde beispielsweise das Flag enable-unsafe-swiftshader bereitgestellt, damit Entwickler die Verwendung von SwiftShader als Fallback für Software-WebGL wieder aktivieren können.

Maßnahmen ergreifen

Als Entwickler müssen Sie auf Änderungen an der Webplattform vorbereitet sein.

Sie können die Versionshinweise für jede neue Version jedes Browsers lesen. Sie sollten aber auch Vorabversionen von Browsern verwenden, um Ihre Websites zu testen und anzupassen, damit sie für anstehende Änderungen, einschließlich Entfernungen, bereit sind. Ihr Entwicklungsteam sollte mindestens sowohl den Chrome-Entwicklerkanal als auch die stabile Chrome-Version verwenden, um auf die Websites zuzugreifen, an denen Sie arbeiten. Als Entwickler können Sie mehrere Channels gleichzeitig ausführen. So können Sie Ihre Website mit zukünftigen Chrome-Versionen testen und sie in Chrome Stable aufrufen, dem Kanal, der wahrscheinlich von der überwiegenden Mehrheit Ihrer Nutzer verwendet wird.

Sehen Sie regelmäßig in der Chrome-Entwicklertools-Konsole nach, ob es Einstellungswarnungen gibt. DevTools bietet Informationen und Links zu Ressourcen, die Ihnen bei der Migration von eingestellten Funktionen helfen. Außerdem sollten Sie mehrere Chrome-Channels für automatisierte und manuelle Tests verwenden.

Weitere Informationen