Los desarrolladores del motor de navegador Servo han presentado una iniciativa para aumentar la modularidad y alejarse del uso de API de bajo nivel del motor JavaScript SpiderMonkey, desarrollado por Mozilla y utilizado en Servo para proporcionar soporte a JavaScript y WebAssembly. En el futuro, Servo planea migrar a una API de nivel superior y una capa de abstracción para interactuar con los motores JavaScript, lo que permitirá eliminar las inseguras llamadas directas al código SpiderMonkey ejecutadas en bloques unsafe. A largo plazo, este cambio permitirá liberar a Servo de la estricta dependencia de SpiderMonkey y asegurar el soporte de otros motores de JavaScript y WebAssembly, como el motor V8 utilizado en Chrome.
El proyecto Servo está escrito en Rust y se distingue por su soporte para el renderizado multihilo de páginas web, la paralelización de operaciones con el DOM (Modelo de Objetos del Documento) y la utilización de los mecanismos de programación segura que ofrece Rust. Originalmente, el proyecto Servo fue desarrollado por Mozilla, pero luego pasó bajo la tutela de la organización Linux Foundation. Servo fue diseñado desde el principio con soporte para dividir el código del DOM y el renderizado en tareas más pequeñas, que pueden ejecutarse en paralelo y utilizar más eficientemente los recursos de CPUs multinúcleo. Ya se han integrado algunas partes de Servo en Firefox, como el motor CSS multihilo y el sistema de renderizado WebRender.
Fuente: opennet.ru
