Was sind Blink-Intents?

Wenn Entwickler eine Änderung an der Blink-Rendering-Engine 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.

Webbrowser, die auf Chromium basieren, verwenden die Blink-Rendering-Engine, um Code und Ressourcen in Webseiten umzuwandeln, die Sie aufrufen und mit denen Sie interagieren können.

Die blink-dev-Mailingliste.

Hier erfahren Sie, wie Blink Intents funktionieren, warum sie wichtig sind und wie neue Funktionen in Blink eingeführt werden.

Chromium ist das Open-Source-Browserprojekt, auf dem Chrome und einige andere Browser und Frameworks basieren. Blink ist die Rendering-Engine, die von Chromium verwendet wird.

Damit eine neue Funktion in Blink aufgenommen werden kann, muss sie den offenen Entwicklungsprozess des Chromium-Projekts durchlaufen. Eine „neue Funktion“ ist jede Änderung oder Ergänzung des Browsercodes oder der Browserarchitektur. Das kann eine neue JavaScript API, eine erhebliche Leistungssteigerung im Blink-Code oder eine andere Änderung der Darstellung oder Funktionsweise des Browsers sein.

Ein offener und gemeinschaftlicher Prozess

Chromium ist ein riesiges, komplexes Projekt mit Tausenden von Mitwirkenden. Bei Änderungen an Chromium bietet jeder Meilenstein die Möglichkeit, die Web-Community um Feedback zu Design und Implementierung zu bitten.

Neue Funktionen müssen nach Möglichkeit auf der gesamten Webplattform interoperabel sein und dürfen nicht nur in einem Browser implementiert werden. Webentwickler mögen keine Überraschungen, wenn Browser nicht wie erwartet funktionieren oder wenn sie unterschiedlichen Code für verschiedene Browser und Plattformen schreiben müssen. Blink Intents helfen, den Prozess der Änderung zu strukturieren und zu regulieren, um Änderungen vorhersehbarer und weniger überraschend zu machen, was für Webentwickler von Vorteil ist.

Browseranbieter müssen darauf achten, dass Änderungen nicht dazu führen, dass Websites nicht mehr funktionieren. Websiteinhaber stellen die Wartung von Websites häufig ein. Einige Websites wurden seit Jahrzehnten nicht mehr aktualisiert. Browseranbieter müssen dies berücksichtigen, wenn sie Änderungen vornehmen, die zu Problemen führen könnten.

Von der Idee zum Vorschlag

Vorschläge für Änderungen und Aktualisierungen der Webplattform basieren auf Recherchen, bei denen Nutzer, Unternehmen, Browserentwickler, Webentwickler und andere Beteiligte befragt werden. So kann das Chrome-Team herausfinden, was auf der Plattform fehlt oder was geändert werden muss. Anfangs ist ein Vorschlag für eine Änderung oder eine neue Funktion auf der Webplattform nur Text auf einer Seite. Ingenieure geben Dokumente für Feedback und Diskussionen mit ihren Kollegen frei.

Beispiel: FedCM

Federated Credential Management (FedCM) ist eine API, die neue und bessere Mechanismen für Plattformen bietet, die die Registrierung und Anmeldung von Nutzern verwalten, auch bekannt als föderierte Identität. Das ist beispielsweise der Fall, wenn Sie „Mit Google anmelden“ oder „Mit GitHub anmelden“ auswählen.

Sobald ein Vorschlag wie FedCM für die öffentliche Diskussion bereit ist, wird er als Erklärung auf GitHub veröffentlicht. An diesem Punkt kann jeder eine Frage stellen oder das Design einer Funktion kommentieren, indem er ein Problem im Explainer-Repository auf GitHub erstellt. Feedback kann zusätzliche Anwendungsfälle oder Einschränkungen beschreiben, Ideen für Verbesserungen liefern oder einfach nur Unterstützung zeigen.

Die FedCM-Erläuterung auf GitHub.

Sobald ein Vorschlag von einem Standardisierungsgremium wie dem W3C angenommen wird, können Stakeholder an Diskussionen teilnehmen und sich Präsentationen in Webstandardsgruppen wie den W3C Working Groups ansehen.

Für jeden Meilenstein, wenn Entwickler an einer neuen Funktion oder einer Änderung der Blink-Rendering-Engine arbeiten, veröffentlichen sie einen Beitrag in der Diskussionsgruppe blink-dev, in dem sie erklären, dass sie zur nächsten Phase der Implementierung einer Funktion übergehen möchten. Diese Beiträge werden als „Intents“ bezeichnet. Jeder kann die blink-dev-Gruppe abonnieren, um benachrichtigt zu werden, wenn es Fortschritte bei neuen Funktionen in Blink gibt, oder eine einzelne Funktion abonnieren, um Updates zu erhalten.

Absicht, einen Prototyp zu erstellen: Der erste Checkpoint

An diesem Punkt können Chromium-Entwickler mit der Implementierung einer Funktion beginnen. Das bedeutet, dass Prototypfunktionen für das Feature möglicherweise für Entwicklertests hinter einem Feature-Flag verfügbar gemacht werden, zuerst in Chrome Canary und dann in anderen Release-Channels. Jeder Nutzer kann auf der Seite „chrome://flags“ ein Flag festlegen, um eine Funktion in seinem Browser zu aktivieren und zu testen.

Allerdings können nicht alle Flags über die Seite „chrome://flags“ festgelegt werden. Wenn Sie mehr Kontrolle benötigen, können Sie Chrome über ein Terminal mit Befehlszeilenflags ausführen. Einige neue Funktionen sind erst verfügbar, wenn sie in Chrome Canary zum Testen eingeführt werden. Das ist jedoch eher selten. Einige Funktionen haben kein eigenes Flag, sind aber verfügbar, wenn das Flag experimental-web-platform-features aktiviert ist. Das ist in der Regel bei „kleineren“ Funktionen der Fall, deren Implementierung maximal drei bis sechs Monate dauert.

Feedback zu Prototypen einholen

Sobald das Prototyping einer neuen Funktion begonnen hat, laden Chromium-Entwickler zu Diskussionen und ersten Tests ein. Feedback ist in dieser Phase entscheidend, um Vorschläge zu validieren und zu optimieren. Chromium-Fehler ist der richtige Ort, um die Implementierung in Chrome zu kommentieren.

Erstellen Sie ein Problem im Chromium Issue Tracker.

Absicht, Tests in der realen Welt durchzuführen

Ein „Intent to Experiment“-Beitrag auf blink-dev ist ein optionaler nächster Schritt, wenn Chrome-Entwickler einen Ursprungstest durchführen möchten.

Absicht, FedCM zu testen

Mit Ursprungstests können Sie eine neue oder experimentelle Webplattformfunktion testen. Sie registrieren sich für den Ursprungstest einer Funktion und erhalten dann ein Token für den Test. Die Funktion wird auf jeder Seite aktiviert, auf der das Token bereitgestellt wird.

Eine Liste der verfügbaren Chrome-Ursprungstests.

Damit die Implementierung einer Funktion voranschreiten kann, müssen die Blink API-Inhaber ihre Zustimmung geben, indem sie auf eine Absichtserklärung mit einem „looks good to me“-Beitrag (LGTM) antworten.

Die Blink API Owners sind eine kleine Gruppe von Chromium-Beitragenden, die sehr viel Erfahrung mit der Webplattform und ihren APIs haben und von der Blink-Community als vertrauenswürdig eingestuft werden. Sie haben sich zur Mission und den Werten von Blink verpflichtet. Die API-Inhaber genehmigen (oder lehnen ab), dass Funktionen in die Implementierungsphase übergehen, und überwachen den Blink Intent-Prozess selbst.

Für eine „Intent to Experiment“-Anfrage muss mindestens ein „Looks Good To Me“ (LGTM) von API-Eigentümern eingehen.

LGTMs on FedCM Intent to Experiment post.

Der Wert von Ursprungstests

Entwickler können sich für den Ursprungstest einer Funktion registrieren und sie dann in der Produktion in realen Umgebungen mit echten Nutzern testen, ohne dass Nutzer Maßnahmen ergreifen müssen, damit die Funktion aktiviert wird. Entwickler können die Ergebnisse ihrer Tests teilen. Das liefert wertvolle Informationen und Daten, die helfen, die Funktion zu optimieren und weiterzuentwickeln.

Versandabsicht: Der letzte Meilenstein

Die Absicht zur Einführung signalisiert, dass eine Funktion jetzt fertig ist und für die allgemeine Verfügbarkeit für alle Nutzer in der stabilen Chrome-Version implementiert werden kann, ohne dass ein Flag oder ein Test-Token erforderlich ist. Eine „Intent to Ship“-E-Mail muss drei LGTMs von API-Inhabern erhalten, bevor die Implementierung fortgesetzt werden kann.

Einführung neuer Funktionen

Nach der Genehmigung wird eine Funktion in eine bevorstehende Version aufgenommen und durchläuft dann die Chrome-Release-Versionen. Das Testen und Implementieren neuer Funktionen erfolgt oft mit besonderer Sorgfalt. Einige Funktionen werden nach und nach für einen immer größeren Anteil der Nutzer eingeführt. Funktionen können auch zurückgenommen und überarbeitet werden, wenn unerwartete Nebenwirkungen auftreten.

erfahren Sie mehr über Best Practices für Webtests.

Lebenszyklus von Funktionen verwalten: Einstellung und Entfernung

Es gibt zwei weitere Arten von Blink-Intents:

  • Absicht zur Einstellung
  • Entfernungsabsicht

Das klingt vielleicht ein bisschen traurig, aber es ist tatsächlich entscheidend für den Erfolg der Blink-Entwicklung.

Eine Absicht zur Einstellung wird von Entwicklern veröffentlicht, wenn sie Entwickler darauf hinweisen möchten, dass eine Funktion eingestellt werden soll. So werden beispielsweise Support und Informationen zur Einstellung in der Chrome-Entwicklertools-Konsole bereitgestellt.

Eine Absicht zum Entfernen wird veröffentlicht, wenn Entwickler beabsichtigen, dass Code standardmäßig deaktiviert wird.

LGTMs on Intents to Deprecate on blink.dev.

Bedeutung der Einstellung und Entfernung

Sowohl die Einstellung als auch die Entfernung sind entscheidend für die Gesundheit der Webplattform. So kann Chrome Funktionen entfernen, die für Endnutzer oder Webentwickler nicht gut funktionieren, und die Komplexität des Quellcodes wird reduziert. So wurden beispielsweise Probleme mit dem Design von AppCache entdeckt, als es auf Produktionswebsites in stabilen Browsern verwendet wurde. Die API wurde schließlich entfernt. Durch die Einstellung und Entfernung von Funktionen wird auch die Sicherheit von Chrome verbessert, da potenzielle Angriffsvektoren reduziert werden.

Wie bei allen Blink-Intents bemüht sich das Chrome-Team, Entscheidungen sorgfältig zu treffen. Sie prüfen die Nutzungsraten von Funktionen und andere Daten, bevor sie fortfahren. Die Hürde für das Entfernen von Funktionen ist sehr hoch. Eine Funktion wird nur entfernt, wenn sie von einem sehr kleinen Teil der Nutzer verwendet wird und bessere Alternativen verfügbar sind.

Den Fortschritt von Funktionen können Sie auf Chrome Status verfolgen. Dort können Sie Updates abonnieren, Fehler melden und weitere Ressourcen finden.

Roadmap für Chrome-Funktionen auf chromestatus.com.

Wenn Sie über neue Funktionen auf dem Laufenden bleiben möchten, können Sie den Chromium-Blog abonnieren. Wenn Sie über alle Blink-Intents auf dem Laufenden bleiben möchten, können Sie der blink-dev-Diskussionsgruppe beitreten. Das kann zu einer Menge E‑Mails führen. Alternativ können Sie auch nur einen einzelnen Intent abonnieren. Eine Tabelle mit Blink-Intents finden Sie unter bit.ly/blinkintents. Wenn Sie Blink Intents wirklich mögen, können Sie sogar auf den automatisierten Blink Intent Tracker-Diensten aufbauen.

Nächste Schritte

Weitere Informationen finden Sie im Hilfeartikel Was sind Chrome-Release-Versionen?.