Mozilla Servo Browser Alpha Lançado em junho

O mecanismo experimental do Mozilla Servo está perto de lançar uma versão alfa. No outro dia, os desenvolvedores anunciaram que estão planejando o primeiro lançamento do Servo + Browser.html em junho de 2016 .

Servo é um mecanismo escrito do zero na linguagem de programação Rust. Distingue-se por melhor segurança, modularidade e desempenho extremamente alto devido ao algoritmo de layout de página paralela e aos novos analisadores CSS3 e HTML5 no Rust. Dois componentes importantes usam os módulos Mozilla C ++ existentes: o mecanismo SpiderMonkey para JavaScript e a biblioteca de gráficos 2D do Azure para OpenGL e Direct3D.

Comparação de desempenho de servo com outros navegadores, 3 de março de 2016
Chrome Canary - 15 FPS
Mozilla Firefox Developer - 9 FPS
Apple WebKit Nightly - 5 FPS
Mozilla Servo - 60 FPS



Atualmente, o Servo está sendo executado no Linux de 64 bits, OS X de 64 bits, Android e Gonk (Firefox OS). É verdade que há vários bugs na renderização. Servo exibe idealmente browser.html, mas há problemas em sites reais. Em junho, os desenvolvedores desejam corrigir erros na renderização dos sites mais relevantes - Github, Duckduckgo, Hackernews e Reddit. Os ingressos correspondentes estão abertos.

- github.com/servo/servo/issues/9914 [meta] bugs github.com
- github.com/servo/servo/issues/9915 [meta] bugs duckduckgo
- github.com/servo/servo/issues/9916 [meta ] bugs do hackernews
- github.com/servo/servo/issues/9917 [meta] reddit bugs

Um alto nível de simultaneidade é uma das principais vantagens do Servo. Ele permite que você use a arquitetura multinúcleo de processadores modernos. Os desenvolvedores explicam os motivos que os incentivaram a criar um novo mecanismo. Em primeiro lugar, os motores modernos são enormes, são milhões de linhas de código. Essa quantidade de código não pode ser otimizada, é muito grande e não pode ser refatorada. Mais fácil reescrever do zero.



Os navegadores atuais, incluindo o Firefox, foram desenvolvidos há muitos anos para processadores de núcleo único e páginas da web muito simples. Todo esse legado é preservado no código atual, do qual é melhor se livrar.

A segunda razão, de acordo com os desenvolvedores, é a insegurança do C ++. A maioria das vulnerabilidades nos navegadores modernos está relacionada à exploração do modelo de memória C ++. Por outro lado, o Rust é uma linguagem de programação rápida e segura, com gerenciamento automático de memória, sem condições de corrida, com paralelismo interno, etc.

Apresentação "Servo: construindo um navegador paralelo"

Source: https://habr.com/ru/post/pt391701/


All Articles