Për të vazhduar zhvillimin e shfletuesit Ladybird, është vendosur të përdoret gjuha Swift

Zhvilluesit e shfletuesit eksperimental Ladybird shpallën se kanë ndërmend të përdorin gjuhën e programimit Swift si gjuhën kryesore për projektin e tyre. Plani për të përfshirë kodin në Swift pritet të fillojë në vjeshtë, pas lëshimit të versionit Swift 6 (përdorimi i degës Swift 5 pengohet nga lidhja me versionin e vjetër të Clang, që është e papajtueshme me kodin aktual të bazuar në C++ të Ladybird). Falë mundësisë për të kombinuar kodin në C++ dhe Swift, implementimi i Swift do të bëhet gradualisht pa e rishkruar kodin ekzistues.

Zgjedhja e Swift bazohet në disa përparësi, duke përfshirë metoda të sigurta të menaxhimit të memories, mbrojtje nga gjendjet e garës, sintaksë moderne dhe ergonomi. Një rëndësi të veçantë për ekipin e Ladybird ka natyra obiektive e Swift, e cila lejon modelimin më të saktë të specifikimeve të uebit dhe komponenteve të brendshme të shfletuesit. Zhvilluesit gjithashtu theksojnë përmirësimin e mbështetjes për Swift në platformat që nuk janë të Apple dhe punën aktive mbi pajtueshmërinë me C++, që hap rrugën për implementimin gradual të gjuhës në projekt. Pavarësisht lidhjeve historike të Swift me Apple, gjuha po bëhet gjithnjë e më e pavarur, për shembull, duke transferuar depot e saj në një organizatë të veçantë në GitHub.

Andreas Kling, themeluesi i projektit Ladybird, ndau mendimet e tij për Rust. Sipas Kling, megjithëse Rust ka një ekosistem të jashtëzakonshëm, ai është më pak i përshtatshëm për zhvillimin e programeve afatgjata me grafe komplekse objektesh. Për më tepër, Kling e karakterizoi komunitetin e Rust si "toksik".

Kujtojmë se në fillim, shfletuesi Ladybird u zhvillua brenda projektit për zhvillimin e sistemit operativ SerenityOS. Në qershor 2024, Andreas Kling, i cili ka punuar më parë në Nokia dhe është marrë me zhvillimin e Safari, vendosi ta ndanë projektin e shfletuesit nga projekti i sistemit operativ dhe t'i kushtojë të gjithë kohën e tij zhvillimit të tij. Në korrik, projekti mori një donacion prej 1 milion dollarësh dhe filloi formimin e organizatës jo fitimprurëse Ladybird Browser Initiative.

Shfletuesi është shkruar në gjuhën C++ dhe shpërndahet nën licencën BSD. Projekti zhvillon motorin e vet LibWeb, interpretorin JavaScript LibJS, bibliotekën për vizatimin e tekstit dhe grafikës 2D LibGfx, motorin për shprehje të rregullta LibRegex, parserin XML LibXML, interpretorin e kodit të mesëm WebAssembly (LibWasm), bibliotekën për punë me Unicode LibUnicode, bibliotekën për konvertimin e kodeve të tekstit LibTextCodec, parserin për markup Markdown (LibMarkdown), bibliotekat me primitive kriptografike (LibCrypto, LibTLS), bibliotekën për punë me arkivat LibArchive, bibliotekat për riprodhimin e zërit dhe videos (LibAudio, LibVideo) dhe bibliotekën LibCore me një grup të përgjithshëm funksionesh të dobishme, si konvertimi i kohës, hyrja/ dalje dhe përpunimi i MIME-tipeve.

Ladybird pĂ«rdor njĂ« arkitekturĂ« shumĂ«procesore, ku procesi qĂ« merret me formimin e ndĂ«rfaqes Ă«shtĂ« i ndarĂ« nga proceset qĂ« sigurojnĂ« pĂ«rpunimin e pĂ«rmbajtjes web, dĂ«rgimin e kĂ«rkesave nĂ« rrjet, dekodimin e imazheve dhe ruajtjen e Cookie. Proceset qĂ« lidhen me dekodimin e imazheve dhe ndĂ«rveprimin nĂ« rrjet janĂ« tĂ« ndara nĂ« procese tĂ« veçanta pĂ«r tĂ« forcuar izolimin dhe mbrojtjen. Çdo skedĂ« pĂ«rdor njĂ« proces tĂ« ndarĂ« pĂ«r pĂ«rpunimin e pĂ«rmbajtjes web, tĂ« izoluar nga sistemi tjetĂ«r. PĂ«r ndĂ«rtimin e ndĂ«rfaqes nĂ« macOS pĂ«rdoret AppKit, nĂ« Android - API i native pĂ«r kĂ«tĂ« platformĂ«, ndĂ«rsa nĂ« platformat e tjera - Qt. Vendosen standardet kryesore web (shfletuesi kalon testet Acid3), HTTP/1.1 dhe HTTPS. NdĂ«rfaqja grafike pĂ«rshkruhet nĂ« stilin klasik dhe mbĂ«shtet skedat.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster