Le moteur qui pourrait: comment Chromium a réussi à capturer 90% du marché des navigateurs



D'un moteur de navigateur qui était initialement une alternative peu connue utilisée dans un navigateur impopulaire, à un champion qui a conquis l'ensemble du marché.



Vous rencontrez probablement parfois le concept de diversité des navigateurs dans les textes.... Il fait référence à l'équilibre sur la plate-forme Web dans laquelle il existe de nombreuses implémentations de navigateurs dans le monde, suffisantes pour stimuler l'innovation et la concurrence entre elles. L'alternative est la monoculture du navigateur, dans laquelle un navigateur ou une mise en œuvre de navigateur contrôle l'ensemble du marché et conduit donc le développement du Web. Lorsqu'une personne fait la promotion de la diversité des navigateurs, elle le fait souvent dans le cadre d'un processus de création de normes Web indépendantes gérées par le W3C, qui ne fonctionne que lorsqu'aucun navigateur ne peut dicter les fonctionnalités incluses dans la plate-forme Web.



La communauté Web a suffisamment de raisons de craindre le manque de diversité des navigateurs. Après qu'Internet Explorer a capturé 90% du marché des navigateurs au début des années 2000, il a fallu à ses développeurs une bonne demi-décennie pour sortir un nouveau navigateur. Pendant cette période, le développement du Web s'est arrêté et des problèmes de sécurité ont commencé à se poser. Cela a aggravé le Web, nous voulons donc souvent que les navigateurs soient compétitifs plutôt que de monopoliser le Web.



Mais ce problème a aussi un inconvénient. En raison de l'existence de plusieurs fabricants de navigateurs, les développeurs Web doivent s'assurer que toutes les plates-formes sont compatibles. Il peut y avoir des incohérences mineures entre les navigateurs, ce qui peut compliquer le développement pour le Web.



Ce créateur Web inquiet Tim Berners-Lee. Même au début des années 90, lorsque le Web était très jeune, des dizaines de navigateurs ont commencé à apparaître dans le monde au fur et à mesure que les développeurs de logiciels les expérimentaient. Berners-Lee craignait qu'un trop grand nombre de navigateurs ne rende le test des sites plus difficile et ne parvienne à un consensus sur la manière d'analyser et de fournir du HTML aux utilisateurs.



En 1992, Tim Berners-Lee a exprimé ses inquiétudes sur la liste de diffusion hypertexte.



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


Berners-Lee a reconnu que plusieurs implémentations peuvent demander trop d'efforts de la part du développeur Web, de sorte que les développeurs pourraient être tentés d'éviter complètement ce problème et de ne tester que dans le navigateur le plus populaire (il n'avait aucune idée qu'un problème similaire se produirait fréquemment sur le Web.) -développement ). Autrement dit, même sans monopole, trop de navigateurs peuvent inonder le marché et créer un véritable gagnant contre lequel des normes seront créées sans prendre en compte toutes les autres. Assurer la cohérence de toutes les implémentations de navigateur a été la raison de la création du W3C et de la promotion d'un ensemble de normes communes dans les technologies Web.



La préoccupation de Berners-Lee était bien fondée. Il y a eu des moments où les navigateurs ont suivi leur propre chemin, obligeant les concepteurs Web à bricoler des pages pour que les pages se ressemblent partout. Ces dernières années, un processus de normalisation bien établi a largement résolu le problème des incohérences entre les navigateurs en créant un processus clair pour l'ajout de nouvelles fonctionnalités sur le Web, assurant ainsi l'équilibre dans le processus de prise de décision.



La base fondamentale pour créer un groupe diversifié de navigateurs est le développement de moteurs de navigateur complètement différents. Le moteur de navigateur est le code à l'intérieur du navigateur qui prend le code que vous écrivez et le rend sur la page. Sur un plan plus technique, il analyse HTML, CSS et JavaScript pour gérer la structure et le rendu des pages Web.... Le moteur comprend généralement un moteur JavaScript qui gère l'interactivité. Le plus souvent, lorsqu'ils parlent d'un moteur de navigateur, ils parlent du moteur JavaScript associé, mais ce n'est pas toujours le cas.



