Iniciatīva Servo pārlūkprogrammas dzinēja atdalīšanai no Mozilla SpiderMonkey

Servo pārlūkprogrammas izstrādātāji iepazīstināja ar iniciatīvu, lai stiprinātu modularitāti un atteiktos no SpiderMonkey JavaScript dzinēja zema līmeņa API izmantošanas, ko izstrādājusi Mozilla un ko izmanto Servo, lai nodrošinātu JavaScript un WebAssembly atbalstu. Nākotnē Servo plāno pāriet uz augstāka līmeņa API un abstrakcijas slāni mijiedarbībai ar JavaScript dzinējiem, kas ļaus atbrīvoties no nedrošiem tiešiem izsaukumiem uz SpiderMonkey kodu, kas tiek veikti nedrošos blokos. Ilgtermiņā šīs izmaiņas ļaus mums atteikties no stingras saiknes ar SpiderMonkey un nodrošināt atbalstu citiem JavaScript un WebAssembly dzinējiem, piemēram, pārlūkprogrammā Chrome izmantotajam V8 dzinējam.

Servo projekts ir rakstīts Rust valodā un izceļas ar tā atbalstu tīmekļa lapu daudzpavedienu renderēšanai, darbību paralēlizēšanai ar DOM (Document Object Model) un drošu programmēšanas mehānismu izmantošanu, ko nodrošina Rust valoda. Servo projektu sākotnēji izstrādāja Mozilla, bet pēc tam tas nonāca Linux fonda aizgādībā. Servo ir sākotnēji izstrādāts, lai atbalstītu DOM sadalīšanu un koda renderēšanu mazākos apakšuzdevumos, kas var darboties paralēli un efektīvāk izmantot daudzkodolu CPU resursus. Firefox jau ir integrētas dažas Servo daļas, piemēram, vairāku pavedienu CSS dzinējs un WebRender renderēšanas sistēma.

Avots: opennet.ru

Pievieno komentāru