Die Engine, die es könnte: wie Chromium es geschafft hat, 90% des Browsermarktes zu erobern



Von der Browser-Engine, die ursprünglich eine wenig bekannte Alternative in einem unbeliebten Browser war, bis zum Champion, der den gesamten Markt übernahm.



Wahrscheinlich stößt man manchmal auf das Konzept der Browser-Vielfalt in Texten.... Es bezieht sich auf das Gleichgewicht auf der Webplattform, in dem es weltweit viele Browser-Implementierungen gibt, die ausreichen, um Innovation und Wettbewerb zwischen ihnen anzuregen. Die Alternative ist die Browser-Monokultur, bei der ein Browser oder eine Browser-Implementierung den gesamten Markt kontrolliert und somit die Entwicklung des Webs vorantreibt. Wenn jemand die Browser-Vielfalt fördert, tut er dies häufig, um unabhängige Webstandards zu erstellen, die vom W3C verwaltet werden. Dies funktioniert nur, wenn kein Browser die in der Webplattform enthaltenen Funktionen bestimmen kann.



Die Web-Community hat Grund genug, die mangelnde Browser-Vielfalt zu befürchten. Nachdem Internet Explorer Anfang der 2000er Jahre 90% des Browsermarktes erobert hatte, brauchten seine Entwickler gut ein halbes Jahrzehnt, um einen neuen Browser herauszubringen. Während dieser Zeit wurde die Entwicklung des Webs gestoppt und es traten Sicherheitsprobleme auf. Dies hat das Web schlechter gemacht, daher möchten wir oft, dass Browser miteinander konkurrieren, anstatt das Web zu monopolisieren.



Dieses Problem hat aber auch einen Nachteil. Aufgrund der Existenz mehrerer Browserhersteller müssen Webentwickler sicherstellen, dass alle Plattformen kompatibel sind. Es kann geringfügige Inkonsistenzen zwischen Browsern geben, die die Entwicklung für das Web erschweren können.



Dieser besorgte Web-Schöpfer Tim Berners-Lee. Sogar in den frühen 90er Jahren, als das Web noch sehr jung war, tauchten weltweit Dutzende von Browsern auf, als Softwareentwickler experimentierten. Berners-Lee befürchtete, dass zu viele Browser das Testen von Websites erschweren und einen Konsens darüber erzielen würden, wie HTML analysiert und an Benutzer geliefert werden kann.



1992 äußerte Tim Berners-Lee seine Besorgnis auf der Hypertext-Mailingliste.



8 12 , . (, , ! , , (, ), . , ; , , , .


Berners-Lee erkannte, dass mehrere Implementierungen für den Webentwickler zu aufwändig sein können, sodass Entwickler möglicherweise versucht sind, dieses Problem vollständig zu vermeiden und nur im gängigsten Browser zu testen (er hatte keine Ahnung, dass ein ähnliches Problem im Web häufig auftreten würde). -Entwicklung ). Das heißt, auch ohne Monopol können zu viele Browser den Markt überfluten und einen tatsächlichen Gewinner schaffen, gegen den Standards erstellt werden, ohne alle anderen zu berücksichtigen. Die Gewährleistung der Konsistenz aller Browser-Implementierungen war der Grund für die Schaffung des W3C und die Förderung einer Reihe gemeinsamer Standards für Webtechnologien.



Berners-Lees Anliegen war begründet. Manchmal gab es Situationen, in denen Browser ihren eigenen Weg gingen und Webdesigner dazu zwangen, anspruchsvoller zu werden, damit Seiten überall gleich aussehen. In den letzten Jahren hat ein gut etablierter Standardisierungsprozess das Problem der Inkonsistenzen zwischen Browsern weitgehend gelöst, indem ein klarer Prozess zum Hinzufügen neuer Funktionen zum Web erstellt wurde, um ein ausgewogenes Entscheidungsverfahren sicherzustellen.



