Os desenvolvedores do mecanismo de navegador Servo apresentaram uma iniciativa para aumentar a modularidade e se afastar do uso das APIs de baixo nível do mecanismo JavaScript SpiderMonkey, desenvolvido pela Mozilla e utilizado no Servo para suportar JavaScript e WebAssembly. No futuro, o Servo planeja migrar para uma API de nível superior e uma camada de abstrações para interagir com mecanismos JavaScript, o que permitirá eliminar chamadas diretas inseguras ao código SpiderMonkey, realizadas em blocos unsafe. A longo prazo, essa mudança permitirá abandonar a forte dependência do SpiderMonkey e fornecer suporte a outros mecanismos JavaScript e WebAssembly, como o mecanismo V8 usado no Chrome.
O projeto Servo é escrito na linguagem Rust e se destaca pelo suporte ao renderização de páginas web em múltiplas threads, paralelizando operações com o DOM (Modelo de Objeto de Documento) e utilizando os mecanismos de programação segura fornecidos pela linguagem Rust. O projeto Servo foi inicialmente desenvolvido pela Mozilla, mas depois passou para a tutela da organização Linux Foundation. O Servo foi criado com suporte para dividir o código do DOM e o renderização em tarefas menores que podem ser executadas em paralelo, utilizando de forma mais eficaz os recursos de CPUs multicore. Algumas partes do Servo, como o mecanismo CSS de múltiplas threads e o sistema de renderização WebRender, já estão integradas ao Firefox.
Fonte: opennet.ru
