Pour continuer le développement du navigateur Ladybird, il a été décidé d'utiliser le langage Swift.

Les développeurs du navigateur expérimental Ladybird ont annoncé leur intention d'utiliser le langage de programmation Swift comme principal pour leur projet. L'intégration du code en Swift devrait commencer à l'automne, après la sortie de Swift 6 (utiliser la branche Swift 5 pose problème en raison de la dépendance à une ancienne version de Clang, incompatible avec la base de code actuelle de Ladybird en C++). Grâce à la possibilité de combiner du code en C++ et en Swift, l'adoption de Swift se fera progressivement, sans réécrire le code existant.

Le choix de Swift est motivé par plusieurs avantages, y compris des méthodes de gestion de la mémoire sûres, une protection contre les conditions de concurrence, une syntaxe moderne et une ergonomie améliorée. La nature orientée objet de Swift est particulièrement importante pour l'équipe de Ladybird, car elle permet de modéliser plus précisément les spécifications web et les composants internes du navigateur. Les développeurs soulignent également le soutien croissant de Swift pour des plateformes non-Apple et le travail actif sur la compatibilité avec C++, ce qui ouvre la voie à une adoption progressive du langage dans le projet. Malgré les liens historiques de Swift avec Apple, le langage devient de plus en plus indépendant, comme en témoigne, par exemple, le transfert de son dépôt dans une organisation distincte sur GitHub.

Andreas Kling, le fondateur du projet Ladybird, a partagé ses réflexions sur Rust. Selon Kling, bien que Rust dispose d'un écosystème impressionnant, il est moins adapté au développement de programmes à long terme avec de grands graphes d'objets complexes. De plus, Kling a qualifié la communauté Rust de « toxique ».

Rappelons qu'à l'origine, le navigateur Ladybird a été développé dans le cadre d'un projet de système d'exploitation, SerenityOS. En juin 2024, Andreas Kling, qui a travaillé chez Nokia et a été impliqué dans le développement de Safari, a décidé de séparer le projet du navigateur du projet du système d'exploitation, et de consacrer entièrement son temps à son développement. En juillet, le projet a reçu un don d'un million de dollars et a commencé à former une organisation à but non lucratif, la Ladybird Browser Initiative.

Le navigateur est écrit en C++ et distribué sous la licence BSD. Le projet développe son propre moteur LibWeb, un interpréteur JavaScript LibJS, une bibliothèque de rendu de texte et de graphismes 2D LibGfx, un moteur pour les expressions régulières LibRegex, un parseur XML LibXML, un interpréteur de code intermédiaire WebAssembly (LibWasm), une bibliothèque pour travailler avec Unicode LibUnicode, une bibliothèque pour la conversion des encodages de texte LibTextCodec, un parseur pour le balisage Markdown (LibMarkdown), des bibliothèques avec des primitives cryptographiques (LibCrypto, LibTLS), une bibliothèque pour le travail avec les archives LibArchive, des bibliothèques pour la lecture de son et de vidéo (LibAudio, LibVideo), et la bibliothèque LibCore offrant un ensemble général de fonctions utiles telles que la conversion de temps, entrée/sortie et gestion des types MIME.

Ladybird utilise une architecture multiprocesseur où le processus chargé de l'interface utilisateur est séparé des processus qui gèrent le contenu web, envoient des requêtes réseau, décodent des images et gèrent les cookies. Les gestionnaires associés au décodage d'images et à l'interaction réseau sont isolés dans des processus distincts pour renforcer l'isolement et la sécurité. Chaque onglet utilise un processus séparé pour le traitement du contenu web, isolé du reste du système. AppKit est utilisé pour construire l'interface sur macOS, l'API native de création d'interface sur Android, et Qt sur les autres plateformes. Les principaux standards web sont pris en charge (le navigateur passe les tests Acid3), HTTP/1.1 et HTTPS. L'interface graphique est conçue dans un style classique et prend en charge les onglets.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster