Vývojáři prohlížečového enginu Servo představili iniciativu na zvýšení modularity a opuštění nízkoúrovňových API JavaScript enginu SpiderMonkey, vyvíjeného společností Mozilla a používaného v Servu pro zajištění podpory JavaScriptu a WebAssembly. V budoucnu plánují Servo přejít na vyšší úrovňové API a vrstvu abstrakcí pro interakci s JavaScriptovými enginy, což umožní zbavit se nebezpečných přímých volání na kód SpiderMonkey prováděných v blokách unsafe. V dlouhodobém horizontu tato změna umožní opustit pevné vazby na SpiderMonkey a zajistit podporu dalších JavaScriptových a WebAssembly enginů, jako je engine V8 používaný v Chromu.
Projekt Servo je napsán v jazyce Rust a vyznačuje se podporou vícestupňového vykreslování webových stránek, paralelizací operací s DOM (Document Object Model) a využíváním mechanismů bezpečného programování poskytovaných jazykem Rust. Projekt Servo byl původně vyvíjen společností Mozilla, ale poté přešel pod křídla organizace Linux Foundation. Servo bylo původně vytvořeno s podporou rozdělení DOM kódu a vykreslování na menší podúkoly, které mohou být prováděny paralelně, a tím efektivněji využívat prostředky vícejádrových CPU. Některé části Serva, jako je vícestupňový CSS engine a renderovací systém WebRender, jsou již integrovány ve Firefoxu.
Zdroj: opennet.ru
