Developers of the browser engine Servo recently presented an initiative to enhance modularity and maintainability by transitioning to a low-level API JavaScript engine called Spidermonkey, which is developed by Mozilla and currently used in Servo to support JavaScript and Webassembly. The plan for the future involves migrating Servo to a higher-level API and implementing a layer of abstractions for interacting with JavaScript, allowing for the elimination of unsafe direct calls to the Spidermonkey code within UNSAFE blocks. This change, in the long term, will enable Servo to move away from a tight coupling with Spidermonkey and offer support for other JavaScript and Webassembly engines, such as v8.
The Servo project, written in Rust, stands out for its support of multi-threaded rendering of web pages, parallelizing operations with the Document Object Model (DOM), and leveraging the safe programming mechanisms provided by the Rust language. Initially developed by Mozilla, the Servo project is now under the auspices of the Linux Foundation. Servo was designed with a focus on breaking down DOM and rendering code into smaller tasks that can be executed in parallel, optimizing resource utilization on multi-core CPUs. Firefox has already integrated certain components of Servo, including a multi-threaded CSS-engine and the Webrender drawing system.