Avant que les fabricants de navigateurs ne commencent à utiliser les standards du Web, pendant la «guerre des navigateurs», il y avait une décennie de domination sur le navigateur Internet Explorer de Microsoft. Internet Explorer a utilisé un moteur de navigateur Microsoft propriétaire appelé Trident. Internet Explorer a été distribué gratuitement et a été installé par défaut sur tous les ordinateurs Windows. En raison de sa vitesse de distribution, Trident est devenu le moteur de navigation le plus utilisé depuis de nombreuses années.



Cependant, plusieurs petits navigateurs open source ont rapidement commencé à gagner en popularité. Le plus populaire d'entre eux était Mozilla Firefox (basé sur Netscape), qui utilisait un moteur appelé Gecko. Opera était légèrement à la traîne avec son moteur de navigateur Presto. Une petite communauté est tombée amoureuse du navigateur KHTML de Konqueror, qui ne détenait qu'une infime part du marché des navigateurs.



Le code source de tous ces moteurs de navigateur, à l'exception de Presto, était open source, ce qui signifiait qu'il était disponible pour tout le monde et pouvait être utilisé dans n'importe quel projet. Cela a stimulé la collaboration et une saine concurrence entre ces nouveaux navigateurs, ce qui a favorisé le processus de normalisation Web mené par le W3C. Et grâce à l'open source, un grand nombre de petits navigateurs de niche sont apparus sur le marché, construits sur la base des mêmes moteurs de navigateur.



L'absence d'Apple de cette liste est remarquable. En 2003, il semblait que l'entreprise avait complètement négligé la plate-forme Web. Elle a essayé sans succès de créer son propre navigateur appelé Cyberdog. Sans navigateur natif de leur système d'exploitation, les ordinateurs Apple étaient équipés d'Internet Explorer, ce qui les liait à l'un de leurs concurrents les plus sérieux - Microsoft.



Mais ensuite, des rumeurs ont commencé à circuler selon lesquelles Apple travaillait sur un nouveau navigateur. Plusieurs vétérans de Mozilla ont rejoint la société, contribuant au nom d'Apple à la version open source de Firefox pour Mac. Et après la première expérience qui a échoué, les outils et les implémentations sont bien meilleurs. Il existait déjà de nombreuses solutions open source matures.



Au départ, on supposait qu'Apple choisirait Mozilla Gecko comme moteur de navigation. Elle avait déjà les bonnes personnes et l'expérience avec lui, et le moteur a été utilisé dans la grande majorité des projets de navigateur, y compris un navigateur Mac appelé Camino, développé par une équipe indépendante non Apple. Certains pensaient qu'Apple pourrait choisir Presto via une sorte d'accord de licence.



Steve Jobs a conclu son discours d'ouverture à Macworld 2003 par une annonce tant attendue: Apple crée son propre navigateur appelé Safari. Et à la surprise générale, il utilisera le moteur de Konqueror. Pas Gecko, pas Presto. KHTML. La nouvelle était grande et au cours des deux décennies suivantes, elle a changé la trajectoire du Web.





Le navigateur Konqueror s'exécutant sur le bureau KDE



Le navigateur Konqueror est l'une des nombreuses applications qui font partie de l'environnement de bureau KDE pour les ordinateurs Linux. À proprement parler, ce n'est pas un système d'exploitation, mais un progiciel qui ressemble et se comporte comme un système d'exploitation. L'acronyme signifiait à l'origine Kool Desktop Environment, mais il a ensuite été abrégé simplement en KDE. Konqueror est l'un des programmes de KDE. Et KHTML est le moteur sur lequel Konqueror fonctionne. Comme Linux lui-même, tout KDE est open source, y compris son navigateur, et la communauté des développeurs adhère aux principes de l'open source depuis sa création.



C'est pourquoi il est important que l'annonce d'Apple comprenne cette diapositive:





Dans son annonce de son choix de KHTML, Apple a déclaré son engagement en faveur des idées open source. L'équipe de développement de Safari a promis d'apporter les modifications qu'elle apporte au projet KHTML chaque fois que possible. Lors de l'adaptation du moteur, Apple l'a divisé en deux parties: WebCore, qui traite du rendu et de la structure, et JavaScriptCore, qui traite de JavaScript. Ces deux parties sont devenues des projets open source, mais les éléments de suivi de bogues et de moteur de navigateur Safari sont restés fermés. Pourtant, ce niveau de transparence était surprenant pour une entreprise réputée pour garder ses secrets.



