Servo : Mozilla propose des préversions de son nouveau moteur de rendu

Servo : Mozilla propose des préversions de son nouveau moteur de rendu

Sous Linux et OS X pour l'instant

Avatar de l'auteur
Vincent Hermann

Publié dans

Logiciel

04/07/2016 4 minutes
32

Servo : Mozilla propose des préversions de son nouveau moteur de rendu

Mozilla propose depuis peu des « nightlies » de Servo, le moteur de rendu sur lequel travail l’éditeur. Bien que disposant d’une interface, le moteur est surtout mis à disposition pour commencer à tester son comportement et ses capacités.

Servo est le nom d’un moteur de rendu web sur lequel travaille Mozilla, en partenariat avec Samsung. Difficile de savoir actuellement s’il s’agit d’un projet à but commercial, le père de Firefox ayant martelé jusqu’ici qu’il s’agissait surtout d’un projet d’étude. Objectif, revoir de fond en comble la manière dont une page web est rendue et améliorer les performances. Le moteur est entièrement développé en Rust, le langage créé par Mozilla il y a des années. L'éditeur avait promis que des préversions seraient disponibles en juin.

Les premiers binaires de test pour Linux et OS X

Mozilla a donc commencé à proposer des versions « nightlies » de Servo, autrement dit des préversions compilées chaque nuit. Comme toujours dans ce cas, il s’agit de moutures que l’on peut qualifier d’alphas, dans la mesure où aucune garantie de stabilité n’est donnée. C’est d’autant plus vrai que le projet est jeune et que l’éditeur avait prévenu qu’il était bien question d’un nouveau moteur, et non d’un navigateur.

Pour l’instant, seuls les téléchargements pour Linux et OS X sont disponibles. Mozilla a précisé que des versions pour Android et Windows étaient en cours de préparation et seraient bientôt proposées. L’installation est classique, mais les possesseurs de Mac devront faire attention au réglage de Gatekeeper, car les binaires de Servo ne sont pas signés.

servo

Fonctionnel, mais minimal

Servo est globalement fonctionnel, mais ne dispose que de très peu de fonctions. Les onglets sont tout de même présents, même si leur gestion est particulière :  on clique sur un bouton « + » situé en haut à droite, la liste des onglets étant disponible dans un menu « hamburger » situé à côté du premier bouton. La liste est verticale, ce qui peut être un peu perturbant. Mais, encore une fois, il ne s’agit pas à proprement parler d’un navigateur, et l’interface n’a pas vocation à être visible.

Servo se résume essentiellement à une fenêtre blanche affichant une grille de sites ou de tests. Pour les actualités, Ars Technica et The Hacker News sont mis en avant, accompagnés de Duck Duck Go, GitHub, Wikipedia ou encore le site officiel du langage Rust. Quatre tests sont fournis : Evil Ad, Moire, Spheres et Transparent Rects. Ces derniers sont intéressants car ils montrent un résultat plus fluide sous Servo que sous Firefox dans la plupart des cas.

Mozilla souhaite des remontées de problèmes

Pour le reste, il s’agit davantage pour Servo de dire « j’existe ». Ces préversions ne sont en aucun cas utilisables au quotidien. Par exemple, le chargement de Next INpact plante, tout comme de nombreux autres sites qui n’affichent alors que des pages blanches. Mozilla souhaite cependant montrer que le projet a avancé d’une case et que des développeurs – Rust, JS et Python notamment – s’intéressent de près à ce moteur, une liste de bugs à corriger étant déjà disponible.

Rappelons que Servo est un projet open source. Il dispose de son propre dépôt sur GitHub et peut être manipulé sous Mozilla Public License 2.0. La disponibilité de versions compilées et d’une page dédiée aux téléchargements devrait permettre aux développeurs de se pencher plus facilement sur ce nouveau venu, surtout si – comme Mozilla l’espère – ils prennent le temps de remonter les bugs.

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Les premiers binaires de test pour Linux et OS X

Fonctionnel, mais minimal

Mozilla souhaite des remontées de problèmes

Commentaires (32)


Si sous Linux vous avez cette erreur :





thread ‘main’ panicked at ‘Failed to create window.: OsError(“GL context creation failed”)’, ../src/libcore/result.rs:785



Éditez le fichier runservo.sh et retirez l’option “-w”. Je ne sais pas ce que cette option fait, mais ça fonction impec’ sans !








Salamandar a écrit :



Éditez le fichier runservo.sh et retirez l’option “-w”. Je ne sais pas ce que cette option fait, mais ça fonction impec’ sans !





En gros ca active webrender : un mode de rendu basé sur l’utilisation de l’accélération3D en “retained mode” pour l’affichage de la plupart des éléments, contrairement au moteurs classiques qui ne l’utilisent quasiment que pour faire de la composition en “immédiate mode”. plus de précisions



Je voulais poster un screen de nextinpact avec servo mais il crash en essayant d’afficher la page.



quelqu’un sait comment metre un point “.” dans une url ? quand j’essaye il me met un “:”. Le copier coller c’est pas super pratique



edit: je suis sous debian 8

 








Meewan a écrit :



Je voulais poster un screen de nextinpact avec servo mais il crash en essayant d’afficher la page.



quelqu’un sait comment metre un point “.” dans une url ? quand j’essaye il me met un “:”. Le copier coller c’est pas super pratique



edit: je suis sous debian 8

 



shift + virgule  du clavier numérique ?





Par exemple, le chargement de Next INpact plante





Encore un site codé avec les pieds <img data-src=" /> <img data-src=" />


Marrant de dire “C’est juste un moteur” 3 fois, puis de dire que c’est incomplet car il y a juste une gestion minimale des onglets :)








Wawet76 a écrit :



Marrant de dire “C’est juste un moteur” 3 fois, puis de dire que c’est incomplet car il y a juste une gestion minimale des onglets :)







C’est surtout incomplet au niveau du support JS et CSS. Mon site fonctionne vraiment mal dessus.







Meewan a écrit :



Je voulais poster un screen de nextinpact avec servo mais il crash en essayant d’afficher la page.



quelqu’un sait comment metre un point “.” dans une url ? quand j’essaye il me met un “:”. Le copier coller c’est pas super pratique



edit: je suis sous debian 8





J’ai eu le même problème, on dirait que c’est bloqué en clavier US pour certaines choses. Trop bizarre.









Wawet76 a écrit :



Marrant de dire “C’est juste un moteur” 3 fois, puis de dire que c’est incomplet car il y a juste une gestion minimale des onglets :)





J’avoue que ca m’a fait tiquer aussi :)









CryoGen a écrit :



J’avoue que ca m’a fait tiquer aussi :)





Oui j’ai changé “très incomplet” pour “minimal”, ce n’était guère logique en effet&nbsp;<img data-src=" />



Non, un site codé sans Servo <img data-src=" />








psn00ps a écrit :



Non, un site codé sans Servo <img data-src=" />





<img data-src=" />









psn00ps a écrit :



Non, un site codé sans Servo <img data-src=" />







<img data-src=" />



Great, merci de l’info <img data-src=" />








psn00ps a écrit :



Non, un site codé sans Servo <img data-src=" />





Ptin, j’ai mis longtemps à comprendre le jeu de mots, j’ai cru un instant que tu disais une connerie <img data-src=" />



Pareil chez moi, il me propose même d’ouvrir une issue sur Github.



Le clavier est bloqué en qwerty pour les symboles on dirait… C’est assez bizarre. Perso en bépo j’ai pas de soucis avec “.”, mais avec les chiffres (min/maj en qwerty)


Ce serait plutôt un Cerveau qu’il faudrait chez Mozilla pour éviter de se lancer à corps perdu dans des projets raté d’avance (coucou Firefox OS) et avancer sur le 64 bits.


?

Firefox 64 bits est dispo depuis un bon moment, et un nouveau moteur, possiblement plus avancé que Blink/Webkit (et surtout Gecko) me semble une bonne chose.


<img data-src=" />


Ah, sur Windows aussi ? Si oui, il va falloir que je mette mes trolls à jour <img data-src=" />








v6relou a écrit :



Ce serait plutôt un Cerveau qu’il faudrait chez Mozilla pour éviter de se lancer à corps perdu dans des projets raté d’avance (coucou Firefox OS) et avancer sur le 64 bits.









  1. Je ne vois pas en quoi Firefox OS est un projet « raté d’avance ». Certes Mozilla arrête de produire des appareils mobiles, mais ils continuent de développer Firefox OS pour d’autres appareils connectés, notamment des TV. Firefox OS n’a jamais eu pour ambition de remplacer Android hein…



  2. Firefox est disponible en 64 bits, pour Windows, Mac OS X, et Linux. Il faut se mettre à la page au lieu de ressasser des trolls datant de 2013.



  3. Mozilla développe un navigateur, ça n’a rien de surprenant ni de stupide de travailler sur un moteur de rendu. Ça fait partie de leur taff, s’ils estiment que c’est nécessaire pour rester concurrentiels, c’est normal qu’ils le fassent. Et puis la concurrence aura du bon dans un Web de plus en plus dominé par Webkit.



    Bref, est-ce que ce ne serait pas toi qui devrais t’acheter un Cerveau ? <img data-src=" />



Je suis d’accord pour FirefoxOS, même si pour les objets connectés (et non les smartphones), c’était très prometteur. Et ça l’est toujours, je crois, malgré Samsung avec Tizen en face (qui est encore plus prometteur).

Mais chez Mozilla, ils ont un peu arrêté de se lancer un peu dans tous les sens ; et le développement d’un moteur JS parallélisé, performant et surtout, moderne, est ZE projet central sur lequel tout Mozilla doit se concentrer.

D’autre part, ils ne se lancent pas que dans des projets ratés d’avance : le langage Rust, de Mozilla, est excellent (même si il ne ressemble à aucun autre langage sur plein d’aspects), performant (compilé), moderne (même si éprouvé, “Rust” = rouille) avec des features juste magiques (les enums) et qui a une belle vie devant lui (même si la gestion du multi-fichiers est bizarre) : compatible binairement avec le C, la transition est souple.








v6relou a écrit :



Ah, sur Windows aussi ? Si oui, il va falloir que je mette mes trolls à jour <img data-src=" />





Une news NextInpact en faisait l’objet :p



Tizen mouais. Ça fait des années que j’en entends parler dans les commentaires ici mais pas ailleurs. Je ne pense pas qu’HTML comme framework de développement soit adapté au mobile. Du moins pas pour tout les types d’apps, ni en face d’outils de plateforme et d’environnements de développements très productifs comme Visual Studio et compagnie. Mais bon Samsung a tout intérêt à conserver un joker vis-à-vis d’Android.



Rust ça reste un langage de niche, qui se tire la bourre dans le flux Hacker News avec Go mais en pratique je ne crois pas que ce soit utilisé pour de vrais projets en dehors de ceux de Mozilla. Niveau safety et performance c’est effectivement intéressant. Mais c’est loin d’être le premier au le seul (MSR avait plusieurs extensions de C# ayant les mêmes objectifs, c’est dommage que je ne soit pas aller plus loin).


Dropbox utilise aussi Rusthttps://mozillazine-fr.org/le-saviez-vous-dropbox-est-passe-a-rust/



Sinon +1 pour le C# a destination de la programmation système… Mais tout ne doit pas être parti à la poubelle..








arno53 a écrit :



Dropbox utilise aussi Rusthttps://mozillazine-fr.org/le-saviez-vous-dropbox-est-passe-a-rust/



Sinon +1 pour le C# a destination de la programmation système… Mais tout ne doit pas être parti à la poubelle..







Y’en a même qui s’amusent à code un OS avec Rust : http://www.redox-os.org/









zefling a écrit :



Y’en a même qui s’amusent à code un OS avec Rust : http://www.redox-os.org/







Et en plus c’est pas juste un petit projet pour faire tourner un tetris en console, le truc fait tourner Wayland avec Orbital (écrit en Qt5) <img data-src=" />



Je peux me tromper mais il me semble d’après la lecture de la doc que le Orbital de Redox est une interface qui n’a pour le moment rien a voir avec compositeur Wayland écrit en Qt5.


Tizen propose le C/C++, le java (enfin, l’android), le python, Lua, et le support de Phonegap. C’est loin d’être limité au simple HTML (et sinon je suis d’accord avec toi, c’est pour ça que je ne croyais pas à FirefoxOS pour mobile).



Rust, c’est hyper nouveau et novateur, c’est normal qu’il ait du mal à décoller. Déjà, il est plus populaire que Go, le language de Google, c’est déjà ça ;)


Ouep, je crois que l’intégralité de l’OS est codé en Rust, donc pas de projets “externes” :)


C’est cool de voir des évolutions du côté de Servo. Faut pas perdre de vue que c’est sûrement très rapide aujourd’hui, mais il manque encore beaucoup de fonctionnalités qui vont très probablement faire redescendre un peu l’efficacité de ce moteur.



J’espère que Browser.html restera à l’état de test par contre. Je trouve ça un peu dommage d’utiliser volontairement des technos non performantes (HTML+CSS+JS) pour faire des applications. C’est d’ailleurs en partie ce qui me rebute chez Firefox OS. Ça permet sûrement de réunir plus de développeurs, mais Javascript est probablement un des pires langages de programmation, en plus d’être pas super performant. Qu’on se comprenne, Javascript est rapide pour un langage web, mais par rapport à un langage compilé, il ne fait pas le poids.



Ce serait cool qu’après Servo, Mozilla fasse un navigateur en Rust aussi (ça permettra de mettre à l’épreuve les bibliothèques de UI après avoir mis à l’épreuve les fonctionnalités systèmes du langage).


En même temps, Les performances de JavaScript ne sont pas vraiment un problème : les parties graphique, réseau et accès au système qui requièrent réellement des performances sont géré par le moteur en Rust.




Le pilotage  l'interface graphique n'a pas besoin de performances colossales. Même si je déteste ce langage au plus haut point, il devrait être largement  suffisant au niveau performances. D’ailleurs l'interface de FirefoxOS a prouvé qu'elle était bien plus réactive que celle d'Android sur des  machines équivalentes.