⬆️ ⬇️

The alpha version of the browser on the engine Mozilla Servo will be released in June

The experimental Mozilla Servo engine is close to the release of the alpha version. Recently, the developers reported that they are planning the first release of Servo + Browser.html for June 2016 .



Servo is an engine written from scratch in the Rust programming language. It is distinguished by better security, modularity, as well as exceptionally high performance due to the parallel page layout algorithm and the new CSS3 and HTML5 parsers on Rust. Two important components are using existing Mozilla C ++ modules: this is the SpiderMonkey engine for handling JavaScript and the Azure 2D graphics library for OpenGL and Direct3D.



Servo performance comparison with other browsers, March 3, 2016

Chrome Canary - 15 FPS

Mozilla Firefox Developer - 9 FPS

Apple WebKit Nightly - 5 FPS

Mozilla Servo - 60 FPS





')

Servo is currently running under 64-bit Linux, 64-bit OS X, Android and Gonk (Firefox OS). True, there are a number of bugs with rendering. Servo perfectly displays browser.html, but there are problems on real sites. By June, developers want to fix bugs with the rendering of the most relevant sites - Github, Duckduckgo, Hackernews and Reddit. The corresponding tickets are open.



- github.com/servo/servo/issues/9914 [meta] bugs github.com

- github.com/servo/servo/issues/9915 [meta] duckduckgo bugs

- github.com/servo/servo/issues/9916 [meta] bugs hackernews

- github.com/servo/servo/issues/9917 [meta] reddit bugs



The high level of concurrency is the key advantage of Servo. It allows you to use the multi-core architecture of modern processors. The developers explain the reasons that led them to create a new engine. First, modern engines are huge, they are millions of lines of code. This amount of code can not be optimized, it is too large and can not be refactored. Easier to rewrite from scratch.







The current browsers, including Firefox, were developed many years ago for single-core processors and very simple web pages. All this heritage is preserved in the current code, from which it is better to get rid of.



The second reason, according to the developers, is C ++ insecurity. Most of the vulnerabilities in modern browsers are related to the exploitation of the C ++ memory model. In contrast, Rust is a fast and secure programming language, with automatic memory management, no race conditions, embedded parallelism, etc.



Presentation "Servo: Building a Parallel Browser"

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



All Articles