Gli sviluppatori del motore browser Servo hanno presentato un'iniziativa per rafforzare la modularità e allontanarsi dall'uso delle API JavaScript di basso livello del motore SpiderMonkey, sviluppato da Mozilla e utilizzato in Servo per garantire il supporto per JavaScript e WebAssembly. In futuro, Servo prevede di passare a un'API di livello superiore e a uno strato di astrazione per interagire con i motori JavaScript, il che consentirà di eliminare le chiamate dirette non sicure al codice SpiderMonkey eseguite in blocchi unsafe. A lungo termine, la modifica permetterà di distaccarsi dalla forte dipendenza da SpiderMonkey e di garantire il supporto per altri motori JavaScript e WebAssembly, come il motore V8 utilizzato in Chrome.
Il progetto Servo è scritto in Rust e si distingue per il supporto al rendering multithread delle pagine web, alla parallelizzazione delle operazioni con il DOM (Document Object Model) e all'uso dei meccanismi di programmazione sicura forniti dal linguaggio Rust. Il progetto Servo è stato originariamente sviluppato da Mozilla, ma poi è passato sotto l'egida della Linux Foundation. Servo è stato concepito per supportare la suddivisione del codice DOM e il rendering in compiti più piccoli, che possono essere eseguiti in parallelo e utilizzare in modo più efficace le risorse delle CPU multicore. Alcune parti di Servo, come il motore CSS multithread e il sistema di rendering WebRender, sono già integrate in Firefox.
Fonte: opennet.ru
