Für die Weiterentwicklung des Browsers Ladybird wurde beschlossen, die Programmiersprache Swift zu verwenden.

Die Entwickler des experimentellen Browsers Ladybird haben angekündigt, die Programmiersprache Swift als Hauptsprache für ihr Projekt zu verwenden. Die Integration von Swift-Code soll im Herbst beginnen, nach der Veröffentlichung von Swift 6 (die Verwendung des Swift 5-Zweigs wird durch die Bindung an eine alte Clang-Version behindert, die mit dem aktuellen C++-Code von Ladybird inkompatibel ist). Durch die Möglichkeit, C++- und Swift-Code zu kombinieren, wird die Einführung von Swift schrittweise erfolgen, ohne den bestehenden Code neu schreiben zu müssen.

Die Wahl von Swift basiert auf einer Reihe von Vorteilen, einschließlich sicherer Speichermethoden, Schutz vor Race Conditions, modernem Syntax und Ergonomie. Für das Team von Ladybird hat die objektorientierte Natur von Swift einen hohen Stellenwert, da sie eine genauere Modellierung von Web-Spezifikationen und internen Komponenten des Browsers ermöglicht. Entwickler heben auch die verbesserte Unterstützung von Swift für Nicht-Apple-Plattformen hervor und die aktive Arbeit an der Kompatibilität mit C++, was den Weg für eine schrittweise Integration der Sprache in das Projekt ebnet. Trotz der historischen Verbindungen zu Apple wird die Sprache zunehmend unabhängiger, was zum Beispiel durch die Übertragung ihres Repositories in eine separate Organisation auf GitHub belegt wird.

Andreas Kling, der Gründer des Ladybird-Projekts, teilte seine Gedanken über Rust. Laut Kling, obwohl Rust über ein beeindruckendes Ökosystem verfügt, ist es weniger benutzerfreundlich für die Entwicklung langlebiger Programme mit komplexen Objektgraphen. Zudem charakterisierte Kling die Rust-Community als 'toxisch'.

Erinnern wir uns daran, dass der Browser Ladybird ursprünglich im Rahmen des Projekts zur Entwicklung des Betriebssystems SerenityOS entwickelt wurde. Im Juni 2024 beschloss Andreas Kling, der einst bei Nokia tätig war und an Safari gearbeitet hat, das Projekt des Browsers von dem des Betriebssystems zu trennen und seine gesamte Zeit dessen Entwicklung zu widmen. Im Juli erhielt das Projekt eine Spende von 1 Million Dollar und begann mit der Gründung der gemeinnützigen Organisation Ladybird Browser Initiative.

Der Browser ist in C++ geschrieben und wird unter der BSD-Lizenz vertrieben. Das Projekt entwickelt eine eigene Engine namens LibWeb, einen JavaScript-Interpreter namens LibJS, eine Text- und 2D-Grafik-Rendering-Bibliothek namens LibGfx, eine Engine für reguläre Ausdrücke namens LibRegex, einen XML-Parser namens LibXML, einen WebAssembly-Interpreter namens LibWasm, eine Unicode-Bibliothek namens LibUnicode, eine Bibliothek zur Umwandlung von Textkodierungen namens LibTextCodec, einen Parser für Markdown-Formatierung namens LibMarkdown, Bibliotheken mit kryptografischen Primitiven (LibCrypto, LibTLS), eine Bibliothek für Archivverarbeitung namens LibArchive, Bibliotheken zur Audio- und Video-Wiedergabe (LibAudio, LibVideo) sowie die LibCore-Bibliothek, die eine allgemeine Sammlung nützlicher Funktionen wie Zeitkonversion, Ein-/Ausgabe und MIME-Typverarbeitung enthält.

In Ladybird wird eine Mehrprozessarchitektur verwendet, bei der der für die Benutzeroberfläche zuständige Prozess von den Prozessen getrennt ist, die die Verarbeitung von Webinhalten, das Senden von Netzwerkanfragen, das Decodieren von Bildern und das Speichern von Cookies gewährleisten. Die mit der Bilddecodierung und der Netzwerkinteraktion verbundenen Handler sind in separate Prozesse ausgelagert, um die Isolation und Sicherheit zu erhöhen. Für jede Registerkarte wird ein separater Prozess zur Verarbeitung von Webinhalten verwendet, der von dem Rest des Systems isoliert ist. Für die Benutzeroberfläche in macOS wird AppKit verwendet, in Android die plattformspezifische API zur Erstellung von grafischen Benutzeroberflächen und auf anderen Plattformen Qt. Die grundlegenden Webstandards werden unterstützt (der Browser besteht die Acid3-Tests), HTTP/1.1 und HTTPS. Die Benutzeroberfläche ist im klassischen Stil gestaltet und unterstützt Tabs.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster