Le développeur a apprécié la complexité des navigateurs modernes

Développeur Linux bien connu, co-auteur du protocole graphique Wayland, de l'environnement utilisateur Sway et du client de messagerie Aerc, Drew DeVault a analysé les spécifications du W3C auxquelles les navigateurs modernes doivent se conformer.

Il a téléchargé 1217 spécifications avec l'aide wgetet battu les statistiques avec l'utilitaire wc -w(nombre de mots). Il s'est avéré que l'ensemble du catalogue actuel des spécifications du W3C comptait 114 millions de mots . A titre de comparaison, la portée de la spécification C11 est de 208 220 mots, et la longueur du roman Guerre et Paix est de 188 088 mots.

Drew DeVolt conclut qu'aujourd'hui, il n'est plus possible de développer un nouveau navigateur à partir de zéro, car il est impossible d'implémenter la prise en charge des normes Web dans de tels nombres.

Pour comparer la verbosité des spécifications du W3C, le développeur cite la taille des autres spécifications et textes :

  • Tous les RFC IETF (format texte), 8 754 unités: 57 716 641 mots
  • POSIX (format HTML): 2 017 056
  • USB 3.2 (PDF): 872 395
  • UEFI (PDF): 659 580
  • C ++ 17 (PDF, dernier projet ouvert): 576 344
  • C11 (PDF, dernier projet ouvert): 208 220
  • Intel x86 ISA (PDF): 2 312 414

Même si vous ajoutez tout cela à une liste des plus longs romans littéraires au monde , les spécifications du W3C se révéleront toujours plus de 12 millions de mots.

Drew DeWolt suggère la raison pour laquelle nous sommes arrivés à cet état: «Depuis la première guerre des navigateurs entre Netscape et Internet Explorer, les navigateurs Web ont utilisé leurs fonctions comme principal moyen de compétition les uns avec les autres. Cette stratégie de portée illimitée et de perpétuel glissement de fonctions est imprudente, et elle a pu durer trop longtemps », écrit-il. - La complexité du Web est tout simplement indécente. La création d'un nouveau navigateur Web est comparable dans ses efforts au programme Apollo ou au projet Manhattan. »

Autrement dit, ce n'est pas qu'il est impossible de mettre en œuvre un support sûr ou correct pour le Web, il ne peut pas être mis en œuvreen général .

Créer votre propre moteur de navigation pour rivaliser avec Google ou Mozilla aujourd'hui est une entreprise complètement stupide. La dernière tentative sérieuse de créer un nouveau navigateur, Servo, est devenue «en partie un incubateur pour refactoriser le code Firefox, en partie un bac à sable pour les ingénieurs de Mozilla qui s'ennuient à bricoler avec une technologie inutile» (WebVR).

«Les implications de cela sont évidentes. Les navigateurs sont les logiciels les plus chers qui s'exécutent sur des ordinateurs ordinaires. Ils sont connus pour utiliser toute votre RAM, saisir la ligne de processeur et les E / S, vider la batterie, etc. Les navigateurs représentent plus de 8 000 vulnérabilités connues », écrit Drew DeVolt. Les statistiques CVE sont disponibles sur le site officiel cve.mitre.orgpour les requêtes de recherche «firefox», «chrome», «safari» et «internet explorer», au total.

Créer une alternative compétitive est devenu un défi insurmontable. Pour cette raison, les développeurs de navigateurs ont ressenti l'impunité. Les navigateurs cessent de fonctionner en tant qu '«agents utilisateurs» et commencent plutôt à travailler en tant qu'agents de leurs créateurs: «Firefox est rempli d'annonces, de suivi et des plugins requis. Google Chrome est utilisé comme un outil pour suivre efficacement l'historique de vos pages ouvertes et promouvoir des technologies nuisibles telles que DRM et AMP dans l'écosystème. Le duopole des navigateurs ne fait que se renforcer alors que Microsoft perd Edge et WebKit est loin derrière ses concurrents. »

Bien sûr, les moteurs de navigation sont open source. Malheureusement, même fabriquer une fourche réalisable est une tâche presque impossible. Le fait est que le nombre de spécifications W3C augmente en moyenne de 200 nouvelles spécifications par an. Ce sont environ quatre millions de nouveaux mots. En gros, environ un POSIX tous les 4 à 6 mois. «Comment est-il possible pour une nouvelle équipe de faire face à cela en plus de ce volume scandaleux qui est déjà là? - demande DeVolt. - Les guerres par navigateur ont été autorisées à durer trop longtemps. Ils auraient dû se concentrer sur la compétition depuis longtemps en termes de performances et de stabilité, plutôt que sur de nouvelles «fonctionnalités». C'est absolument ridicule et cela doit cesser. »




All Articles