A Ladybird böngésző fejlesztésének folytatása érdekében a Swift nyelv használatáról döntöttek.

A Ladybird kísérleti böngésző fejlesztői bejelentették, hogy a Swift programozási nyelvet kívánják fő nyelvként használni a projektjükhöz. A Swift-kód integrálását ősszel tervezik megkezdeni, miután megjelenik a Swift 6 kiadása (a Swift 5 ág használatát a Ladybird C++-alapú kódjával való kompatibilitás hiánya akadályozza). A C++ és Swift kód egyesítésének lehetősége miatt a Swift fokozatosan, a meglévő kód újraírása nélkül fog beépülni.

A Swift választása számos előnyre vezethető vissza, beleértve a biztonságos memória kezelését, a versenyállapotok ellen védelmet, a modern szintaxist és az ergonómiát. A Ladybird csapata számára különösen fontos a Swift objektum-orientált jellege, ami lehetővé teszi a webspecifikációk és a böngésző belső komponenseinek pontosabb modellezését. A fejlesztők emelik ki a Swift egyre jobb támogatását nem Apple platformokra, valamint az C++-val való kompatibilitás aktív fejlesztését, ami lehetővé teszi a nyelv fokozatos integrálását a projektbe. Annak ellenére, hogy a Swift történelmileg kapcsolódik az Apple-hez, a nyelv egyre függetlenebbé válik, amire példa a tárolójának áthelyezése egy külön szervezethez a GitHub-on.

Andreas Kling, a Ladybird projekt alapítója megosztotta gondolatait a Rust-ról. Kling véleménye szerint, bár a Rust lenyűgöző ökoszisztémával rendelkezik, nehezebben használható hosszú életű programok fejlesztésére, amelyek nagy, összetett objektumgrafikákat tartalmaznak. Ezen kívül Kling a Rust közösségét „toxikusnak” minősítette.

Emlékezzünk rá, hogy a Ladybird böngészőt eredetileg a SerenityOS operációs rendszer fejlesztési projekt keretein belül alakították ki. 2024 júniusában Andreas Kling, aki korábban a Nokia cégnél dolgozott és a Safari fejlesztésében vett részt, úgy döntött, hogy a böngésző projektet elkülöníti az operációs rendszer projektjétől, és teljes mértékben a fejlesztésének szenteli az idejét. Júliusban a projekt 1 millió dolláros adományt kapott, és megkezdte a Ladybird Browser Initiative nem-profit szervezet kialakítását.

A böngészőt C++ nyelven írták, és BSD licenc alatt terjesztik. A projekthez saját LibWeb motort, LibJS JavaScript értelmezőt, szöveg és 2D grafika megjelenítő könyvtárat (LibGfx), reguláris kifejezések motorját (LibRegex), XML elemzőt (LibXML), WebAssembly köztes kódot interpretáló (LibWasm), Unicode kezelő könyvtárat (LibUnicode), szöveges kódolások átalakítására szolgáló könyvtárat (LibTextCodec), Markdown jelöléshez parser-t (LibMarkdown), kriptográfiai primitívek könyvtárát (LibCrypto, LibTLS), archívumkezelő könyvtárat (LibArchive), hang- és videolejátszó könyvtárakat (LibAudio, LibVideo) és a LibCore könyvtárat, amely általános hasznos funkciókat, például időátalakítást, bemenet/kimenetet és MIME típusok kezelését kínál.

A Ladybird a többprocesszoros architektúrájával működik, ahol a felhasználói felületet kialakító folyamat elkülönül a webtartalom feldolgozását, hálózati kérések küldését, képek dekódolását és sütik tárolását végző folyamatoktól. A képek dekódolásával és a hálózati interakciókkal kapcsolatos kezelők külön folyamatokban működnek a szigetelés és védelem erősítése érdekében. Minden fül külön webtartalom feldolgozó folyamatot használ, amely elkülönül a rendszertől. Az interfész macOS alatt az AppKit, Android alatt az adott platform natív grafikus interfész API-ját, míg a többi platformon a Qt-t használja. A fő webszabványokat egyaránt támogatja (a böngésző áthalad az Acid3 teszteken), HTTP/1.1 és HTTPS. A grafikus felhasználói felület klasszikus stílusban készült, és támogatja a füleket.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster