Connexion
Abonnez-vous

Mozilla et Samsung ensemble sur Servo, un nouveau moteur de rendu

Pour remplacer Gecko ? Pas si sûr

Mozilla et Samsung ensemble sur Servo, un nouveau moteur de rendu

Le 04 avril 2013 à 15h40

Journée chargée décidément dans le monde des navigateurs : après l’annonce de Google sur Blink et la compatibilité SPDY dans Internet Explorer 11, Mozilla annonce un partenariat avec Samsung pour créer un nouveau moteur de rendu. Nommé Servo, il s’agit pour l’instant d’une expérimentation qui n’aura peut-être pas, à terme, l’objectif de remplacer l’actuel Gecko.

servo 

Un nouveau moteur développé à l'aide d'un langage créé pour l'occasion

Jusqu’à récemment, le découpage du paysage des navigateurs penchait fortement dans la direction du moteur de rendu Webkit : Apple, Google et plus récemment Opera en étaient quelques exemples. Ce qui laissait, dans les alternatives principales, le moteur Trident d’Internet Explorer, toujours largement majoritaire, et Gecko de Mozilla. Mais alors que Google et Opera ont annoncé voguer vers Blink, Mozilla prépare peut-être sa prochaine génération de moteur de rendu.

 

À travers un partenariat avec Samsung, Mozilla annonce le projet Servo. Il s’agit d’un nouveau moteur web entièrement écrit avec un langage spécifiquement créé dans ce but. Nommé Rust, il s’écarte du C++, dont Mozilla juge qu’il ne correspond pas aux besoins recherchés. Il y a donc une ressemblance avec la famille C mais il « diffère de manière significative dans ses détails syntaxiques et sémantiques ». Langage décrit comme « safe » par défaut, Rust vient de passer en version 0.6.

 

Durant l’année qui vient, Mozilla indique que la première version majeure de Rust sera terminée. Durant ce laps de temps, le code sera nettoyé, la documentation renforcée, des outils seront mis en place et les performances seront améliorées. Durant cette phase de finition, les ressources affectées glisseront doucement vers le moteur de rendu Servo.

Diviser pour mieux régner 

Comme Webkit, Servo fait un usage intensif des sous-modules de Git. La fondation tient en effet à ce que chaque composant de Servo puisse être manipulé et trafiqué indépendamment des autres. En outre, il est constitué de processus nommés « Tasks » capable de prendre en charge de manière spécialisée les différents calculs à effectuer en fonction des éléments de la page. Selon Mozilla, il serait ainsi particulièrement adapté aux montées en charge.

 

Cependant, plusieurs éléments seront communs avec Gecko. C’est le cas notamment du nouveau moteur graphique Azure, actuellement en développement, et dont certaines parties sont déjà présentes dans Firefox. Il permet une abstraction des différentes méthodes de rendu couramment utilisées en fonction des éléments, tels que Cairo, OpenGL et Skia. On ne parle ici d’ailleurs que de graphismes 2D. Selon Mozilla, il sera d’autant plus simple de passer de l’un à l’autre, en prenant en compte le système d’exploitation et la présence d’un GPU pris en charge ou non. Enfin, le moteur JavaScript SpiderMonkey reste le même.

Un projet de recherche au long cours

En dépit des apparences, aucun des deux projets n’est réellement nouveau. Comme l’explique le directeur technique de Mozilla, Brendan Eich, le langage Rust par exemple est en développement depuis plusieurs années. Ce qui change cependant est l’arrivée récente de Samsung dans l’équation. Le responsable explique ainsi que la participation active a déjà permis le fonctionnement du projet sur plateforme ARM, ainsi qu’une infrastructure pour faciliter la compilation pour Android. L’actuelle mouture en développement peut en outre être récupérée depuis son dépôt Github.

 

L’objectif du duo Rust/Servo est de préparer un nouveau moteur qui sera capable de prendre en compte les nouveaux aspects du parc informatique mondial, réunissant aussi bien les ordinateurs fixes et mobiles, les smartphones que les tablettes. Des architectures hétérogènes, une augmentation rapide des coeurs dans les processeurs et autres SoC, de nouveaux jeux d’instruction et ainsi de suite. Mais Servo veut surtout assurer la sécurité de l’utilisateur en évitant les nids-de-poule habituels des moteurs de rendu. D’où l’utilisation de Rust, conçu pour être plus sûr et mieux armé face au parallélisme des instructions.

Servo n'est pas censé être le remplaçant de Gecko, mais...

Plusieurs précisions sont cependant de rigueur. La plus importante est que Servo, en dépit de l’enthousiasme de Mozilla et de Samsung à son sujet, reste avant tout un projet de recherche. Il est non seulement dans un état expérimental, mais pourrait également le rester. La fondation a par ailleurs déjà précisé qu’il ne fallait pas considérer Servo comme la relève de Gecko. Ce dernier va rester en place, et les plans évolueront peut-être par la suite.

 

Quant à Samsung, son implication soulève des interrogations. Il est intéressant de noter que ce travail commun prend place dans un contexte de division au sein de la famille Webkit. Samsung, actuellement en tête des ventes de smartphones, est un acteur majeur du monde mobile et un participant actif à Webkit. Voir la firme coréenne travailler sur un tel projet pourrait signifier qu’elle souhaite s’émanciper ou tout du moins qu’elle cherche à explorer d’autres pistes, ce qui ne serait guère étonnant puisqu'elle s'est investie largement dans Tizen.

... pourquoi refuser de tels bénéfices ? 

En outre, il est difficile de croire que Mozilla n’a pas déjà des projets concernant Servo. La capacité à prendre en charge les coeurs multiples dans les processus introduit en effet un bénéfice important : l’exécution parallèle des calculs aux éléments divers d’une page, tels que le HTML, les CSS, le JavaScript et ainsi de suite. Un avantage réservé en général à des calculs lourds et particuliers comme ceux de WebGL.

 

Concrètement, cela signifierait un moteur profitant pleinement de la puissance supplémentaire offerte par des processeurs et des puces évoluant à toute allure. Or, si l’on considère que le moteur de rendu Gecko est maintenant au sein d’un système d’exploitation basé avant tout sur les technologies du web, pourquoi Mozilla ne souhaiterait-il pas utiliser un composant capable de lui assurer une hausse des performances générale ?

 

Pour l’instant, Servo reste donc un projet et un vivier pour tester de nouvelles idées. Mozilla a cependant une idée bien précise sur la direction à lui donner, et il ne serait pas étonnant de voir l’éditeur en récolter les fruits d’ici quelques années.

Commentaires (29)

Vous devez être abonné pour pouvoir commenter.

Abonnez-vous
votre avatar



chaque composant de Servo puisse être manipulé et trafiqué indépendamment des autres





mode <img data-src=" /> ON



SERVO-

Élém. tiré du lat. servus « esclave », entrant dans la constr. de subst. appartenant au vocab. techn.; il introduit l’idée d’un asservissement, d’une dépendance entre divers mécanismes



Pas terrible le choix du nom <img data-src=" />

votre avatar

Le concurrent du Midori browser (Midori l’os <img data-src=" />) <img data-src=" />

votre avatar

Espérons qu’il soit rapide, sinon ce sera un Servo lent. <img data-src=" />





Je sors ====&gt;[<img data-src=" />]

votre avatar

Et pendant ce temps, dans un petit village gaulois, Opera est passé à la version 12.15 <img data-src=" />

votre avatar

Encore une bonne nouvelle : Google intègre Opus à Chrome 27

votre avatar







zefling a écrit :



Rust, en néerlandais c’est « repos, paix ».

Servo, en latin c’est « conserver, sauver, préserver, garantir »



La joie de traduire comme on veut :)





Désolé, la version anglaise me vient plus vite que la version néerlandaise, je sais pas pourquoi. <img data-src=" />



Ça me rappelle cette histoire avec le 4x4 Mitsubishi Pajero, dont le nom a rencontré quelques soucis dans les pays hispanophones. <img data-src=" />


votre avatar







Oungawak a écrit :



Désolé, la version anglaise me vient plus vite que la version néerlandaise, je sais pas pourquoi. <img data-src=" />







Avant de croire que l’anglais est la seule langue au monde, je veux sur Wiktionnaire. Souvent, les noms de code sont tirés d’autres langues.







Oungawak a écrit :



Ça me rappelle cette histoire avec le 4x4 Mitsubishi Pajero, dont le nom a rencontré quelques soucis dans les pays hispanophones. <img data-src=" />





Présente des Tchin-Tchin d’Afflelou au Japon, tu verras comment ça les fera rire. <img data-src=" />


votre avatar







arno53 a écrit :



Là Servo part d’une feuille blanche reposant sur de nouveau paradigme c’est un poil plus excitant <img data-src=" />







J’suis plutôt d’accord: rien de mieux que de repartir de zéro pour promouvoir l’innovation ! Faut avouer que le refactoring a une certaine limite…


votre avatar







lincruste a écrit :



Cairo, OpenGL, ok, mais qu’est Skia ?





Je crois que zefling et charon.G ne savent pas reconnaitre un bon jeu de mots <img data-src=" /><img data-src=" />





zefling a écrit :











charon.G a écrit :







votre avatar







psn00ps a écrit :



Je crois que zéfling et charon.G ne savent pas reconnaitre un bon jeu de mots <img data-src=" /><img data-src=" />





Bosser 8 heures sur un truc pas super excitant ça donne ça. <img data-src=" />


votre avatar

le coup de rust ça sent le rant contre le stage-1 de gcc qui impose un compilo c++….. au moins rust a un stage-1 en C.

votre avatar







zefling a écrit :



Avant de croire que l’anglais est la seule langue au monde, je veux sur Wiktionnaire. Souvent, les noms de code sont tirés d’autres langues.





Moi je n’ai pas besoin de ça pour savoir que l’anglais n’est pas la seule langue du monde, mais je ne vais pas me fatiguer à chercher ce que signifie un nom de code dans les milliers de langues qui existent aujourd’hui, plus particulièrement pour des langues parlées par 12 vieux sur une île non cartographiée de l’océan Pacifique.



“Irrumation” pourrait très bien signifier “paix entre tous les individus du monde” en Studirkistanais, peu importe, je ne pourrais pas entendre autre chose que la définition française. _


votre avatar







zefling a écrit :



Bosser 8 heures sur un truc pas super excitant ça donne ça. <img data-src=" />





Non non c’est moi.<img data-src=" />


votre avatar







hopper28630 a écrit :



Espérons qu’il soit rapide, sinon ce sera un Servo lent. <img data-src=" />





Je sors ====&gt;[<img data-src=" />]





Et qu’il tire les autres vers l’avant, comme ça ce sera un servo moteur.



Je conduis, c’est encore pire!


votre avatar

rien

votre avatar

Entre la news sur Blink et Servo, on remarque 2 tons différents, le 1er mettant presque en porte à faux son éditeur, le 2ème essayant de donner le plus de justification possible pour donner raison sur ce choix.

Depuis quand PCi est devenu anti-Google? <img data-src=" />

votre avatar







zenn a écrit :



Entre la news sur Blink et Servo, on remarque 2 tons différents, le 1er mettant presque en porte à faux son éditeur, le 2ème essayant de donner le plus de justification possible pour donner raison sur ce choix.

Depuis quand PCi est devenu anti-Google? <img data-src=" />







Heu, je dirais plutôt que c’est ton oeil qui voit les choses différemment. Ma news n’avait strictement rien d’anti-Google. D’un point de vue personnel, je pense même qu’il est bon que tous les oeufs ne soient pas dans le même panier. J’attends maintenant de voir comme ça s’organisera pour Blink.


votre avatar







charon.G a écrit :



Le concurrent du Midori browser (Midori l’os <img data-src=" />) <img data-src=" />







J’y ai pensé aussi entre le langage “safe”, les architecture hétérogène et le parallélisme on dirait le projet helios/ Barrelfish <img data-src=" />



Mais c’est vraiment intéressant de voir que Ms n’est pas le seule a pensé à l’informatique de demain <img data-src=" />



D’ailleurs Charon, toi qui à des sources infiltrés un peu partout chez Ms, tu sais si les projet helios et/ou barrelfish sont intégrés à Midori parce que d’aprèsle post de felix9 (sur l’implémentation de drawbridge sur différents OS), Barrelfish n’en est encore qu’au stade de la recherche pur et non en incubation ..


votre avatar







zenn a écrit :



Entre la news sur Blink et Servo, on remarque 2 tons différents, le 1er mettant presque en porte à faux son éditeur, le 2ème essayant de donner le plus de justification possible pour donner raison sur ce choix.

Depuis quand PCi est devenu anti-Google? <img data-src=" />







Bah c’est surtout que Blink aujourd’hui c’est webkit (a part la gestion du multi-process), y’a pas grand chose a dire … Just wait & see.



Là Servo part d’une feuille blanche reposant sur de nouveau paradigme c’est un poil plus excitant <img data-src=" />


votre avatar







zenn a écrit :



Entre la news sur Blink et Servo, on remarque 2 tons différents, le 1er mettant presque en porte à faux son éditeur, le 2ème essayant de donner le plus de justification possible pour donner raison sur ce choix.

Depuis quand PCi est devenu anti-Google? <img data-src=" />





On n’explique pas de la même façon le départ depuis un projet que le lancement d’un projet de recherche …


votre avatar







arno53 a écrit :



J’y ai pensé aussi entre le langage “safe”, les architecture hétérogène et le parallélisme on dirait le projet helios/ Barrelfish <img data-src=" />



Mais c’est vraiment intéressant de voir que Ms n’est pas le seule a pensé à l’informatique de demain <img data-src=" />



D’ailleurs Charon, toi qui à des sources infiltrés un peu partout chez Ms, tu sais si les projet helios et/ou barrelfish sont intégrés à Midori parce que d’aprèsle post de felix9 (sur l’implémentation de drawbridge sur différents OS), Barrelfish n’en est encore qu’au stade de la recherche pur et non en incubation ..





C’est surtout intéressant de voir que la concurrence arrive aux mêmes solutions que Microsoft. En même temps il n’y a pas 10000 solutions possibles pour résoudre ces problèmes de sécurité. En effet le compilateur rust semble s’inspirer de bartok sur plusieurs points.



BarrelFish à ma connaissance n’a pas dépassé le stade de recherche. Helios j’en sais rien du tout mais avec le nouveau cycle court des release Windows, il pourrait sortir plus tard.


votre avatar



Il permet une abstraction des différentes méthodes de rendu couramment utilisées en fonction des éléments, tels que Cairo, OpenGL et Skia.



Cairo, OpenGL, ok, mais qu’est Skia ?

votre avatar







lincruste a écrit :



Cairo, OpenGL, ok, mais qu’est Skia ?







code.google.com Google


votre avatar







lincruste a écrit :



Cairo, OpenGL, ok, mais qu’est Skia ?





ici



Grilled ^^


votre avatar







Khalev a écrit :



Et qu’il tire les autres vers l’avant, comme ça ce sera un servo moteur.



Je conduis, c’est encore pire!







et si il prends trop de mémoire ça sera la fuite des servo ?



/me pousse


votre avatar







le-gros-bug a écrit :



Et pendant ce temps, dans un petit village gaulois, Opera est passé à la version 12.15 <img data-src=" />





Un Village qui resiste encore et toujours au grand public.<img data-src=" />


votre avatar







Jean_Peuplus a écrit :



mode <img data-src=" /> ON



SERVO-

Élém. tiré du lat. servus « esclave », entrant dans la constr. de subst. appartenant au vocab. techn.; il introduit l’idée d’un asservissement, d’une dépendance entre divers mécanismes



Pas terrible le choix du nom <img data-src=" />





Ouais avant ça moi c’est carrément le “Rust” qui m’a choqué, c’est à dire “rouille” en anglais. Le passage suivant est pas mal aussi :



Durant l’année qui vient, Mozilla indique que la première version majeure de Rust sera terminée. Durant ce laps de temps, le code sera nettoyé





Oui. Mozilla et Samsung bossent main dans la main avec un outil rouillé qu’ils sont en train de décrasser pour créer à terme un esclave.



Ah les joies des noms de code. <img data-src=" />


votre avatar

C’est pas pire que le langage “go” <img data-src=" />

votre avatar







Oungawak a écrit :



Ouais avant ça moi c’est carrément le “Rust” qui m’a choqué, c’est à dire “rouille” en anglais. Le passage suivant est pas mal aussi :





Oui. Mozilla et Samsung bossent main dans la main avec un outil rouillé qu’ils sont en train de décrasser pour créer à terme un esclave.



Ah les joies des noms de code. <img data-src=" />







Rust, en néerlandais c’est « repos, paix ».

Servo, en latin c’est « conserver, sauver, préserver, garantir »



La joie de traduire comme on veut :)


Mozilla et Samsung ensemble sur Servo, un nouveau moteur de rendu

  • Un nouveau moteur développé à l'aide d'un langage créé pour l'occasion

Fermer