For at fortsætte med at udvikle Ladybird-browseren blev det besluttet at bruge Swift-sproget

Udviklerne af den eksperimentelle Ladybird-browser har annonceret, at de har til hensigt at bruge programmeringssproget Swift som hovedsprog for deres projekt. Inkludering i Swift-kode er planlagt til at begynde i efteråret, efter udgivelsen af ​​Swift 6 (brugen af ​​Swift 5-grenen forhindres af forbindelsen til den gamle version af Clang, som er inkompatibel med den nuværende Ladybird-kodebase i C++) . Takket være muligheden for at kombinere kode i C++ og Swift, vil Swift blive implementeret gradvist uden at omskrive eksisterende kode.

Swift blev valgt på grund af en række fordele, herunder hukommelsessikker praksis, beskyttelse mod raceforhold, moderne syntaks og ergonomi. Af særlig betydning for Ladybird-teamet er Swifts objektorienterede natur, som gør det muligt at modellere webspecifikationer og browserinternet mere nøjagtigt. Udviklerne bemærker også forbedret Swift-understøttelse til ikke-Apple-platforme og aktivt arbejde med kompatibilitet med C++, hvilket baner vejen for den gradvise introduktion af sproget i projektet. På trods af Swifts historiske bånd til Apple bliver sproget mere og mere uafhængigt, som det for eksempel fremgår af at flytte dets lager til en separat organisation på GitHub.

Andreas Kling, stifter af Mariehøne-projektet, delte sine tanker om Rust. Mens Rust har et imponerende økosystem, er det ifølge Kling mindre egnet til at udvikle langlivede programmer med store, komplekse objektgrafer. Derudover beskrev Kling Rust-samfundet som "giftigt".

Lad os huske på, at Ladybird-browseren oprindeligt blev udviklet som en del af et projekt om at udvikle SerenityOS-operativsystemet. I juni 2024 besluttede Andreas Kling, der engang arbejdede hos Nokia og udviklede Safari, at adskille browserprojektet fra styresystemprojektet og bruge sin tid udelukkende på udviklingen af ​​det. I juli modtog projektet en donation på 1 million dollars og begyndte at danne nonprofitorganisationen Ladybird Browser Initiative.

Browseren er skrevet i C++ og distribueret under BSD-licensen. Projektet udvikler sin egen motor LibWeb, JavaScript-fortolker LibJS, tekstgengivelse og 2D-grafikbibliotek LibGfx, regulært udtryksmotor LibRegex, XML-parser LibXML, mellemkodefortolker WebAssembly (LibWasm), bibliotek til at arbejde med Unicode LibUnicode, bibliotek til konvertering af tekst LibTextCodec kodninger, en Markdown-parser (LibMarkdown), biblioteker med kryptografiske primitiver (LibCrypto, LibTLS), et bibliotek til at arbejde med LibArchive-arkiver, biblioteker til afspilning af lyd og video (LibAudio, LibVideo) og LibCore-biblioteket med et fælles sæt nyttige funktioner, såsom tidskonvertering, I/O- og MIME-typebehandling.

Ladybird bruger en multi-proces arkitektur, hvor den proces, der skaber grænsefladen er adskilt fra de processer, der behandler webindhold, sender anmodninger over netværket, afkoder billeder og gemmer cookies. Håndtere relateret til billedafkodning og netværkskommunikation er opdelt i separate processer for at forbedre isolation og sikkerhed. Hver fane bruger en separat webindholdsbehandlingsproces, isoleret fra resten af ​​systemet. Til at bygge grænsefladen bruger macOS AppKit, Android bruger den indbyggede GUI-oprettelse API til denne platform, og Qt bruges på andre platforme. De vigtigste webstandarder er understøttet (browseren består Acid3-tests), HTTP/1.1 og HTTPS. Den grafiske grænseflade er designet i en klassisk stil og understøtter faner.

Kilde: opennet.ru

Tilføj en kommentar