La première version publique de Safari est sortie en même temps que l'annonce, en janvier 2003. Peu de temps après, Safari a commencé à être expédié comme navigateur par défaut pour tous les Mac. Depuis un à deux ans, Safari a constamment occupé deux à trois pour cent du marché des navigateurs. Il ne suffisait pas de dominer, mais cela a donné du poids à l'équipe de développement Apple.



Malgré la promesse faite à la communauté open source, les développeurs de Safari ont initialement eu du mal à porter leurs modifications vers le projet KTHML. Une partie du code était spécifique au système d'exploitation Mac. D'autres parties étaient tout simplement incompatibles avec la base de code existante. Cela a conduit à un léger désaccord entre l'équipe Apple et les co-auteurs de KHTML qui a duré quelques années.



Au fil du temps, un compromis a été trouvé qui convenait à tout le monde. En juin 2005, Apple a fusionné JavaScriptCore, Webcore et le reste du moteur de navigateur, les publiant en tant que projet open source unique avec un outil de suivi des bogues public et un appel à contribuer. De cette manière, l'entreprise a montré à la communauté KHTML qu'elle était prête à collaborer tout en maintenant l'indépendance du code.



Le projet a été nommé Webkit.



Le moment était critique. Le Web en tant que plate-forme s'est développé rapidement et en était au stade du Web 2.0. Dans l'ensemble, Web 2.0 n'était qu'un joli terme marketing, une tentative de nommer le nombre croissant d'applications sophistiquées qui existent exclusivement sur le Web. Il comprend les deux toutes premières applications Web de Google - Google Maps et Gmail. Google a ajouté YouTube à la liste en un an.



Au milieu des années 2000, les ingénieurs de Google ont examiné de plus près les navigateurs et ont constaté qu'ils étaient incapables de répondre au besoin de créer des applications complexes. Cela était particulièrement vrai pour les navigateurs plus anciens et sans surveillance comme Internet Explorer (en passant, YouTube a également contribué à encourager les utilisateurs à abandonner IE6 ). Mais la priorité absolue de Google était la vitesse. Les co-fondateurs de l'entreprise ont un jour exprimé leur désir de créer «le web aussi vite que de feuilleter un magazine papier». C'était l'objectif de l'entreprise, et Google estimait que même les navigateurs modernes comme Firefox et Safari ne se rapprochaient pas suffisamment.



