Les développeurs du système d'exploitation SerenityOS ont présenté le navigateur web multiplateforme Ladybird, basé sur le moteur LibWeb et l'interpréteur JavaScript LibJS, dont le développement est en cours depuis 2019. L'interface graphique est basée sur la bibliothèque Qt. Le code est écrit en C++ et distribué sous licence BSD. Il prend en charge le fonctionnement sur Linux, macOS, Windows (WSL) et Android.
L'interface est conçue dans un style classique et prend en charge les onglets. Le navigateur est construit en utilisant sa propre pile web, qui en plus de LibWeb et LibJS, comprend une bibliothèque pour le rendu de texte et de graphiques 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 les traitements Unicode LibUnicode, une bibliothèque pour la conversion de codages de texte LibTextCodec, un parseur pour le balisage Markdown (LibMarkdown) et la bibliothèque LibCore avec un ensemble général de fonctionnalités utiles, telles que la gestion du temps, l'entrée/sortie et le traitement des types MIME.
Le navigateur prend en charge les normes web principales et passe avec succès les tests Acid3. Il prend en charge les protocoles HTTP et HTTPS. Les plans futurs incluent l'implémentation d'un mode de fonctionnement multiprocessus, où chaque onglet est traité dans un processus différent, ainsi que des optimisations de performance et l'implémentation de fonctionnalités avancées, telles que CSS flexbox et CSS grid.
Initialement, le projet a été créé en juillet comme une interface fonctionnant sous Linux pour déboguer la pile web du système d'exploitation SerenityOS, qui développe son propre navigateur, le SerenityOS Browser. Cependant, après un certain temps, il est devenu évident que le développement avait dépassé le cadre d'un utilitaire de débogage et pouvait être utilisé comme un navigateur ordinaire (le projet est encore en développement et n'est pas prêt pour un usage quotidien). La pile web a également évolué d'un développement spécifique à SerenityOS à un moteur de navigateur multiplateforme.

Source : opennet.ru