Die grundlegende Grundlage für die Erstellung einer vielfältigen Gruppe von Browsern ist die Entwicklung völlig unterschiedlicher Browser-Engines. Die Browser-Engine ist der Code im Browser, der den von Ihnen geschriebenen Code auf der Seite rendert. Auf einer technischeren Ebene werden HTML, CSS und JavaScript analysiert, um die Struktur und das Rendern von Webseiten zu handhaben.... Die Engine enthält normalerweise eine JavaScript-Engine, die die Interaktivität verwaltet. Wenn es um eine Browser-Engine geht, wird meistens über die zugehörige JavaScript-Engine gesprochen. Dies ist jedoch nicht immer der Fall.



Bevor Browserhersteller anfingen, Webstandards zu verwenden, gab es während der "Browserkriege" ein Jahrzehnt der Dominanz über den Internet Explorer von Microsoft. Internet Explorer verwendete eine proprietäre Microsoft-Browser-Engine namens Trident. Internet Explorer wurde kostenlos verteilt und standardmäßig auf allen Windows-Computern installiert. Aufgrund seiner Verteilungsgeschwindigkeit ist Trident seit vielen Jahren die am weitesten verbreitete Browser-Engine.



Einige kleinere Open-Source-Browser wurden jedoch bald immer beliebter. Am beliebtesten war Mozilla Firefox (basierend auf Netscape), das eine Engine namens Gecko verwendete. Opera blieb mit seiner Presto-Browser-Engine etwas zurück. Eine kleine Community verliebte sich in den KHTML-Browser von Konqueror, der einen winzigen Anteil am Browsermarkt hatte.



Der Quellcode aller dieser Browser-Engines mit Ausnahme von Presto war Open Source, dh er war für jedermann verfügbar und konnte in jedem Projekt verwendet werden. Dies stimulierte die Zusammenarbeit und den gesunden Wettbewerb zwischen diesen neuen Browsern, was den von W3C geleiteten Webstandardprozess begünstigte. Und dank Open Source ist eine große Anzahl kleiner Nischenbrowser auf den Markt gekommen, die auf denselben Browser-Engines basieren.



Die Abwesenheit von Apple von dieser Liste ist bemerkenswert. Im Jahr 2003 schien das Unternehmen die Webplattform völlig übersehen zu haben. Sie versuchte erfolglos, ihren eigenen Browser namens Cyberdog zu erstellen. Ohne einen Browser, der in ihrem Betriebssystem enthalten ist, wurden Apple-Computer mit Internet Explorer geliefert, wodurch sie an einen ihrer schwerwiegendsten Konkurrenten gebunden waren - Microsoft.



Aber dann kursierten Gerüchte, dass Apple an einem neuen Browser arbeite. Mehrere Veteranen von Mozilla traten dem Unternehmen bei und leisteten im Auftrag von Apple einen Beitrag zur Open-Source-Mac-Version von Firefox. Und nach dem ersten fehlgeschlagenen Experiment sind die Tools und Implementierungen viel besser. Es gab bereits viele ausgereifte Open Source-Lösungen.



Zunächst wurde angenommen, dass Apple Mozilla Gecko als Browser-Engine wählen würde. Sie hatte bereits die richtigen Leute und Erfahrungen damit, und die Engine wurde in den meisten Browserprojekten verwendet, einschließlich eines Mac-Browsers namens Camino, der von einem unabhängigen Nicht-Apple-Team entwickelt wurde. Einige dachten, Apple könne Presto durch eine Lizenzvereinbarung wählen.



Steve Jobs schloss seine Grundsatzrede auf der Macworld 2003 mit einer lang erwarteten Ankündigung: Apple erstellt einen eigenen Browser namens Safari. Und zu jedermanns Überraschung wird der Motor von Konqueror verwendet. Nicht Gecko, nicht Presto. KHTML. Die Nachrichten waren groß und haben in den nächsten zwei Jahrzehnten die Flugbahn des Webs verändert.





Der auf dem KDE-Desktop ausgeführte



Konqueror-Browser Der Konqueror-Browser ist eine der vielen Anwendungen, die Teil der KDE-Desktop-Umgebung für Linux-Computer sind. Genau genommen handelt es sich nicht um ein Betriebssystem, sondern um ein Softwarepaket, das wie ein Betriebssystem aussieht und sich verhält. Das Akronym stand ursprünglich für Kool Desktop Environment, wurde dann aber einfach zu KDE abgekürzt. Konqueror ist eines der Programme in KDE. Und KHTML ist die Engine, auf der Konqueror läuft. Wie Linux selbst ist auch KDE Open Source, einschließlich seines Browsers, und die Entwicklergemeinde hat sich seit seiner Gründung an die Prinzipien von Open Source gehalten.



Aus diesem Grund ist es wichtig, dass Apples Ankündigung diese Folie enthält:





In seiner Ankündigung der Wahl von KHTML erklärte Apple sein Engagement für Open-Source-Ideen. Das Safari-Entwicklungsteam hat versprochen, die Änderungen am KHTML-Projekt nach Möglichkeit vorzunehmen. Bei der Anpassung der Engine hat Apple sie in zwei Teile unterteilt: WebCore, das sich mit Rendering und Struktur befasst, und JavaScriptCore, das sich mit JavaScript befasst. Beide Teile wurden zu Open Source-Projekten, aber die Elemente des Safari-Bug-Trackers und der Browser-Engine blieben geschlossen. Dieses Maß an Transparenz war jedoch überraschend für ein Unternehmen, das dafür bekannt ist, seine Geheimnisse zu bewahren.



Die erste öffentliche Version von Safari wurde zeitgleich mit der Ankündigung im Januar 2003 veröffentlicht. Kurz danach begann Safari mit dem Versand als Standardbrowser für alle Macs. Safari hat ein bis zwei Jahre lang konstant zwei bis drei Prozent des Browsermarktes besetzt. Es war nicht genug, um zu dominieren, aber es gab dem Apple-Entwicklungsteam Gewicht.



Trotz des Versprechens gegenüber der Open Source-Community fiel es den Safari-Entwicklern zunächst schwer, ihre Änderungen wieder auf das KTHML-Projekt zu portieren. Ein Teil des Codes war spezifisch für das Mac-Betriebssystem. Andere Teile waren einfach nicht mit der vorhandenen Codebasis kompatibel. Dies führte zu einer leichten Meinungsverschiedenheit zwischen dem Apple-Team und den KHTML-Co-Autoren, die einige Jahre dauerte.



Im Laufe der Zeit wurde ein Kompromiss gefunden, der für alle geeignet war. Im Juni 2005 hat Apple JavaScriptCore, Webcore und den Rest der Browser-Engine zusammengeführt und als einzelnes Open-Source-Projekt mit einem öffentlichen Bug-Tracker und einem Aufruf zur Einreichung von Beiträgen veröffentlicht. Auf diese Weise zeigte das Unternehmen der KHTML-Community, dass es bereit ist, zusammenzuarbeiten und gleichzeitig die Codeunabhängigkeit zu wahren.



Das Projekt wurde Webkit genannt.



Der Moment war kritisch. Das Web als Plattform entwickelte sich schnell und befand sich im Web 2.0-Stadium. Insgesamt war Web 2.0 nur ein netter Marketingbegriff, ein Versuch, die wachsende Anzahl anspruchsvoller Anwendungen zu benennen, die ausschließlich im Web existieren. Es enthält die ersten beiden Google-Webanwendungen - Google Maps und Google Mail. Google hat YouTube innerhalb eines Jahres zur Liste hinzugefügt.



Mitte der 2000er Jahre haben sich die Google-Ingenieure die Browser genauer angesehen und festgestellt, dass sie die Notwendigkeit, komplexe Anwendungen zu erstellen, nicht erfüllen konnten. Dies gilt insbesondere für ältere und unbeaufsichtigte Browser wie den Internet Explorer ( YouTube hat übrigens auch dazu beigetragen, die Nutzer zu ermutigen, IE6 aufzugeben ). Die höchste Priorität von Google war jedoch die Geschwindigkeit. Die Mitbegründer des Unternehmens äußerten einmal den Wunsch, "das Web so schnell wie das Durchblättern eines Papiermagazins zu erstellen". Das war das Ziel des Unternehmens, und Google war der Ansicht, dass selbst moderne Browser wie Firefox und Safari nicht nah genug dran waren.



