Pro pokračování vývoje prohlížeče Ladybird bylo rozhodnuto použít jazyk Swift

Vývojáři experimentálního prohlížeče Ladybird oznámili, že zamýšlejí použít programovací jazyk Swift jako hlavní pro svůj projekt. Integraci kódu v jazyce Swift plánují zahájit na podzim po vydání verze Swift 6 (použití verze Swift 5 komplikují vazby na starou verzi Clang, která není kompatibilní se současnou kódovou základnou Ladybird v C++). Díky možnosti kombinování kódu v C++ a Swift se integrace Swift uskuteční postupně, aniž by bylo nutné přepisovat stávající kód.

Volba jazyka Swift je dána řadou výhod, včetně bezpečných metod práce s pamětí, ochrany proti stavu závodů, moderního syntaxe a ergonomie. Pro tým Ladybird má objektově orientovaná povaha Swift zvláštní význam, protože umožňuje přesněji modelovat webové specifikace a vnitřní komponenty prohlížeče. Vývojáři také poukazují na zlepšující se podporu Swift pro platformy mimo Apple a aktivní práci na kompatibilitě s C++, což otevírá cestu k postupnému zavádění jazyka do projektu. I přes historické vazby Swift na Apple se jazyk stává stále více nezávislým, o čemž svědčí například přesun jeho repozitáře do samostatné organizace na GitHubu.

Andreas Kling, zakladatel projektu Ladybird, se podělil o své myšlenky na Rust. Podle Klinge, i když Rust má impozantní ekosystém, je méně vhodný pro vývoj dlouhých programů s rozsáhlými složitými objekty. Kromě toho Kling charakterizoval komunitu Rust jako "toxickou".

Připomínáme, že původně byl prohlížeč Ladybird vyvíjen v rámci projektu na vývoj operačního systému SerenityOS. V červnu 2024 se Andreas Kling, který dříve pracoval ve společnosti Nokia a zabýval se vývojem Safari, rozhodl oddělit projekt prohlížeče od projektu operačního systému a plně se věnovat jeho vývoji. V červenci projekt obdržel dar ve výši 1 milion dolarů a zahájil formování neziskové organizace Ladybird Browser Initiative.

Prohlížeč je napsán v jazyce C++ a je distribuován pod licencí BSD. Projekt vyvíjí vlastní motor LibWeb, JavaScript interpreter LibJS, knihovnu pro vykreslování textu a 2D grafiky LibGfx, motor pro regulární výrazy LibRegex, XML parser LibXML, interpret mezičasu WebAssembly (LibWasm), knihovnu pro práci s Unicode LibUnicode, knihovnu pro konverzi textových kódování LibTextCodec, parser pro markup Markdown (LibMarkdown), knihovny s kryptografickými primitivy (LibCrypto, LibTLS), knihovnu pro práci s archivy LibArchive, knihovny pro přehrávání zvuku a videa (LibAudio, LibVideo) a knihovnu LibCore s sada běžných užitečných funkcí, jako je konverze času, vstup/výstup a zpracování MIME typů.

V Ladybird se používá víceprocesorová architektura, ve které je proces zajišťující vytváření rozhraní oddělen od procesů, které zajišťují zpracování webového obsahu, odesílání síťových požadavků, dekódování obrázků a ukládání cookies. Související s dekódováním obrázků a síťovou interakcí jsou zpracovatelé vyčleněni do samostatných procesů pro zajištění vyšší izolace a ochrany. Pro každou kartu se používá samostatný proces zpracování webového obsahu, který je izolován od zbytku systému. Pro vytváření rozhraní v macOS se používá AppKit, v Androidu nativní API pro vytváření grafického rozhraní pro tuto platformu a na ostatních platformách Qt. Podporovány jsou základní webové standardy (prohlížeč prochází testy Acid3), HTTP/1.1 a HTTPS. Grafické uživatelské rozhraní je navrženo v klasickém stylu a podporuje karty.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster