Browser-Engine-Vielfalt

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Wir haben Opera verloren, als sie 2013 zu Chrome wurden. Dasselbe gilt für Edge, als es Anfang dieses Jahres ebenfalls zu Chrome wurde. Mike Taylor nannte diese Änderungen in einem Vortrag, den ich gerne sehen würde, eine „abnehmend vielfältige Browser-Engine-Welt“.

Übrig bleiben uns also nur Chrome-Sachen, Firefox-Sachen und Safari-Sachen. Chrome und Safari haben dieselbe Abstammung, haben sich aber so weit auseinanderentwickelt, sich so unterschiedlich entwickelt und sind so voneinander abgeschottet, dass es sinnvoll ist, sie als voneinander verschieden zu betrachten.

Ich weiß, dass es dafür schickere Wörter gibt. Zum Beispiel haben Browser-Engines selbst Namen, die sich von den Namen der Browser unterscheiden.

Nehmen wir Chrome, das auf dem Open-Source-Projekt Chromium basiert, das die Rendering-Engine Blink und die JavaScript-Engine V8 verwendet.

Firefox verwendet Gecko als Browser-Engine, die sich zu Quantum entwickelt, welches Unterteile wie Servo für CSS und Rendering hat.

Safari verwendet WebKit als Browser-Engine, die Teile wie WebCore und JavaScriptCore hat.

Das ist alles irgendwie kompliziert und ich bin mir nicht einmal sicher, ob ich es ganz verstehe. Mein Gehirn denkt einfach, dass alles unter dem Schirm des Hauptbrowsers zusammengefasst ist.

Die zwei Extreme, wenn man dies aus der Perspektive abnehmender Vielfalt betrachtet

  • Das ist schlecht. Abnehmende Vielfalt kann Ökosysteme daran hindern, zu konkurrieren und innovativ zu sein.
  • Das ist gut. Probleme zwischen Engines sind ein großer Produktivitätsverlust für die Welt. Es wäre noch besser, auf ein einziges Ökosystem zu kommen.

Was auch immer es ist, das Schiff ist abgefahren. Wir können nur nach vorne schauen.

Zufällige Gedanken

  • Vielleicht hat sich die Vielfalt einfach verschoben. Anstatt dass die Browser-Engines selbst Vielfalt darstellen, können vielleicht *Forks* der verbleibenden Engines gegeneinander konkurrieren. Vielleicht ist es ein guter Startpunkt für Innovation, von einer starken Grundlage auszugehen?
  • Wenn wir, Gott bewahre, auf eine einzige Browser-Engine reduziert würden, was passiert dann mit dem Web-Standards-Prozess? Die Befürchtung wäre, dass die letzte verbleibende Engine sich nicht mehr um Interoperabilität kümmern muss und mit Implementierungen wild um sich greift. Aber bedeutet wildes Umgreifen, dass das Spielfeld nie wieder wettbewerbsfähig sein kann?
  • Es ist großartig, wenn Browser um Funktionen konkurrieren, die für Benutzer großartig sind, aber Web-Standards nicht betreffen. Großartige Passwort-Manager, Funktionen zum Schutz des Benutzers, clevere Lesezeichen-Ideen, Lese-Modi, saubere Integrationen mit Zahlungs-APIs, kostenlose VPNs usw. Das war der Ansatz von Opera, und jetzt sehen wir viele weitere in die gleiche Richtung. Vivaldi setzt auf Anpassung, Brave setzt auf Datenschutz und Sicherheit, und Puma auf Monetarisierung.

Brian Kardell hat kürzlich über einige dieser Dinge in seinem Beitrag „Beyond Browser Vendors“ geschrieben. Ein interessanter Punkt ist, dass die verbleibenden Browser-Engines alle Open Source sind. Das bedeutet, dass sie externe Beiträge erhalten können und auch erhalten, was genau der Grund ist, warum CSS Grid entstanden ist.

Die meiste Arbeit an CSS Grid sowohl in WebKit als auch in Chromium (Blink) wurde nicht von Google oder Apple geleistet, sondern von Teams bei Igalia.

Denken Sie eine Minute darüber nach: Die Priorisierung ihrer Arbeit wurde in 2 Browsern nicht von einem Anbieter bestimmt, sondern durch eine Investition von Bloomberg, die die Voraussicht hatte, diese weitgehend unumstrittene Arbeit zu finanzieren.

Und nun setzt sich diese Idee fort

Dies ist keine einzigartige Geschichte, sondern nur eine wirklich wichtige und sehr sichtbare, die man sich gerne vor Augen hält. Tatsächlich haben Ingenieure bei Igalia in den letzten 6 Monaten an CSS Containment, ResizeObserver, BigInt, privaten Feldern und Methoden, responsiven Bild-Preloading, CSS Text Level 3, der Portierung von MathML nach Chromium, der Normalisierung von SVG- und MathML-DOMs und vielem mehr gearbeitet.

Was wir möglicherweise an Browser-Engine-Vielfalt verloren haben, gewinnen wir möglicherweise durch die Offenheit von Browser-Engines und das Eingreifen externer Akteure zurück.