Mozilla Servo Browser Alpha Released in June

    Mozilla Servo's experimental engine is close to releasing an alpha version. The other day, the developers announced that they are planning the first release of Servo + Browser.html in June 2016 .

    Servo is an engine written from scratch in the Rust programming language. It is distinguished by better security, modularity, and extremely high performance due to the parallel page layout algorithm and the new CSS3 and HTML5 parsers on Rust. Two important components use existing Mozilla C ++ modules: the SpiderMonkey engine for 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 ideally displays browser.html, but there are problems on real sites. By June, developers want to fix bugs with 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] bugs duckduckgo
    - github.com/servo/servo/issues/9916 [meta ] hackernews bugs
    - github.com/servo/servo/issues/9917 [meta] reddit bugs

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



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

    The second reason, according to the developers, is the insecurity of C ++. Most 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, with built-in parallelism, etc.

    Presentation "Servo: Building a Parallel Browser"

    Also popular now: