Die Entwickler der Browser-Engine Servo haben eine Initiative vorgestellt, um die Modularität zu erhöhen und von den low-level APIs der JavaScript-Engine SpiderMonkey, die von Mozilla entwickelt wird und in Servo zur Unterstützung von JavaScript und WebAssembly verwendet wird, abzurücken. Zukünftig plant Servo, auf eine höherstufige API und eine Abstraktionsschicht für die Interaktion mit JavaScript-Engines umzusteigen, was es ermöglichen wird, unsichere direkte Zugriffe auf den SpiderMonkey-Code, die in unsafe-Blöcken ausgeführt werden, zu vermeiden. In ferner Zukunft wird diese Änderung ermöglichen, von der festen Bindung an SpiderMonkey loszukommen und die Unterstützung anderer JavaScript- und WebAssembly-Engines, wie der in Chrome verwendeten V8-Engine, zu gewährleisten.
Das Projekt Servo ist in der Programmiersprache Rust geschrieben und zeichnet sich durch die Unterstützung multithreaded Rendering von Web-Seiten, die Parallelisierung von DOM-Operationen (Document Object Model) sowie die Nutzung der sicheren Programmiertechniken von Rust aus. Ursprünglich wurde das Projekt Servo von Mozilla entwickelt, gehört jetzt jedoch zur Linux Foundation. Servo wurde mit der Unterstützung der Aufteilung des DOM-Codes und der Rendering-Prozesse in kleinere Unteraufgaben geschaffen, die parallel ausgeführt werden können und die Ressourcen moderner Mehrkern-CPUs effizienter nutzen. Einige Teile von Servo, wie die multithreaded CSS-Engine und das Rendering-System WebRender, sind bereits in Firefox integriert.
Quelle: opennet.ru
