Ladybird brauseri arendamiseks otsustati kasutada Swift keelt

Eksperimentaalse brauseri Ladybird arendajad on teatanud plaanist kasutada oma projekti pĂ”hikeelena programmeerimise keelt Swift. Koodi Skyftiga integreerimisega plaanitakse alustada sĂŒgisel, pĂ€rast Swift 6 versiooni ilmumist (Swift 5 haru kasutamine on takistatud, kuna see on seotud vana Clang versiooniga, mis ei ĂŒhildu Ladybird'i praeguse C++ koodibaasiga). TĂ€nu C++ ja Swifti koodi kombineerimise vĂ”imalusele toimub Swifti integreerimine jĂ€rk-jĂ€rgult, ilma et oleks vaja olemasolevat koodi ĂŒmber kirjutada.

Swift'i valik tuleneb mitmetest eelistest, sealhulgas ohutust mĂ€lu-halduse meetoditest, kaitset vĂ”istluse tingimuste eest, kaasaegsest sĂŒntaksist ja ergonoomikast. Ladybird meeskonna jaoks on Swift'i objekt-orienteeritud loomus eriti oluline, kuna see vĂ”imaldab tĂ€psemalt modelleerida veebispetsifikatsioone ja brauseri sisekomponente. Arendajad mĂ€rkisid ka Swifti paranevat tuge mitte-Apple platvormide jaoks ning aktiivset tööd C++ ĂŒhilduvuse nimel, mis avab tee keele jĂ€rkjĂ€rguliseks integreerimiseks projekti. Hoolimata ajaloolistest seostest Apple'iga, muutub Swift ĂŒha sĂ”ltumatumaks, nagu nĂ€itab nĂ€iteks tema repoprodukti ĂŒleviimine eraldi organisatsiooni GitHub'is.

Andreas Kling, Ladybird projekti asutaja, jagas oma mĂ”tteid Rust'i kohta. Kliingi arvates, kuigi Rust'il on muljetavaldav ökosĂŒsteem, on see vĂ€hem mugav pikaajaliste programmide arendamiseks suurte keeruliste objektigraafikutega. Lisaks iseloomustas Kling Rust'i kogukonda kui "mĂŒrgist".

Tuletame meelde, et Ladybird brauseri arendamine algas SerenityOS operatsioonisĂŒsteemi arendusprojekti raames. Juunis 2024 otsustas Andreas Kling, kes on varem töötanud Nokias ja arendanud Safari, eraldada brauseri projekti operatsioonisĂŒsteemi projektist ning pĂŒhenduda tĂ€ielikult selle arendamisele. Juulis sai projekt 1 miljoni dollari ulatuses annetuse ja alustas mittevĂ”ttevĂ”tte Ladybird Browser Initiative loomist.

Brauser on kirjutatud C++ keeles ja selle levitamine toimub BSD-litsentsi alusel. Projekti raames arendatakse vĂ€lja enda LibWeb mootor, LibJS JavaScript tĂ”lkija, teksti ja 2D-graafika renderdamise teek LibGfx, regulaarsete vĂ€ljendite mootori LibRegex, XML-parsija LibXML, WebAssembly vahefailide tĂ”lkija (LibWasm), Unicode'i töötlemise teek LibUnicode, tekstikoodide konverteerimise teek LibTextCodec, Markdowni mĂ€rgistusparsija (LibMarkdown), krĂŒptograafiliste primitiivide teegid (LibCrypto, LibTLS), archiivide töötlemise teek LibArchive, heli ja video taasesituse teekid (LibAudio, LibVideo) ning LibCore teek, mis pakub ulatuslikke abifunktsioone, nagu aja konverteerimine, sisendi/vĂ€ljundi töötlus ja MIME-tĂŒĂŒpide haldamine.

Ladybirdis kasutatakse mitme protsessi arhitektuuri, kus kasutajaliidese loomise protsess on eraldatud web-sisu töötlemise, vĂ”rgutaotluste esitamise, piltide dekodeerimise ja kĂŒpsiste salvestamise protsessidest. Piltide dekodeerimise ja vĂ”rgusuhtluse seotud kĂ€sitlejad on eraldatud eraldi protsessidesse, et suurendada isoleeritust ja turvalisust. Iga vahekaardi jaoks kasutatakse eraldi web-sisu töötlemise protsessi, mis on eraldatud ĂŒlejÀÀnud sĂŒsteemist. Kasutajaliidese ehitamiseks kasutatakse macOS-is AppKit'i, Androidis - platvormile kohandatud graafilise liidese API-d ning teistel platvormidel - Qt-d. Toetatakse peamisi web-standardeid (brauser lĂ€bib Acid3 teste), HTTP/1.1 ja HTTPS. Graafiline kasutajaliides on kujundatud klassikalises stiilis ja toetab vahekaarte.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster