Ladybird arakatzaile esperimentalaren garatzaileek Swift programazio lengoaia bere proiekturako hizkuntza nagusi gisa erabiltzeko asmoa iragarri dute. Swift kodean sartzea udazkenean hastea aurreikusten da, Swift 6 kaleratu ondoren (Swift 5 adarra erabiltzea eragozten da Clang-en bertsio zaharrarekin konektatzeak, C++-ko Ladybird egungo kode oinarriarekin bateraezina dena) . C++ eta Swift-en kodea konbinatzeko gaitasunari esker, Swift pixkanaka inplementatuko da lehendik dagoen kodea berridatzi gabe.
Swift hainbat abantailagatik aukeratu zen, besteak beste, memoria seguruko praktikak, lasterketa-baldintzen aurkako babesa, sintaxi modernoa eta ergonomia. Ladybird taldearentzat bereziki garrantzitsua da Swift-en objektuetara zuzendutako izaera, eta horri esker, web-zehaztapenak eta nabigatzaileen barnekoak zehaztasun handiagoz modelatzen ditu. Garatzaileek Apple ez diren plataformetarako Swift-en euskarria hobetzea eta C++-rekin bateragarritasunari buruzko lan aktiboa ere nabarmentzen dute, eta horrek bidea irekitzen du hizkuntza proiektuan pixkanaka sartzeko. Swift-ek Applerekin duen lotura historikoa izan arren, hizkuntza gero eta independenteagoa da, eta horren erakusgarri da, adibidez, bere biltegia GitHub-eko beste erakunde batera eramatea.
Andreas Kling-ek, Ladybird proiektuaren sortzaileak, Rust-i buruzko gogoetak partekatu zituen. Kling-en arabera, Rustek ekosistema ikusgarria duen arren, ez da hain egokia objektu grafiko handi eta konplexuekin iraupen luzeko programak garatzeko. Gainera, Klingek Rust komunitatea "toxikotzat" jo zuen.
Gogora dezagun Ladybird arakatzailea hasieran SerenityOS sistema eragilea garatzeko proiektu baten barruan garatu zela. 2024ko ekainean, Andreas Kling-ek, behin Nokian lan egin zuen eta Safari garatzen ari zenak, arakatzailearen proiektua sistema eragilearen proiektutik bereiztea erabaki zuen eta bere denbora guztiz bere garapenari eskaintzea. Uztailean, proiektuak milioi dolar dohaintza jaso zuen eta irabazi asmorik gabeko Ladybird Browser Initiative eratzen hasi zen.
Arakatzailea C++-n idatzita dago eta BSD lizentziapean banatzen da. Proiektua bere motorra garatzen ari da LibWeb, JavaScript interprete LibJS, testuen errendaketa eta 2D grafikoen liburutegia LibGfx, adierazpen erregular motorra LibRegex, XML analizatzailea LibXML, tarteko kode interpretatzailea WebAssembly (LibWasm), Unicode LibUnicoderekin lan egiteko liburutegia, LibTextCodec testua bihurtzeko liburutegia. kodeketak, Markdown analizatzailea (LibMarkdown), primitibo kriptografikoak dituzten liburutegiak (LibCrypto, LibTLS), LibArchive artxiboekin lan egiteko liburutegia, audioa eta bideoa erreproduzitzeko liburutegiak (LibAudio, LibVideo) eta LibCore liburutegia funtzio erabilgarri multzo komun batekin, hala nola, denbora bihurketa, I/O eta MIME mota prozesatzea.
Ladybird-ek prozesu anitzeko arkitektura bat erabiltzen du, eta bertan interfazea sortzen duen prozesua web edukia prozesatzen duten prozesuetatik bereizten da, sarean eskaerak bidaltzen dituzten, irudiak deskodetzen eta Cookieak gordetzen dituzten prozesuetatik. Irudien deskodeketarekin eta sareko komunikazioarekin erlazionatutako kudeatzaileak prozesu ezberdinetan bereizten dira isolamendua eta segurtasuna hobetzeko. Fitxa bakoitzak web-edukiak prozesatzeko prozesu bereizia erabiltzen du, gainerako sistematik isolatuta. Interfazea eraikitzeko, macOSek AppKit erabiltzen du, Android-ek jatorrizko GUI sortzeko APIa erabiltzen du plataforma honetarako eta Qt beste plataforma batzuetan. Web estandar nagusiak onartzen dira (arakatzaileak Acid3 probak gainditzen ditu), HTTP/1.1 eta HTTPS. Interfaze grafikoa estilo klasikoan diseinatuta dago eta fitxak onartzen ditu.
Iturria: opennet.ru
