Ladybird eksperimental brauzerinin inkişaf etdiriciləri, layihələri üçün əsas proqramlaşdırma dili kimi Swift dilindən istifadə etməyi planlaşdırdıqlarını bildirdilər. Swift 6-nın buraxılışından sonra Swift kodunun daxil edilməsinə payızda başlanması planlaşdırılır (Swift 5 çərçivəsinin istifadəsi, Ladybird-in C++ kod bazası ilə uyğun gəlməyən köhnə Clang versiyası ilə bağlıdır). C++ və Swift kodlarının birləşmə imkanları sayəsində, Swift-in tətbiqi mövcud kodu yenidən yazmadan tədricən həyata keçiriləcək.
Swift-in seçimi bir sıra üstünlüklərlə əlaqədardır, bunlara təhlükəsiz yaddaş işləmə metodları, yarış vəziyyətlərinə qarşı mühafizə, müasir sintaksis və istifadə rahatlığı daxildir. Ladybird komandası üçün Swift-in obyektyönlü olması xüsusilə əhəmiyyətlidir, çünki bu, veb spesifikasiyalarını və brauzerin daxili komponentlərini dəqiq modelləşdirməyə imkan yaradır. İnkişaf etdiricilər həmçinin Swift-in qeyri-Apple platformaları üçün yaxşılaşan dəstəyi və C++ ilə uyğunluq üzərində aktiv çalışmalarını qeyd edirlər ki, bu da dilin layihəyə tədricən daxil edilməsinə yol açır. Swift-in Apple ilə tarixi əlaqələrinə baxmayaraq, bu dil daha müstəqil hala gəlir, bunun sübutu olaraq, məsələn, onun depozitərinin GitHub-da ayrıca bir təşkilata köçürülməsini qeyd etmək olar.
Ladybird layihəsinin yaradıcısı Andreas Kling, Rust haqqında düşüncələrini bölüşdü. Klingə görə, Rust təsir edici bir ekosistemdən ibarət olsa da, uzun müddət istifadə olunan mürəkkəb obyekt qrafikləri ilə proqramlar hazırlamaq üçün daha az əlverişlidir. Bununla yanaşı, Kling Rust icmasını "zəhərli" olaraq xarakterizə etdi.
Xatırladaq ki, Ladybird brauzeri əvvəllər SerenityOS əməliyyat sisteminin inkişafı çərçivəsində formalaşmışdır. 2024-cü ilin iyun ayında, Nokia-da çalışmış və Safari-nin hazırlanması ilə məşğul olmuş Andreas Kling, brauzer layihəsini əməliyyat sistemi layihəsindən ayıraraq bütün zamanını onun inkişafına həsr etməyə qərar verdi. İyul ayında layihə 1 milyon dollar hədiyyə aldı və Ladybird Browser Initiative qeyri-kommersiya təşkilatının formalaşmasına başladı.
Brauzer C++ dilində yazılmışdır və BSD lisenziyası altında yayılır. Layihə öz LibWeb mühərrikini, LibJS JavaScript interpretatorunu, LibGfx mətn və 2D qrafika təhlil kitabxanasını, LibRegex müntəzəm ifadələr mühərrikini, LibXML XML təhlilçisini, WebAssembly üçün ara kod interpretatoru (LibWasm), Unicode ilə işləmək üçün LibUnicode kitabxanasını, mətn kodlaşdırmalarını çevirmək üçün LibTextCodec kitabxanasını, Markdown məsələləri üçün təhlilçini (LibMarkdown), kriptovalyuta primitivi ilə bağlı kitabxanalara (LibCrypto, LibTLS), arxivlərlə işləmək üçün LibArchive kitabxanasını, audio və video oynatmaq üçün kitabxanalara (LibAudio, LibVideo) və zaman çevirmək, giriş/çıxış və MIME tiplərini emal etmək kimi bir sıra faydalı funksiyalara malik LibCore kitabxanasını inkişaf etdirir.
Ladybird-da çox prosessli arxitektura tətbiq olunur, burada interfeysi formalaşdıran proses, web məzmununun emalı, şəbəkə ilə sorğuların göndərilməsi, görüntülərin kodun açılması və Cookie-lərin saxlanması ilə məşğul olan proseslərdən ayrıdır. Görüntülərin kodun açılması və şəbəkə əməliyyatları ilə bağlı işlətmələr ayrıca proseslərdə ayrılmışdır ki, bu, izolyasiyanı və müdafiəni artırır. Hər bir sekme üçün web məzmununun emalı üçün ayrıca proses istifadə olunur ki, bu da qalan sistemdən izolyasiyadır. macOS-da interfeysin qurulması üçün AppKit, Android-də isə bu platforma üçün yerli interfeys yaratma API'si istifadə olunur, digər platformalarda isə Qt-dən istifadə edilir. Əsas web standartları dəstəklənir (brauzer Acid3 testlərindən keçir), HTTP/1.1 və HTTPS. Qrafik interfeys klassik üslubda hazırlanmışdır və sekmələri dəstəkləyir.
Mənbə: opennet.ru
