Voor de verdere ontwikkeling van de Ladybird-browser is besloten om de programmeertaal Swift te gebruiken

De ontwikkelaars van de experimentele browser Ladybird hebben aangekondigd dat ze de programmeertaal Swift als hoofdtaal voor hun project willen gebruiken. De integratie van code in Swift zal in de herfst beginnen, na de release van Swift 6 (de tak van Swift 5 gebruiken is problematisch vanwege de afhankelijkheid van een oude versie van Clang, die niet compatibel is met de huidige codebase van Ladybird in C++). Dankzij de mogelijkheid om C++- en Swift-code te combineren, zal de invoering van Swift geleidelijk plaatsvinden zonder dat bestaande code herschreven hoeft te worden.

De keuze voor Swift is gebaseerd op verschillende voordelen, waaronder veilige methoden voor geheugentoegang, bescherming tegen race-omstandigheden, een moderne syntaxis en gebruiksvriendelijkheid. De objectgeoriƫnteerde aard van Swift is van bijzonder belang voor het Ladybird-team, omdat dit helpt om webspecificaties en interne browsercomponenten nauwkeuriger te modelleren. De ontwikkelaars wijzen ook op de verbeterde ondersteuning van Swift voor niet-Apple platforms en de actieve inspanningen om compatibiliteit met C++ te verbeteren, wat de weg vrijmaakt voor de geleidelijke implementatie van de taal in het project. Ondanks de historische banden van Swift met Apple, wordt de taal steeds onafhankelijker, wat bijvoorbeeld blijkt uit de verhuizing van zijn repository naar een aparte organisatie op GitHub.

Andreas Kling, de oprichter van het Ladybird-project, deelde zijn gedachten over Rust. Volgens Kling, hoewel Rust een indrukwekkend ecosysteem heeft, is het minder geschikt voor het ontwikkelen van langdurige programma's met grote, complexe objectgrafen. Bovendien omschreef Kling de Rust-gemeenschap als "toxisch".

Ter herinnering: de browser Ladybird werd oorspronkelijk ontwikkeld binnen het project voor de ontwikkeling van het besturingssysteem SerenityOS. In juni 2024 besloot Andreas Kling, die eerder bij Nokia werkte en zich bezighield met de ontwikkeling van Safari, om het browserproject los te koppelen van het besturingssysteemproject en al zijn tijd aan de ontwikkeling ervan te wijden. In juli ontving het project een donatie van 1 miljoen dollar en begon het met de oprichting van de non-profitorganisatie Ladybird Browser Initiative.

De browser is geschreven in C++ en wordt verspreid onder de BSD-licentie. Het project ontwikkelt een eigen engine, LibWeb, een JavaScript-interpreter, LibJS, een bibliotheek voor tekst- en 2D-grafische weergave, LibGfx, een engine voor reguliere expressies, LibRegex, een XML-parser, LibXML, een interpreter voor tussenliggende code, WebAssembly (LibWasm), een bibliotheek voor het werken met Unicode, LibUnicode, een bibliotheek voor het omzetten van tekstcoderingen, LibTextCodec, een parser voor Markdown-opmaak (LibMarkdown), bibliotheken met cryptografische primitieven (LibCrypto, LibTLS), een bibliotheek voor archiefbeheer, LibArchive, bibliotheken voor geluid- en videoweergave (LibAudio, LibVideo) en de LibCore-bibliotheek met een algemene set nuttige functies, zoals tijdsconversie, invoer/uitvoer en verwerking van MIME-types.

Ladybird maakt gebruik van een multi-process architectuur waarbij het proces dat de interface vormt, is gescheiden van de processen die verantwoordelijk zijn voor de verwerking van webcontent, het verzenden van netwerkverzoeken, het decoderen van afbeeldingen en het opslaan van cookies. De handlers voor afbeeldingsdecodering en netwerkinteractie zijn in aparte processen geplaatst om de isolatie en beveiliging te verbeteren. Voor elke tabblad wordt een apart proces voor webcontentverwerking gebruikt, geĆÆsoleerd van de rest van het systeem. Voor de bouw van de interface in macOS wordt AppKit gebruikt, in Android de native API voor grafische interfacecreatie en op andere platforms Qt. De belangrijkste webstandaarden worden ondersteund (de browser doorstaat de Acid3-tests), HTTP/1.1 en HTTPS. De grafische interface is in klassieke stijl vormgegeven en ondersteunt tabbladen.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster