Mozilla Servo Browser Alpha est sorti en juin

Le moteur expérimental de Mozilla Servo est sur le point de publier une version alpha. L'autre jour, les développeurs ont annoncé qu'ils prévoyaient la première version de Servo + Browser.html en juin 2016 .

Servo est un moteur écrit à partir de zéro dans le langage de programmation Rust. Il se distingue par une meilleure sécurité, une modularité et des performances extrêmement élevées grâce à l'algorithme de mise en page parallèle et aux nouveaux analyseurs CSS3 et HTML5 sur Rust. Deux composants importants utilisent les modules Mozilla C ++ existants: le moteur SpiderMonkey pour JavaScript et la bibliothèque graphique Azure 2D pour OpenGL et Direct3D.

Comparaison des performances des servos avec d'autres navigateurs, 3 mars 2016
Chrome Canary - 15 FPS
Développeur Mozilla Firefox - 9 FPS
Apple WebKit Nightly - 5 FPS
Mozilla Servo - 60 FPS



Servo fonctionne actuellement sous Linux 64 bits, OS X 64 bits, Android et Gonk (Firefox OS). Certes, le rendu présente un certain nombre de bogues. Le servo affiche idéalement browser.html, mais il y a des problèmes sur les sites réels. D'ici juin, les développeurs veulent corriger les bugs avec le rendu des sites les plus pertinents - Github, Duckduckgo, Hackernews et Reddit. Les billets correspondants sont ouverts.

- 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 ] bogues hackernews
- github.com/servo/servo/issues/9917 [meta] bogues reddit

Un niveau élevé de simultanéité est un avantage clé de Servo. Il vous permet d'utiliser l'architecture multicœur des processeurs modernes. Les développeurs expliquent les raisons qui les ont encouragés à créer un nouveau moteur. Premièrement, les moteurs modernes sont énormes, ce sont des millions de lignes de code. Cette quantité de code ne peut pas être optimisée, elle est trop grande et ne peut pas être refactorisée. Réécriture plus facile à partir de zéro.



Les navigateurs actuels, y compris Firefox, ont été développés il y a de nombreuses années pour les processeurs monocœur et les pages Web très simples. Tout cet héritage est préservé dans le code actuel, qui est préférable de s'en débarrasser.

La deuxième raison, selon les développeurs, est l'insécurité du C ++. La plupart des vulnérabilités des navigateurs modernes sont liées à l'exploitation du modèle de mémoire C ++. En revanche, Rust est un langage de programmation rapide et sécurisé, avec gestion automatique de la mémoire, sans condition de concurrence, avec parallélisme intégré, etc.

Présentation "Servo: Construire un navigateur parallèle"

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


All Articles