Der Entwickler schätzte die Komplexität moderner Browser

Drew DeVault, ein bekannter Linux-Entwickler, Co-Autor des Wayland-Grafikprotokolls, der Sway-Benutzerumgebung und des Aerc-E-Mail-Clients, analysierte die W3C-Spezifikationen , die moderne Browser erfüllen müssen.

Mit der Hilfe lud er 1217 Spezifikationen herunter wgetund schlug die Statistiken mit dem Dienstprogramm wc -w(Anzahl der Wörter) zusammen. Es stellte sich heraus, dass der gesamte aktuelle Katalog der W3C-Spezifikationen 114 Millionen Wörter umfasst . Zum Vergleich: Der Umfang der C11-Spezifikation beträgt 208.220 Wörter und die Länge von Krieg und Frieden 188.088 Wörter.

Drew DeVolt kommt zu dem Schluss, dass es heute nicht mehr möglich ist , einen neuen Browser von Grund auf neu zu entwickeln, da es unmöglich ist, die Unterstützung für Webstandards in solchen Zahlen zu implementieren.

Um die Ausführlichkeit der W3C-Spezifikationen zu vergleichen, nennt der Entwickler die Größe anderer Spezifikationen und Texte :

  • Alle IETF-RFCs (Textformat), 8.754 Einheiten: 57.716.641 Wörter
  • POSIX (HTML-Format): 2 017 056
  • USB 3.2 (PDF): 872 395
  • UEFI (PDF): 659.580
  • C ++ 17 (PDF, letzter offener Entwurf): 576 344
  • C11 (PDF, zuletzt geöffneter Entwurf): 208.220
  • Intel x86 ISA (PDF): 2.312.414

Selbst wenn Sie all dies zusammen mit einer Liste der längsten literarischen Romane der Welt hinzufügen , werden die W3C-Spezifikationen immer noch mehr als 12 Millionen Wörter umfassen.

Drew DeWolt schlägt den Grund vor, warum wir einen solchen Zustand erreicht haben: „Seit dem ersten Browserkrieg zwischen Netscape und Internet Explorer haben Webbrowser ihre Funktionen als Hauptmittel für den Wettbewerb untereinander verwendet. Diese Strategie des unbegrenzten Umfangs und des fortwährenden Kriechens von Funktionen ist rücksichtslos und wurde zu lange fortgesetzt “, schreibt er. - Die Komplexität des Webs ist einfach unanständig. Das Erstellen eines neuen Webbrowsers ist in seinen Bemühungen mit dem Apollo-Programm oder dem Manhattan-Projekt vergleichbar. “

Das heißt, es ist nicht unmöglich, eine sichere oder korrekte Unterstützung für das Web zu implementieren, es kann nicht implementiert werdenim Allgemeinen .

Das Erstellen einer eigenen Browser-Engine, um heute mit Google oder Mozilla zu konkurrieren, ist ein völlig dummes Unterfangen. Der jüngste ernsthafte Versuch, einen neuen Browser, Servo, zu entwickeln, wurde "teilweise ein Inkubator für die Umgestaltung von Firefox-Code, teilweise eine Sandbox für gelangweilte Mozilla-Ingenieure, um an nutzloser Technologie zu basteln" (WebVR).

„Die Auswirkungen sind offensichtlich. Browser sind die teuerste Software, die auf normalen Computern ausgeführt wird. Sie sind dafür berüchtigt, dass sie Ihren gesamten Arbeitsspeicher nutzen, die Prozessorleitung und die E / A greifen, den Akku entladen und so weiter. Browser sind für mehr als 8.000 bekannte Sicherheitslücken verantwortlich “, schreibt Drew DeVolt. CVE-Statistiken sind auf der offiziellen Website cve.mitre.org verfügbarfür Suchanfragen insgesamt "Firefox", "Chrome", "Safari" und "Internet Explorer".

Die Schaffung einer wettbewerbsfähigen Alternative ist zu einer unüberwindlichen Herausforderung geworden. Aus diesem Grund haben sich Browserentwickler ungestraft gefühlt. Browser arbeiten nicht mehr als "Benutzeragenten", sondern als Agenten ihrer Ersteller: "Firefox ist mit Anzeigen, Tracking und erforderlichen Plugins gefüllt. Chrome wird von Google als Tool verwendet, um den Verlauf offener Seiten effektiv zu verfolgen und schädliche Technologien wie DRM und AMP in das Ökosystem zu integrieren. Das Duopol der Browser wird auch immer stärker, da Microsoft Edge verliert und WebKit weit hinter seinen Konkurrenten zurückbleibt. “

Natürlich sind Browser-Engines Open Source. Leider ist es fast unmöglich, selbst eine funktionsfähige Gabel herzustellen. Tatsache ist, dass die Anzahl der W3C-Spezifikationen um durchschnittlich 200 neue Spezifikationen pro Jahr wächst. Das sind ungefähr vier Millionen neue Wörter. Grob gesagt etwa ein POSIX alle 4-6 Monate. „Wie ist es möglich, dass ein neues Team mit diesem unglaublichen Volumen, das bereits vorhanden ist, Schritt hält? - fragt DeVolt. - Browserkriege dürfen zu lange dauern. Sie sollten sich lange Zeit auf den Wettbewerb in Bezug auf Leistung und Stabilität konzentriert haben und nicht auf neue "Funktionen". Das ist absolut lächerlich und muss aufhören. “




All Articles