Ab 2006 plante das Unternehmen den Bau eines eigenen Browsers. Sie wollte den schnellsten Browser auf dem Markt. Nach dem Experimentieren mit einer Vielzahl von Browser-Engines wandten sich die Google-Entwickler dem Webkit-Projekt zu, das auf Open Source umgestellt wurde. Sein Code war kompakt und lesbar, und seine Ressourcenintensität blieb im Vergleich zu Motoren mit einer reichen Geschichte wie Gecko oder Trident relativ gering (letzteres wurde aufgrund seines geschlossenen Quellcodes ohnehin nicht berücksichtigt). Vor allem aber war er schnell. Als Ausgangspunkt war es schneller als alle anderen Motoren.



Wenn das Safari-Team zu diesem Zeitpunkt nicht beschlossen hätte, die Quelle seiner Browser-Engine zu öffnen, hätte sich die Geschichte in eine völlig andere Richtung entwickeln können. Aber die Entwickler haben dies getan, also hat Google diese Möglichkeit geprüft und beschlossen, die Engine zu verwenden. In den nächsten Jahren begann sie an einer neuen, noch schnelleren Implementierung von Webkit zu arbeiten.



Ihr erster Schritt bestand darin, JavaScriptCore loszuwerden und es durch eine eigene JavaScript-Engine namens V8 zu ersetzen, die nach der leistungsstarken Kolben-Engine benannt ist. Wie der Name schon sagt, war der V8 schnell. Zum Zeitpunkt der Veröffentlichung war es zehnmal leistungsfähiger als JavaScriptCore. Er erreichte diese Geschwindigkeit, indem er in einer virtuellen Maschine arbeitete und den Code auf eine etwas andere Art und Weise ausführte, wodurch er modular und unabhängig vom Rest der Browser-Engine wurde. Übrigens ermöglichte diese Modularität nach ein paar Jahren die Erstellung der Node-Programmiersprache: Die Entwickler nahmen die V8-Engine, entfernten den Browser und stellten sie auf den Server.



Das zweite, was Google tat, war, seinem Browser eine Multiprozessor-Architektur hinzuzufügen. Über Multiprocessing gibt es viel zu sagen, aber es lässt sich am besten anhand von Browser-Registerkarten als Beispiel erklären. Zuvor stürzte der gesamte Browser ab, wenn eine Registerkarte abstürzte. Google war jedoch in der Lage, die Prozesse in jeder Registerkarte unabhängig voneinander auszuführen, sodass jeweils nur eine Registerkarte abstürzte. Nach der Veröffentlichung des Browsers wurde dies seine Hauptattraktion. Es stellte sich auch als wichtige Entscheidung heraus, da es eine wesentliche Abweichung von der Arbeitsweise von Webkit darstellte. Bald wird diese Entscheidung zurückkommen, um das Unternehmen zu verfolgen.



Im September 2008 gab Google sein Browserprojekt offiziell der Öffentlichkeit bekannt. Das Unternehmen kombinierte die Anzeige mit Scott McClouds Nerd-Webcomic, die alle technischen Details des Projekts detailliert. Der Browser konnte Websites am schnellsten auf dem Markt verarbeiten und dank seiner Multiprozessor-Architektur Seiten auch dann aktiv halten, wenn eine andere Website eingefroren war. Dies war damals, als die Browser noch mit Symbolleisten und Addons sowie Paketen großer Unternehmen mit E-Mails überladen waren. Der Name, den Google diesem Projekt gab, entsprach ebenfalls dem Konzept. In der Welt der Browser bedeutet der Begriff "Chrom" (Chrom) alles, was eine Webseite umgibt - die Adressleiste, Symbolleisten und Dateimenüs. Google hat den größten Teil dieses Mülls beseitigt, weshalb es den Browser Google Chrome nannte, in der Hoffnung, dass sich der Fokus auf Einfachheit und Leistung auszahlt.





Das Web-Comic-Fragment, mit dem alles begann



Abgesehen von dem geschlossenen Suchalgorithmus hat Google viele Jahre lang zu Open-Source-Projekten beigetragen und neue erstellt. Nachdem das Unternehmen die Lektion von Apple verstanden hatte, ging es bei der Entwicklung von Chrome noch weiter. Am selben Tag, an dem Google Chrome angekündigt wurde, stellte das Unternehmen die gesamte Engine als Open-Source-Projekt namens Chromium zur Verfügung. Dies sind nicht nur einige Webkit-Erweiterungen. Es ist nicht nur eine Rendering-Engine. Alles wurde offen: Webkit, die V8-JavaScript-Engine und der gesamte Code des Browsers. Mit geringem Aufwand kann jeder Entwickler Chromium ergänzen und seinen eigenen Browser veröffentlichen. Nach seiner Veröffentlichung passierte es vielen Browsern .



2008 war ein großes Jahr für das Web. Im selben Monat, in dem Chrome veröffentlicht wurde, enthüllte Google einen Prototyp seiner mobilen Android-Betriebssystemplattform, der aus mehreren Open-Source-Projekten zusammengestellt wurde. Es enthielt auch die mobile Version von Google Chrome. Dies geschah etwas mehr als ein Jahr nach der offiziellen Veröffentlichung des iPhone, das mit einer modifizierten Version von Safari geliefert wurde. Als Steve Jobs begann , Flash unwiderruflich zu töten und die native Webplattform zu einer Priorität zu machen, waren diese Geräte bereits überall.



Das heißt, jetzt funktionierte Safari oder Chrome auf jedem mobilen Smart-Gerät. Safari selbst hat seinen Marktanteil dank iPhone-Käufen in nur wenigen Jahren verdoppelt. Die Popularität von Chrome wuchs noch schneller. Mit Chromium haben Sie Zugriff auf eine ständig wachsende Liste unabhängiger Browser und Browserprojekte. Darüber hinaus wurde Chromium zur Grundlage der Programmiersprache Node und des Electron Desktop Application Framework.



Und all diese Projekte haben dank Webkit funktioniert. Im Laufe der Jahre hat er einen kleinen Teil des Browsermarktes erobert und dominiert.



Dieser Ruhezustand war von kurzer Dauer. Im April 2013 kündigte Google unerwartet an, das Webkit-Projekt in eine neue Engine namens Blink umzuwandeln. Google Chrome und das Chromium-Projekt werden auf diese neue Engine umsteigen.



Es gab mehrere Gründe für diesen Übergang, aber der wichtigste bringt uns zurück zum Thema Multiprocessing. Seit mehreren Jahren erweitert Google das Webkit, um seinen Browsern Multiprocessing hinzuzufügen. Dies ist zu einer wichtigen Funktion und Grundlage für das Leistungswachstum von Chromium-Browsern geworden. Im Jahr 2013 sollte das Webkit-Projekt eine neue Version der Engine veröffentlichen, die auch die Mehrfachverarbeitung verbessert. Das Problem war, dass die Implementierung völlig anders und mit der Implementierung in Chrome nicht mehr kompatibel sein würde. Es wurde bereits eine andere JavaScript-Engine verwendet, und diese neue Änderung hätte Chromium zu weit vom ursprünglichen Projekt entfernt. Der Kern von Blink musste und bleibt Webkit. Aber er wird einen anderen Weg einschlagen und ein neues Projekt für sich selbst erstellen.



Zu diesem Zeitpunkt ist das Web komplexer geworden, als sich irgendjemand vorgestellt hat. Das zuerst von Berners-Lee aufgeworfene Problem - zu viele unabhängige Entwickler, die ihre eigenen Browser-Engines bauen - war kein Problem mehr. Jetzt mussten große Teams die Browser-Engine erstellen und warten. Mit der Erweiterung der Webplattform und der Stärkung ihrer Standards hat die Komplexität des Renderns einer Website auf einer Seite exponentiell zugenommen. Der Browser musste unzählige Websites ausführen, die auf unzählige Arten codiert waren, um mehr oder weniger mit allen anderen Browsern übereinzustimmen.



Nach diesem Zeitpunkt verschwanden die Browser-Engines.



Zwei Monate vor der Veröffentlichung von Blink kündigte Opera an, die eigene Presto-Engine fallen zu lassen und den Browser auf Chromium umzustellen. Als Google die Gabelung ankündigte, schloss sich Opera ihr an. Im Mai 2013 veröffentlichte sie ihren ersten Blink-basierten Browser.



In der Zwischenzeit hat Microsoft jahrelang an seiner eigenen Closed-Source-Engine festgehalten. Trident wurde in eine Engine namens EdgeHTML umgewandelt, die für den Microsoft Edge-Browser entwickelt wurde und erstmals 2015 veröffentlicht wurde. In einem bereits überfüllten Browsermarkt hat es sich jedoch als zu schwierig erwiesen, in die Entwicklung einer unabhängigen Engine zu investieren. Im Jahr 2019 gab das Unternehmen bekannt, dass es auch zu Blink wechselt. Seitdem wurde auch dieser Browser veröffentlicht.



Nachkommen von KHTML, dh Browser mit Engines aus der Blink / Webkit-Familie, werden von mehr als 90% der Benutzer verwendet. Von der praktischen Vergessenheit bis zu einem Marktanteil von 90% in fünfzehn Jahren ist dies eine erstaunliche Leistung. Und es hatte Konsequenzen.



Blink und Webkit sind zwei verschiedene Engines, und es gibt einige Unterschiede im Quellcode. Sie verwenden jedoch denselben Ansatz zum Rendern von Webseiten, und der größte Teil des Codes im Projekt bleibt unverändert. Dies bedeutet, dass derzeit zwei Gruppen von Browser-Engines übrig sind - die Blink / Webkit-Familie und der Firefox-Browser Gecko. Selbst wenn Sie Blink und Webkit trennen, sind nur noch drei übrig.



Und das bringt uns zurück zum Thema Browser-Vielfalt. Innovationen in der Browsertechnologie sind nicht verschwunden, und glücklicherweise ist jeder seriöse Browser dem Webstandardisierungsprozess verpflichtet. Wenn die Blink- und Webkit-Community jedoch entscheidet, dass sie das Web in eine bestimmte Richtung verschieben möchten, verfügen sie über die erforderliche Leistung, um dies zu tun. Dies gilt auch heute noch, obwohl Gecko immer noch festhält.



Jeffrey Zeldman fasste es gut zusammen, als Microsoft sich entschied, zu Blink zu wechseln:



Wenn ein Unternehmen entscheidet, welche Ideen es wert sind, unterstützt zu werden und welche nicht, welche Zugangsprobleme wichtig sind und welche nicht, erstickt es Innovationen, zerstört den Wettbewerb und eröffnet Möglichkeiten, Menschen von der Arbeit mit digitalen Informationen auszuschließen.


Aus historischer Sicht ist der Entwicklungsverlauf von Webkit ein Wunder. Und das dank der Offenheit und Unterstützung der Community. Genauso wichtig ist es jedoch, die Vielfalt und Innovation der Browser zu erhalten.



Dieser Beitrag behandelt fünf Meilensteine ​​in der Geschichte des Web.



  • 3. April 2013. Erstellen von Blink als Verzweigung des Webkit-Projekts. Die Blink-Rendering-Engine wird in Chromium-basierten Browsern einschließlich Google Chrome verwendet. Der Grundstein für die Codebasis wurde von Webkit gelegt, das jedoch Multiprozessor-Aufgaben übernimmt und die V8-JavaScript-Engine enthält.
  • 2 2008 . Google Chrome, . , Google . , .
  • 7 2005 . Webkit — Apple , : WebCore JavaScript- JavaScriptCore. Apple, Google Webkit .
  • 7 2003 . Safari — Apple , . Mac Internet Explorer Microsoft. KHTML, Webkit.
  • 23 2000 . Konqueror — KDE Konqueror 2. KDE , Konqueror . , , Apple Safari Google Chrome.









Werbung



Unser Unternehmen bietet sichere Server mit kostenlosem DDoS-Schutz . Die Möglichkeit, einen lizenzierten Windows Server in Plänen mit 2 GB RAM oder höher zu verwenden und Server-Backups automatisch oder mit einem Klick zu erstellen.



Wir verwenden extrem schnelle Server-Laufwerke von Intel und sparen keine Hardware - nur Markengeräte und einige der besten Rechenzentren in Russland und der EU. Beeilen Sie sich, um zu überprüfen.






All Articles