En 2006, l'entreprise a commencé à planifier la création de son propre navigateur. Elle voulait le navigateur le plus rapide du marché. Après avoir expérimenté divers moteurs de navigateur, les développeurs de Google se sont tournés vers le projet Webkit, qui est passé à l'open source. Son code était compact et lisible, et son intensité en ressources restait relativement faible par rapport aux moteurs avec une histoire riche comme Gecko ou Trident (ce dernier n'était de toute façon pas envisagé en raison de son code source fermé). Mais surtout, il était rapide. Au départ, c'était plus rapide que tous les autres moteurs.



Si l'équipe Safari n'avait pas décidé d'ouvrir la source de leur moteur de navigation à ce moment, l'histoire aurait pu évoluer dans une direction complètement différente. Mais les développeurs l'ont fait, alors Google a examiné cette possibilité et a décidé d'utiliser le moteur. Au cours des deux prochaines années, elle a commencé à travailler sur une nouvelle implémentation encore plus rapide de Webkit.



Sa première étape a été de se débarrasser de JavaScriptCore et de le remplacer par son propre moteur JavaScript appelé V8, du nom du puissant moteur à pistons. Comme son nom l'indique, le V8 était rapide. Au moment de sa sortie, il s'est avéré dix fois plus performant que JavaScriptCore. Il a atteint cette vitesse en travaillant dans une machine virtuelle et une manière légèrement différente d'exécuter le code, le rendant modulaire et indépendant du reste du moteur de navigateur. D'ailleurs, après quelques années, cette modularité a permis de créer le langage de programmation Node: ses développeurs ont pris le moteur V8, se sont débarrassés du navigateur et l'ont mis sur le serveur.



La deuxième chose que Google a faite a été d'ajouter une architecture multitraitement à son navigateur. Il y a beaucoup à dire sur le multitraitement, mais il est préférable de l'expliquer en utilisant les onglets du navigateur comme exemple. Auparavant, lorsqu'un onglet tombait en panne, tout le navigateur tombait en panne. Cependant, Google a pu forcer les processus de chaque onglet à s'exécuter indépendamment de sorte qu'un seul onglet se bloque à la fois. Après la sortie du navigateur, c'est devenu sa principale qualité attractive. Cela s'est également avéré être une décision importante car c'était un changement majeur par rapport à la façon dont Webkit fonctionnait. Bientôt, cette décision reviendra hanter l'entreprise.



En septembre 2008, Google a officiellement annoncé son projet de navigateur au public. La société a combiné l'annonce avec le webcomic Nerd de Scott McCloud, qui a détaillé tous les détails techniques du projet. Le navigateur pouvait traiter les sites Web le plus rapidement du marché et, grâce à son architecture multitraitement, il était capable de garder les pages actives même lorsqu'un autre site était gelé. C'était à l'époque où les navigateurs étaient encore surchargés de barres d'outils et d'addons, ainsi que de packages de grandes entreprises qui incluaient le courrier. Le nom que Google a donné à ce projet était également conforme au concept. Dans le monde des navigateurs, le terme «chrome» (chrome) signifie tout ce qui entoure une page Web - la barre d'adresse, les barres d'outils et les menus de fichiers. Google s'est débarrassé de la plupart de ces déchets, c'est pourquoi il a appelé le navigateur Google Chrome, en espérant que l'accent mis sur la simplicité et les performances portera ses fruits.





Le fragment Webcomic qui a tout lancé



Outre l'algorithme de recherche à code source fermé, Google a contribué à des projets open source et en a créé de nouveaux pendant de nombreuses années. Après avoir compris la leçon d'Apple, la société est allée encore plus loin dans le développement de Chrome. Le jour même de l'annonce de Google Chrome, la société a rendu l'intégralité du moteur disponible sous forme de projet open source appelé Chromium. Ce ne sont pas que quelques extensions Webkit. Ce n'est pas seulement un moteur de rendu. Tout est devenu ouvert: Webkit, le moteur JavaScript V8 et tout le code du navigateur lui-même. Avec peu d'effort, n'importe quel développeur pourrait compléter Chromium et publier son propre navigateur. Après sa sortie, cela est arrivé à de nombreux navigateurs .



2008 a été une grande année pour le Web. Le même mois que Chrome est sorti, Google a présenté un prototype de sa plate-forme d'exploitation mobile Android, assemblé à partir de plusieurs projets open source. Il comprenait également la version mobile de Google Chrome. Cela s'est produit un peu plus d'un an après la sortie officielle de l'iPhone, fourni avec une version modifiée de Safari. Au moment où Steve Jobs a commencé à tuer Flash de manière irrévocable et à faire de la plate-forme Web native une priorité absolue, ces appareils étaient déjà partout.



Autrement dit, Safari ou Chrome fonctionnaient désormais sur tous les appareils mobiles intelligents. Safari lui-même, entièrement grâce aux achats d'iPhone, a doublé sa part de marché en quelques années seulement. La popularité de Chrome a augmenté encore plus rapidement. En utilisant Chromium, vous avez accès à une liste toujours plus longue de navigateurs et de projets de navigateur indépendants. De plus, Chromium est devenu l'épine dorsale du langage de programmation Node et du framework d'applications de bureau Electron.



Et tous ces projets ont fonctionné grâce à Webkit. Au fil des ans, il est passé de la capture d'une petite part du marché des navigateurs à sa domination.



Cet état de repos fut de courte durée. En avril 2013, Google a annoncé de manière inattendue qu'il transformerait le projet Webkit dans un nouveau moteur appelé Blink. Google Chrome et le projet Chromium passeront à ce nouveau moteur.



Il y avait plusieurs raisons à cette transition, mais la plus importante nous ramène à la question du multitraitement. Depuis plusieurs années, Google étend Webkit pour ajouter le multitraitement à ses navigateurs, qui est devenu une fonctionnalité essentielle et la base de la croissance des performances des navigateurs Chromium. En 2013, le projet Webkit était censé sortir une nouvelle version du moteur, qui améliorait également le multitraitement. Le problème était que sa mise en œuvre deviendrait complètement différente et incompatible avec la mise en œuvre dans Chrome. Il utilisait déjà un moteur JavaScript différent et ce nouveau changement aurait éloigné Chromium du projet d'origine. Le noyau de Blink devait toujours et reste Webkit. Mais il empruntera un chemin différent et se créera un nouveau projet.



À ce stade, le Web est devenu plus complexe que quiconque ne l'imaginait. Le problème initialement posé par Berners-Lee - trop de développeurs indépendants construisant leurs propres moteurs de navigateur - n'était plus un problème. De grandes équipes étaient désormais nécessaires pour créer et maintenir le moteur de navigateur. Avec l'expansion de la plate-forme Web et le renforcement de ses normes, la complexité du rendu d'un site Web sur une page a augmenté de façon exponentielle. Le navigateur devait exécuter d'innombrables sites, codés d'innombrables façons pour correspondre plus ou moins à tous les autres navigateurs.



Après ce point, les moteurs de navigateur ont commencé à disparaître.



Deux mois avant la sortie de Blink, Opera a annoncé qu'il abandonnait son propre moteur Presto et déplaçait son navigateur vers Chromium. Lorsque Google a annoncé la fourchette, Opera l'a rejoint. En mai 2013, elle a sorti son premier navigateur basé sur Blink.



Dans l'intervalle, Microsoft a conservé son propre moteur de code source fermé pendant des années. Trident a été converti en un moteur appelé EdgeHTML conçu pour le navigateur Microsoft Edge, sorti pour la première fois en 2015. Mais investir dans le développement d'un moteur indépendant s'est avéré trop difficile dans un marché des navigateurs déjà bondé. En 2019, la société a annoncé qu'elle passait également à Blink. Depuis lors, ce navigateur a également été publié.



Les descendants de KHTML, c'est-à-dire les navigateurs équipés de moteurs de la famille Blink / Webkit, sont utilisés par plus de 90% des utilisateurs. De pratiquement l'oubli à 90% de part de marché en quinze ans, c'est une réussite incroyable. Et cela a eu des conséquences.



Blink et Webkit sont deux moteurs différents, et il y a pas mal de différences dans leur code source. Mais ils utilisent la même approche pour le rendu des pages Web, et la plupart du code à l'intérieur du projet reste le même. Cela signifie qu'au stade actuel, en fait, il reste deux groupes de moteurs de navigateur - la famille Blink / Webkit et le navigateur Firefox Gecko. Même si vous séparez Blink et Webkit, il n'en reste que trois.



Et cela nous ramène à la question de la diversité des navigateurs. L'innovation dans la technologie des navigateurs n'a pas disparu et, heureusement, tous les navigateurs sérieux sont engagés dans le processus de normalisation Web. Cependant, si la communauté Blink et Webkit décide de faire avancer le Web dans une certaine direction, elle dispose de tout le pouvoir dont elle a besoin pour le faire. Cela est vrai même aujourd'hui, malgré le fait que Gecko tient toujours.



Jeffrey Zeldman l'a bien résumé au moment où Microsoft a décidé de passer à Blink:



Lorsqu'une entreprise décide quelles idées méritent d'être soutenues et lesquelles ne le sont pas, quels problèmes d'accès sont importants et lesquels ne le sont pas, cela étouffe l'innovation, détruit la concurrence et ouvre des opportunités pour empêcher les gens de travailler avec des informations numériques.


D'un point de vue historique, la trajectoire de développement de Webkit est un miracle. Et cela s'est fait grâce à l'ouverture et au soutien de la communauté. Mais il est tout aussi important de maintenir la diversité et l'innovation des navigateurs.



Cet article couvre cinq étapes importantes de l'histoire du Web.



  • 3 avril 2013. Création de Blink en tant que fork du projet Webkit. Le moteur de rendu Blink est utilisé dans les navigateurs basés sur Chromium, y compris Google Chrome. La base de son code a été posée par Webkit, mais il gère les tâches de multitraitement et contient le moteur JavaScript V8.
  • 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.









La publicité



Notre société propose des serveurs sécurisés avec une protection DDoS gratuite . La possibilité d'utiliser un serveur Windows sous licence avec des plans avec 2 Go de RAM ou plus, créant des sauvegardes de serveur automatiquement ou en un clic.



Nous utilisons des disques serveurs Intel extrêmement rapides et n'économisons pas sur le matériel - uniquement des équipements de marque et certains des meilleurs centres de données de Russie et de l'UE. Dépêchez-vous de vérifier.






All Articles