Utvecklarna av webblÀsarmotorn Servo har presenterat en initiativ för att öka modulariteten och avstÄ frÄn anvÀndningen av lÄgnivÄ API:er frÄn JavaScript-motorn SpiderMonkey, som utvecklas av Mozilla och anvÀnds i Servo för att stödja JavaScript och WebAssembly. Framöver planerar Servo att övergÄ till ett högre nivÄ API och ett abstraktionslager för interaktion med JavaScript-motorer, vilket kommer att möjliggöra att eliminera osÀkra direkta anrop till SpiderMonkey-koden som utförs i osÀkra block. PÄ lÄng sikt kommer förÀndringen att möjliggöra att man slipper den strikta kopplingen till SpiderMonkey och tillhandahÄlla stöd för andra JavaScript- och WebAssembly-motorer, sÄsom V8-motorn som anvÀnds i Chrome.
Projektet Servo Àr skrivet i Rust och kÀnnetecknas av stöd för flertrÄdad rendering av webbsidor, parallellisering av DOM-operationer (Document Object Model) och anvÀndningen av de sÀkerhetsmekanismer som tillhandahÄlls av Rust. Projektet Servo utvecklades ursprungligen av Mozilla, men övergick sedan till Linux Foundation. Servo skapades ursprungligen med stöd för uppdelning av DOM-kod och rendering av mindre deluppgifter som kan utföras parallellt och effektivare utnyttja resurserna i flerkÀrniga CPU:er. I Firefox har redan vissa delar av Servo integrerats, sÄsom den flertrÄdiga CSS-motorn och renderingstrukturen WebRender.
KĂ€lla: opennet.ru
