Untuk terus membangunkan pelayar Ladybird, ia telah memutuskan untuk menggunakan bahasa Swift

Pembangun pelayar Ladybird eksperimen telah mengumumkan hasrat mereka untuk menggunakan bahasa pengaturcaraan Swift sebagai bahasa utama untuk projek mereka. Kemasukan dalam kod Swift dirancang untuk bermula pada musim gugur, selepas keluaran Swift 6 (penggunaan cawangan Swift 5 dihalang oleh sambungan ke versi lama Clang, yang tidak serasi dengan asas kod Ladybird semasa dalam C++) . Terima kasih kepada keupayaan untuk menggabungkan kod dalam C++ dan Swift, Swift akan dilaksanakan secara beransur-ansur tanpa menulis semula kod sedia ada.

Swift dipilih kerana beberapa kelebihan, termasuk amalan selamat ingatan, perlindungan terhadap keadaan perlumbaan, sintaks moden dan ergonomik. Kepentingan khusus kepada pasukan Ladybird ialah sifat berorientasikan objek Swift, yang membolehkannya memodelkan spesifikasi web dan dalaman penyemak imbas dengan lebih tepat. Pembangun juga mencatatkan peningkatan sokongan Swift untuk platform bukan Apple dan kerja aktif pada keserasian dengan C++, yang membuka jalan untuk pengenalan bahasa secara beransur-ansur ke dalam projek. Walaupun hubungan sejarah Swift dengan Apple, bahasa itu menjadi semakin bebas, seperti yang dibuktikan dengan, sebagai contoh, memindahkan repositorinya ke organisasi berasingan di GitHub.

Andreas Kling, pengasas projek Ladybird, berkongsi pendapatnya tentang Rust. Menurut Kling, walaupun Rust mempunyai ekosistem yang mengagumkan, ia kurang sesuai untuk membangunkan program jangka panjang dengan graf objek yang besar dan kompleks. Selain itu, Kling menyifatkan komuniti Rust sebagai "toksik".

Mari kita ingat bahawa pelayar Ladybird pada mulanya dibangunkan sebagai sebahagian daripada projek untuk membangunkan sistem pengendalian SerenityOS. Pada Jun 2024, Andreas Kling, yang pernah bekerja di Nokia dan sedang membangunkan Safari, memutuskan untuk memisahkan projek penyemak imbas daripada projek sistem pengendalian dan menumpukan masanya sepenuhnya untuk pembangunannya. Pada bulan Julai, projek itu menerima derma $1 juta dan mula membentuk Inisiatif Pelayar Ladybird bukan untung.

Pelayar ditulis dalam C++ dan diedarkan di bawah lesen BSD. Projek ini sedang membangunkan enjin LibWeb sendiri, penterjemah JavaScript LibJS, rendering teks dan perpustakaan grafik 2D LibGfx, enjin ekspresi biasa LibRegex, penghurai XML LibXML, penterjemah kod perantaraan WebAssembly (LibWasm), perpustakaan untuk bekerja dengan Unicode LibUnicode, perpustakaan untuk menukar teks LibTextCodec pengekodan, penghurai Markdown (LibMarkdown), perpustakaan dengan primitif kriptografi (LibCrypto, LibTLS), perpustakaan untuk bekerja dengan arkib LibArchive, perpustakaan untuk memainkan audio dan video (LibAudio, LibVideo) dan perpustakaan LibCore dengan set fungsi berguna yang biasa, seperti penukaran masa, pemprosesan jenis I/O dan MIME.

В Ladybird применяется многопроцессная архитектура, в которой занимающийся формированием интерфейса процесс отделён от процессов, обеспечивающих обработку web-контента, отправку запросов по сети, декодирование изображений и хранение Cookie. Связанные с декодированием изображений и сетевым взаимодействием обработчики выделены в отдельные процессы для усиления изоляции и защиты. Для каждой вкладки используется отдельный процесс обработки web-контента, изолированный от остальной системы. Для построения интерфейса в macOS AppKit digunakan dalam Android — родной для данной платформы API создания графического интерфейса, а на остальных платформах — Qt. Поддерживаются основные web-стандарты (браузер проходит тесты Acid3), HTTP/1.1 и HTTPS. Графический интерфейс оформлен в классическом стиле и поддерживает вкладки.

Sumber: opennet.ru

Beli pengehosan yang boleh dipercayai untuk tapak dengan perlindungan DDoS, pelayan VPS VDS 🔥 Beli pengehosan laman web yang boleh dipercayai dengan perlindungan DDoS, pelayan VPS VDS | ProHoster