За продължаване на разработката на браузера Ladybird е решено да се използва езикът Swift

Разработчиците на експерименталния браузър Ladybird обявиха намерението си да използват програмния език Swift като основен за своя проект. Включването на код на Swift е планирано да започне през есента, след излизането на версия Swift 6 (използването на клон Swift 5 пречи на привързаността към старата версия на Clang, несъвместима с текущата кодова база на Ladybird на C++). Поради възможността за съвместно използване на C++ и Swift, внедряването на Swift ще се извършва постепенно, без презаписване на съществуващия код.

Изборът на Swift е обусловен от редица предимства, включващи безопасни методи за работа с паметта, защита от състояния на състезание, модерен синтаксис и ергономичност. Особено значение за екипа на Ladybird има обектно-ориентираната природа на Swift, която позволява по-точно моделиране на уеб-спецификациите и вътрешните компоненти на браузъра. Разработчиците също така отбелязват подобряващата се поддръжка на Swift за платформи извън Apple и активната работа по съвместимостта с C++, което отваря пътя за постепенното внедряване на езика в проекта. Въпреки историческите връзки на Swift с Apple, езикът става все по-независим, за което свидетелства, например, преместването на неговото хранилище в отделна организация в GitHub.

Андреас Клинг, основател на проекта Ladybird, сподели мнението си за Rust. Според Клинг, въпреки че Rust разполага с впечатляваща екосистема, той е по-малко удобен за разработка на дългосрочни програми с големи сложни графи на обекти. Освен това, Клинг определи общността на Rust като "токсична."

Напомняме, че първоначално браузърът Ladybird се развиваше в рамките на проект за разработка на операционната система SerenityOS. През юни 2024 година, Андреас Клинг, който в миналото е работил в компанията Nokia и е разработвал Safari, реши да отдели проекта на браузъра от проекта на операционната система и напълно да посвети времето си на неговото развитие. През юли проектът получи дарение от 1 млн. долара и започна да формира неправителствена организация Ladybird Browser Initiative.

Браузерът е написан на C++ и се разпространява под лиценз BSD. Проектът развива свой собствен двигател LibWeb, интерпретатор на JavaScript LibJS, библиотека за рендиране на текст и 2D графика LibGfx, двигател за регулярни изрази LibRegex, XML парсер LibXML, интерпретатор за междинен код WebAssembly (LibWasm), библиотека за работа с Unicode LibUnicode, библиотека за преобразуване на текстови кодировки LibTextCodec, парсер за Markdown разметка (LibMarkdown), библиотеки с криптографски примитиви (LibCrypto, LibTLS), библиотека за работа с архиви LibArchive, библиотеки за възпроизвеждане на звук и видео (LibAudio, LibVideo) и библиотека LibCore с общ набор от полезни функции, като преобразуване на време, вход/изход и обработка на MIME типове.

В Ladybird се използва многопроцесорна архитектура, в която процесът, отговорен за формировката на интерфейса, е отделен от процесите, осигуряващи обработка на уеб съдържание, изпращане на мрежови заявки, декодиране на изображения и съхранение на бисквитки. Свързаните с декодиране на изображения и мрежова взаимодейност обработчици са отделени в самостоятелни процеси, за да се усилят изолацията и защитата. За всяка раздела се използва отделен процес за обработка на уеб съдържание, изолиран от останалата система. За изграждане на интерфейса в macOS се използва AppKit, в Android — нативен за тази платформа API за създаване на графичен интерфейс, а на останалите платформи — Qt. Подкрепят се основните уеб стандарти (браузерът преминава тестовете Acid3), HTTP/1.1 и HTTPS. Графичният интерфейс е оформен в класически стил и поддържа раздели.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster