Wenn Entwickler eine Änderung an der Blink-Rendering-Engine vornehmen möchten, posten sie auf der Mailingliste blink-dev , um die Genehmigung für die Fortsetzung zu erhalten. Diese Mailinglistenbeiträge werden als Blink Intents bezeichnet.
Chromium-basierte Webbrowser verwenden die Blink-Rendering-Engine, um Code und Ressourcen in Webseiten umzuwandeln, die Sie ansehen und mit denen Sie interagieren können.
Hier erfahren Sie, wie Blink Intents funktionieren, warum sie wichtig sind und wie neue Funktionen in Blink eingeführt werden.
Chromium und Blink
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 eingeführt 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 sein, die sich auf das Aussehen oder die Funktionsweise des Browsers auswirkt.
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, das breitere Web-Ökosystem einzuladen, Design und Implementierung zu kommentieren.
Neue Funktionen müssen nach Möglichkeit auf der gesamten Webplattform interoperabel sein und 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 Änderungsprozess zu strukturieren und zu regulieren, um Änderungen vorhersehbarer zu machen und Überraschungen zu vermeiden. Das ist gut für Webentwickler.
Browseranbieter müssen darauf achten, dass Änderungen nicht dazu führen, dass Websites nicht mehr funktionieren. Websiteinhaber stellen die Wartung von Websites oft 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 Stakeholder 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. Entwickler teilen Dokumente, um Feedback von ihren Kollegen zu erhalten und sich mit ihnen auszutauschen.
Beispiel: FedCM
Federated Credential Management (FedCM) ist eine API, die einen datenschutzorientierten und nutzerfreundlichen Ansatz für die Registrierung und Anmeldung von Nutzern bietet, der als föderierte Identität bezeichnet wird. Das gilt beispielsweise für Mit Google anmelden und andere soziale Anmeldungen.
Um eine Browser-API zu erstellen, muss zuerst ein Vorschlag für die öffentliche Diskussion vorbereitet werden. Der Vorschlag für FedCM wurde auf GitHub als Erläuterung veröffentlicht. Jeder kann Fragen stellen oder die Funktionsdesigns kommentieren, indem er ein GitHub-Problem im Erläuterungs-Repository erstellt. Das Feedback kann Entwicklerbeschreibungen zusätzlicher Anwendungsfälle, Einschränkungen, Ideen zur Verbesserung oder eine Zusage der Unterstützung enthalten.
Sobald ein Vorschlag von einer Standardisierungsorganisation wie dem W3C angenommen wurde, können Stakeholder an Diskussionen teilnehmen und sich Präsentationen in Webstandardgruppen wie den W3C Working Groups ansehen.
Blink Intents: Meilensteine und Fortschritt
Für jeden Meilenstein, bei dem Entwickler an einer neuen Funktion oder einer Änderung an 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 von 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.
Intent to Prototype
An diesem Punkt können Chromium-Entwickler mit der Implementierung einer Funktion beginnen. Das bedeutet, dass die Prototypfunktion für die Funktion möglicherweise für Entwicklertests hinter einem Feature Flag verfügbar gemacht wird, zunächst in Chrome Canary und dann in anderen Release-Versionen. 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 auf der Seite chrome://flags festgelegt werden. Für eine genauere Steuerung können Sie Chrome über ein Terminal mit Befehlszeilen-Flags ausführen. Beachten Sie, dass einige neue Funktionen erst verfügbar sind, wenn die Funktion in Chrome Canary zum Testen ausgeliefert wird. Das ist jedoch eher selten. Einige Funktionen haben kein eigenes Flag, sind aber verfügbar, wenn das experimental-web-platform-features Flag aktiviert ist. Das ist in der Regel bei „kleineren“ Funktionen der Fall, deren Implementierung höchstens drei bis sechs Monate dauert.
Feedback zu Prototypen einholen
Sobald die Prototyperstellung einer neuen Funktion begonnen hat, laden Chromium-Entwickler zur Diskussion und zu frühen Tests ein. Feedback ist an diesem Punkt entscheidend, um Vorschläge zu validieren und zu iterieren. In Chromium Bugs können Sie die Implementierung in Chrome kommentieren.
Intent to Experiment: Tests unter realen Bedingungen
Ein Beitrag vom Typ „Intent to Experiment“ auf blink-dev ist ein optionaler nächster Schritt, wenn Chrome Entwickler einen Ursprungstest anfordern möchten.
Ursprungstests sind eine Möglichkeit, eine neue oder experimentelle Funktion der Webplattform zu 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, die das Token bereitstellt.
Genehmigung von Blink API-Eigentümern
Damit die Implementierung einer Funktion fortgesetzt werden kann, müssen die Blink API Eigentümer ihre Genehmigung erteilen, indem sie auf einen Intent mit einem Beitrag vom Typ „Looks good to me“ (LGTM) antworten.
Die Blink API-Eigentümer sind eine kleine Gruppe von Chromium-Mitwirkenden, die über umfassende Erfahrung mit der Webplattform und ihren APIs verfügen und von der Blink-Community als zuverlässig und engagiert für die Mission und Werte von Blink anerkannt werden. Die API-Eigentümer erteilen nicht nur die Genehmigung (oder nicht) für die Implementierung von Funktionen, sondern beaufsichtigen auch den Blink Intent-Prozess selbst.
Ein Intent to Experiment muss mindestens eine LGTM von API-Eigentümern erhalten.
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, um die Funktion zu aktivieren. Entwickler können die Ergebnisse ihrer Tests teilen. Das liefert wertvolle Informationen und Daten, um die Funktion zu iterieren und weiterzuentwickeln.
Intent to Ship: Der letzte Meilenstein
Der Intent to Ship signalisiert, dass eine Funktion jetzt fertig ist und für die allgemeine Verfügbarkeit implementiert werden kann, für alle Nutzer in Chrome (stabile Version), ohne dass ein Flag oder ein Testtoken erforderlich ist. Ein Intent to Ship muss drei LGTMs von API-Eigentümern erhalten, bevor die Implementierung fortgesetzt werden kann.
Neue Funktionen einführen
Nach der Genehmigung wird eine Funktion in eine bevorstehende Version aufgenommen und durchläuft dann die Chrome-Release-Versionen. Tests und Implementierung neuer Funktionen werden oft mit besonderer Sorgfalt behandelt. Einige Funktionen werden schrittweise für einen immer größeren Anteil der Nutzer eingeführt. Funktionen können auch zurückgesetzt und überarbeitet werden, wenn unerwartete Nebenwirkungen auftreten.
Veraltung und Entfernung verwalten
Es gibt zwei weitere Arten von Blink Intents:
- Intent to Deprecate
- Intent to Remove
Das klingt vielleicht etwas traurig, ist aber entscheidend für den Erfolg der Blink-Entwicklung.
Ein Intent to Deprecate wird von Entwicklern gepostet, wenn sie Entwickler warnen möchten, dass eine Funktion veraltet ist. Sie können beispielsweise in der Chrome-Entwicklertools-Konsole Unterstützung und Informationen zur Veraltung bereitstellen.
Ein Intent to Remove wird gepostet, wenn Entwickler möchten, dass Code standardmäßig deaktiviert wird.
Die Bedeutung von Veraltung und Entfernung
Veraltung und Entfernung sind beide entscheidend für die Funktionsfähigkeit der Webplattform. So kann Chrome Funktionen entfernen, die für Endnutzer oder Webentwickler nicht gut funktionieren, und die Komplexität der Codebasis reduzieren. Probleme mit dem Design von AppCache wurden beispielsweise erst entdeckt, als es auf Produktionswebsites in stabilen Browsern verwendet wurde. Die API wurde schließlich entfernt. Veraltungen und Entfernungen tragen auch dazu bei, Chrome sicher zu halten, indem potenzielle Angriffsvektoren reduziert werden.
Wie bei allen Blink Intents bemüht sich das Chrome-Team, Entscheidungen sorgfältig zu treffen. Sie überprüfen die Nutzungsraten von Funktionen und andere Daten, bevor sie fortfahren. Die Anforderungen für das Entfernen von Funktionen sind sehr hoch. Eine Funktion wird nur entfernt, wenn sie von einem sehr kleinen Teil der Nutzer verwendet wird und bessere Alternativen verfügbar sind.
Mit Blink Intents auf dem Laufenden bleiben
Sie können den Fortschritt von Funktionen auf Chrome Status verfolgen. Dort können Sie Updates abonnieren, Fehler melden und andere Ressourcen finden.
Wenn Sie neue Funktionen verfolgen möchten, folgen Sie dem Chromium-Blog und treten Sie der Diskussionsgruppe blink-dev bei. Die Gruppe kann zu vielen E-Mails führen. Daher ist es möglicherweise besser, einen einzelnen Intent zu abonnieren. Sie können eine Tabelle mit Blink Intents aufrufen.
Wenn Sie wirklich Blink Intents mögen, können Sie sogar auf den automatisierten Blink Intent Tracker-Diensten aufbauen.
Nächste Schritte
Weitere Informationen finden Sie unter Was sind Chrome-Release-Versionen?.