Mozilla présente Quantum, le futur moteur de rendu de Firefox

Mozilla présente Quantum, le futur moteur de rendu de Firefox

Il y avait bien un plan

Avatar de l'auteur
Vincent Hermann

Publié dans

Logiciel

03/11/2016 5 minutes
75

Mozilla présente Quantum, le futur moteur de rendu de Firefox

Mozilla prépare un nouveau moteur de rendu pour Firefox. Baptisé Quantum, il est prévu pour la fin de l’année prochaine et s’appuiera sur les travaux de Servo et le langage Rust. L'éditeur a également décidé de se débarrasser de l'API Battery Status, dont l'utilisation était détournée.

Le web n’est plus statique, mais de plus en plus composé d’applications web et de pages dynamiques. Partant de ce constat, Mozilla a décidé de remplacer Gecko, son traditionnel moteur de rendu, par un nouveau venu : Quantum. Le but affiché est d’obtenir des performances nettement supérieures, et donc de charger plus rapidement les pages. Un navigateur moderne pour un web moderne, en quelque sorte.

Electrolysis, Rust et Servo pour préparer le terrain

L’annonce de Quantum est à lier avec d’autres travaux menés jusqu’ici, à commencer par Electrolysis. Il s’agit pour rappel de la technologie maison pour diviser Firefox en plusieurs processus, essentiellement deux en fait : le moteur de rendu dans l’un, le reste dans l’autre. L’objectif était de ne plus faire traiter par le même l’ensemble des calculs, le chargement d’une page lourde pouvant créer des latences dans l’interface. Résultat, un Gecko isolé dans son coin.

Il y a ensuite Rust, un langage créé par Mozilla et dont le succès augmente peu à peu. Il permet d’obtenir des performances proches du C et du C++, mais en offrant certains avantages traditionnellement liés aux langages de plus haut niveau, comme C# et Java. Il est orienté objet, concurrentiel et typé sûr. L’idée est donc d’avoir un code performant, tout en garantissant la sécurité des threads et en évitant les erreurs de segmentation.

Enfin, on trouve Servo. Derrière ce nom se cache un moteur de rendu entièrement écrit en Rust. Beaucoup espéraient qu’il s’agissait du projet menant au remplacement de Gecko. On sait maintenant que Servo sert de laboratoire d’essai, puisque le vrai prochain moteur en reprendra bon nombre de travaux.

Quantum, tourné vers le parallélisme des instructions et le GPU

Isolé, Gecko va donc être remplacé par Quantum, écrit pour une bonne part en Rust et incorporant plusieurs principes explorés par Servo. Mozilla indique revoir avec son projet la manière dont le moteur affiche une page, à un niveau fondamental. Par exemple, la manière dont les feuilles CSS sont appliquées, comment les opérations DOM sont exécutées et ainsi de suite.

L’accent sera particulièrement mis sur le parallélisme des instructions et sur la déportation d’une partie des calculs vers le GPU quand ce sera possible. Selon Mozilla, Quantum devrait permettre à Firefox d’améliorer la stabilité, la sécurité et la qualité générale de l’expérience de navigation. Surtout, l’éditeur est particulièrement confiant sur un point en particulier : le nouveau moteur permettra une augmentation significative des performances.

Un point qui constitue l’un des cœurs de la bataille entre les navigateurs, les utilisateurs souhaitant toujours des lancements instantanés et des chargements rapides pour les pages web.

Une première version en fin d'année prochaine

Mais Quantum ne va pas arriver d’un coup en tant que projet terminé. Une version initiale sera proposée en fin d’année prochaine, mais il y aura tout un chemin préparatoire. Mozilla a ainsi indiqué que Firefox va évoluer à travers une longue série de changements importants au cours de l’année qui vient. La généralisation d’Electrolysis en fait partie.

Pour l’instant, Quantum est prévu pour l’ensemble des plateformes supportées par Firefox, à l’exception d’iOS. Mozilla ne désespère pas pouvoir proposer une mouture pour le système mobile d’Apple, mais les navigateurs n’y ont actuellement pas le droit d’avoir leur propre moteur. Ils doivent en effet utiliser une vue déportée de Safari, Chrome et Firefox affichant donc exactement le même résultat. Linux, macOS, Windows et Android auront par contre bien leur mouture adaptée.

Firefox se débarrasse de l’API Battery Status

Le navigateur fera également l’impasse d’ici quelques mois sur une API dont beaucoup attendaient des merveilles. Battery Status devait en effet permettre aux développeurs de connaître l’état de la batterie sur un ordinateur pour éventuellement afficher des pages web moins gourmandes, donc plus économes en énergie, augmentant donc l’autonomie.

Dans la pratique, il semble que le seul véritable écho trouvé ait été chez les régies publicitaires. Le niveau de batterie est devenu en effet une variable parmi tant d’autres qu’il est possible de suivre au cours d’une navigation. En clair, un outil de tracking parmi tant d’autres. D’après les propres statistiques de l’éditeur, seuls 6 % des sites se servent de l’API, mais une minorité le ferait pour des raisons légitimes.

Même si elle n’est pas spécifique à Firefox (Chrome et Opera l’ont aussi), l’API sera quand même supprimée du navigateur avec la version 53, attendue le 6 mars prochain. Notez qu’Apple avait préparé le support de cette API dans Webkit, mais il n’a jamais été activé dans Safari. D’après les discussions sur ce point, les développeurs devraient eux aussi supprimer le code correspondant dans quelques jours, si aucune objection n'est faite.

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Electrolysis, Rust et Servo pour préparer le terrain

Quantum, tourné vers le parallélisme des instructions et le GPU

Une première version en fin d'année prochaine

Firefox se débarrasse de l’API Battery Status

Fermer

Commentaires (75)


J’ai hâte de voir ce que ça va donner…



Je suis un peu triste de voir que Mozilla a lentement mais surement perdu de sa superbe ces dernières années avec pas mal de projets qui partaient un peu dans tous les sens et un manque cruel d’idées (syndrôme des gens riches ?)

Mais il ne faut pas oublier que c’est quand même grâce à Mozilla qu’on a été “libéré” d’IE6 et tout le monde devrait lui en être reconnaissant. Les gens qui ont lancé ce projet à la mort de Netscape/AOL étaient des fous fourieux. Bravo à eux… que leur vie soit longue et douce.


Code Quantum,

Boot to Quantum.


Sans surprise si Microsoft ne propose rien d’équivalent d’ici là ce sera mon prochain navigateur. Un navigateur dans un langage safe mon rêve :)



Par contre c’est bizarre ils n’ont pas perdu 50% de performances. Nous aurait t’on menti? <img data-src=" />

Le bound checking c’est au moins çà…








KP2 a écrit :



J’ai hâte de voir ce que ça va donner…



Je suis un peu triste de voir que Mozilla a lentement mais surement perdu de sa superbe ces dernières années avec pas mal de projets qui partaient un peu dans tous les sens et un manque cruel d’idées (syndrôme des gens riches ?)

Mais il ne faut pas oublier que c’est quand même grâce à Mozilla qu’on a été “libéré” d’IE6 et tout le monde devrait lui en être reconnaissant. Les gens qui ont lancé ce projet à la mort de Netscape/AOL étaient des fous fourieux. Bravo à eux… que leur vie soit longue et douce.







Ben la faute à la perte de PDM. Ils ne peuvent plus imposer une ligne à suivre comme au temps de IE6, ils ont été obligé de faire des compromis pour ne pas devenir un navigateur de niche. DRM (merci google & netflix), utilisation du moteur safari sur ios, intégration de pubs et de softs proprio pour diversifier ses revenus…



Mais à coté de ça il y a quand même : Rust, Let’s encrypt et les différents engagements sur la vie privée et le droit d’auteur que Mozilla porte.





Dans la pratique, il semble que le seul véritable écho trouvé ait été chez les régies publicitaires. Le niveau de batterie est devenu en effet une variable parmi tant d’autres qu’il est possible de suivre au cours d’une navigation.





J’ai pas bien compris pourquoi les régies publicitaires sont intéressés par le niveau de la batterie de l’utilisateur, quelqu’un pour m’expliquer ?








Pierre_ a écrit :



J’ai pas bien compris pourquoi les régies publicitaires sont intéressés par le niveau de la batterie de l’utilisateur, quelqu’un pour m’expliquer ?





Pour mieux cibler les profils.&nbsp;

Exemple le plus évident : “oh, untel est à 10% de batterie, hop une pub sur les powerbank!”









KP2 a écrit :



Mais il ne faut pas oublier que c’est quand même grâce à Mozilla qu’on a été “libéré” d’IE6 et tout le monde devrait lui en être reconnaissant.





Quand on pense qu’IE4 nous a permis de nous “libérer” de Netscape Communicator… La roue tourne! Aujourd’hui c’est Chrome qui est train de devenir ce qu’ont été Netscape et IE du temps de leur splendeur. La vie est un éternel recommencement.



Ca sert à différencier les gens:

Entre Bob, geek sous Firefox et Alice, geek sous Firefox, il est fort probable que leur niveau de batterie à un instant T soit différent, donc ça sert à différencier ces 2 profils lors du tracking.


Ca sert à différencier les gens:&nbsp;Entre Bob, geek sous Firefox et Alice, geek sous Firefox, il est fort probable que leur niveau de batterie à un instant T soit différent, donc ça sert à différencier ces 2 profils lors du tracking.








nekgrim a écrit :



Ca sert à différencier les gens: Entre Bob, geek sous Firefox et Alice, geek sous Firefox, il est fort probable que leur niveau de batterie à un instant T soit différent, donc ça sert à différencier ces 2 profils lors du tracking.







Tordu mais ingénieux effectivement ! Merci pour vos réponses <img data-src=" />



Pourquoi parler de “parallélisme des instructions” et pas simplement de parallélisme comme dans le papier de David Bryant en lien ?

L’ajout de “des instructions” rend le truc moins compréhensible. Il s’agit en fait de tirer partie des architectures multi-core des CPU, en ayant un navigateur multi-process.


Mon humble avis : Mozilla devrait arrêter avec ses moteurs fait maison et passer sous Webkit.

La raison est très simple : comment Mozilla peut espérer concurrencer WebKit avec son armée de développeurs (pro pour la plupart car travaillant chez Apple, Google…etc).



Enfin, je leur souhaite bonne chance tout de même&nbsp;<img data-src=" />


L’aspect “safe” du Rust se fait à la compilation. Je ne saurais pas vraiment te l’expliquer précisément, mais le scope est très strict et par exemple, un passage de variable à une fonction retire cette variable du scope : elle n’appartient plus à la fonction “globale” mais à la fonction à laquelle elle a été passée. Du coup on fera plutôt un passage par référence. Et les variables sont, de base, constantes. Etc.

Tu as une performance moindre que en C/C++ mais c’est dû au compilateur jeune en partie.

Et du Rust a “les mêmes performances que du code C dans lequel on a fait du code safe”. En gros, il fait le boulot de faire du code safe à ta place alors qu’en C il faut te démerder.


Bof, je dirais surtout que la libération concrête et réelle d’IE est arrivée quand Safari puis Chrome se sont développés sur mobile.

Mais du coup c’est aussi arrivé en même temps que Microsoft a développé IE 11 puis Edge.


Über s’en ser(vai)t pour augmenter les prix il me semble (pas directement dans un navigateur, mais c’est tout comme). Puisque tu as tendance à commander ton taxi si ta batterie va mourir, quel qu’en soit le prix.


Mozilla et Microsoft sont les derniers concurrents de webkit. Si on les supprime, ça donnera un web maîtrisé par un seul moteur de rendu avec les mêmes dérives qu’on a pu avoir avec IE (e.g. plus personne ne se fera chier à gérer autre chose que les balises spécifiques à webkit, donc tout nouveau concurrent devra se faire chier à être compatible).


La securité de rust ne repose pas (a ma connaissance) sur du bound checking. En fait le model de securité est directement integré au langage. Une seule fonction (et donc un seul thread) peut prendre la main en lecture et/ou ecriture sur une variable, le langage interdit tout ce qui pourait ammener a des corruptions de mémoire. Toute la securité ou presque est faite a la compilation (par une verification statique) et donc sans perte de performance. Ce systemen n’est pas parfait et reste trop contraignant pour être utilisé tout le temps donc le langage comprend des blocs unsafe permetant de contourner momentanément le modele de securité (un certain nombre de choses son faisable d’un point de vue securité mais sont repéré par le compilateur comme dangereuses).


Quand tu utilises le navigateur Tor, on te conseille de ne pas maximiser la fenêtre pour qu’“on” ne soit pas capable de te tracker avec ta résolution d’écran :)

Je te conseille d’aller voir ici : https://panopticlick.eff.org/ et de demander les infos complètes sur l’empreinte de ton navigateur. Oui, on peut te tracker avec les polices d’écriture embarquées dans ton navigateur ^^


Oh Bravo ! <img data-src=" />


Merci, t’as l’air de t’y connaître un peu mieux que moi ^^


Oui et non.

WebKit a déjà pour philosophie de coller à la nome. &nbsp;A l’époque d’IE c’était la débandade, Microsoft n’en faisant qu’à sa tête.

Et puis WebKit ce n’est pas qu’une société, de grand noms le maintiennent, et si Mozilla et Microsoft s’y ajoutaient, on aurait le moteur par excellence (ce qu’il est déjà en fait).


Bien d’accord, je continue de garder Firefox rien que pour ça, même si Chrome a un bel avantage en terme d’intégration..j’arrive pas à lâcher Firefox.


Oui, exactement sachant que le cas des sites avec des balises spécifiques à Webkit/Blink est déjà d’actualité. J’imagine même pas sans les autres moteurs de rendu.


j’ai juste regardé le langage un soir ou deux ^^


Il y a toujours un risque que webkit dérive vers ce qu’était Microsoft.

Je préfère encore qu’une association galère à faire un moteur alternatif et qu’il ne soit utilisé que par 15% des gens mais qu’il y ait un peu de concurrence perso.








ErGo_404 a écrit :



Mozilla et Microsoft sont les derniers concurrents de webkit. Si on les supprime, ça donnera un web maîtrisé par un seul moteur de rendu avec les mêmes dérives qu’on a pu avoir avec IE (e.g. plus personne ne se fera chier à gérer autre chose que les balises spécifiques à webkit, donc tout nouveau concurrent devra se faire chier à être compatible).





Ne pas oublier Blink de Google.



Ah parce que Google, Apple, Microsoft n’utilisent jamais de logiciels libres dans leurs OS et développent de A à Z leurs programmes en interne ? Je pense plutôt le contraire justement.


Vincent Hermanna écrit :

Isolé, Gecko va donc être remplacé par Quantum, écrit pour une bonne part en Rust



&nbsp;

&nbsp;N’importe quoi, Gecko ne va pas être remplacé par Quantum. Le projet Quantum est juste un amélioration de gecko sur 4 principaux points:

&nbsp;- Quantum DOM : les modifications du DOM seront traitées en parallèle.

&nbsp;- Quantum Compositor : les appel au drivers graphiques seront fait dans un processus séparé.

&nbsp;- Quantum CSS : remplace le moteur CSS par celui de Servo.

&nbsp;- Quantum Rendering : Le système qui s’occupe du rendu des éléments graphiques est remplacé par celui de Servo accéléré par GPU.



Bref c’est des parties très limitées de Servo qui vont être intégrées dans Firefox et une partie de travaux de Quantum ne concerne pas Rust.

La base du moteur reste toujours Gecko et heureusement Servo est encore très très loin d’être prêt pour le remplacer et il ne le sera probablement jamais. Il sert surtout de terrain d’expérimentation pour les futures technologies a intégrer a Gecko.

&nbsp;

Pour ceux qui seraient intéresses par plus de détail :https://billmccloskey.wordpress.com/2016/10/27/mozillas-quantum-project/


Je le sais bien mais mon post était ironique ;)



Microsoft a travaillé sur un os écrit complètement en code safe. Le langage M# utilisait aussi plusieurs concepts de rust. Il y avait aussi énormément d’optimisations pour le many core et le parallélisme massif. Sans compter les autres optimisations avec les sip permis par l’architecture de ce système. A l’époque plusieurs personnes ont refusé de croire qu’il était plus rapide que Windows car écrit dans un langage safe, donc plus lent. Pourtant tous les documents et témoignages allaient dans ce sens.



Actuellement Microsoft essaye de faire évoluer le C++ de la même façon

https://github.com/isocpp/CppCoreGuidelines

Plusieurs de ces concepts sont repris dans checked c:

https://www.microsoft.com/en-us/research/project/checked-c/

Je pense que ms va essayer de le proposer sur une future norme de C++ …



Sinon rust effectue bien du bound checking au runtime dans certains cas d’après ce lien:

http://stackoverflow.com/questions/28389371/why-does-rust-check-array-bounds-at-…



Mais les pertes de perfs restent minimes.


Désolé mais je ne vois pas sur quelle partie de mon commentaire tu rebondis.

Peux-tu être plus claire stp ?


Pour moi la libération d’IE6, c’est quand la part de marché des autres navigateurs a obligé les dev web à ne plus faire de “l’optimisé pour IE6”. Et ça c’est arrivé avec la popularité de Firefox, quand un dev a décidé de reprendre le moteur de la grosse suite Mozilla en virant tout ce qui ne relevait pas de la navigation web et en permettant les extensions.

&nbsp;

Et ça date de bien avant Chrome.



Chrome a commencé en utilisant le moteur de Konqueror. Quand Chrome est sorti, ce moteur était capable d’afficher correctement tous les sites majeurs d’Internet, uniquement grâce au 20% de pdm de Firefox quelques années avant qui ont forcé les dev a faire du html correct.


Effectivement, qu’il n’y ai qu’une seule norme technique est très important. Pourtant, ça n’empêche pas plusieurs systèmes de se concurrencer, et de s’entre-aider à l’occasion ou de se servir des avancées produitent par d’autres lorsqu’une solution fonctionne mieux ou est plus aboutie qu’une autre.








zeldomar a écrit :



Mon humble avis : Mozilla devrait arrêter avec ses moteurs fait maison et passer sous Webkit.

La raison est très simple : comment Mozilla peut espérer concurrencer WebKit avec son armée de développeurs (pro pour la plupart car travaillant chez Apple, Google…etc)



WebKit… n’est plus dev par Google.

C’est Blink le moteur de rendu sur Chrome. (Fork de WebKit)

Et une position dominante d’un seul moteur de rendu n’est vraiment pas une bonne chose…

&nbsp;

Après d’un point de vue purement technique les moteurs sont assez complexe à dev.

Du coup on préfère partir de l’existant plutôt que d’une page blanche… sauf que pour faire une vraie rupture technologique il n’y a pas le choix il faut tout casser.

De ce point de vue Mozilla est aujourd’hui le seul éditeur à avoir un savoir faire dans le domaine avec Servo.

Et du vieux code hérité de khtml en c/cpp cela peut-être plus une contrainte qu’autre chose.

Bref pour moi c’est une bonne chose (du choix dans les moteurs de rendu, nouvelles technos par rapport à l’existant, etc…)



Android, MacOS : originaires du logiciel libre

Microsoft a collaboré avec Canonical pour une partie du développement de Windows 10


Merci des explications et di lien !

Donc l’idée du projet quantum est de remplacer, petit à petit, l’ensemble des éléments de Gecko par ceux de Servo. Tout en conservant la base solide de Gecko.

Ça me rassure, parce que vu l’état d’avancement de Servo, je le voyais mal arriver d’un coup dans Firefox. Ça leur permettra du coup de bien séparer les éléments (au niveau du dév) et de les tester grandeur nature au fur et à mesure. Ça semble une bonne idée !








jardin a écrit :



Quand on pense qu’IE4 nous a permis de nous “libérer” de Netscape Communicator… La roue tourne! Aujourd’hui c’est Chrome qui est train de devenir ce qu’ont été Netscape et IE du temps de leur splendeur. La vie est un éternel recommencement.







Absolument pas, c’est très mal connaitre l’histoire des navigateurs, cette période en particulier et le fonctionnement du web en général.



IE4 n’a libéré personne. Au contraire même, il a enfermé tout le monde. Netscape était un produit proprio pas franchement excellent sur le respect des standards mais il n’a pas eu un comportement hégémonique contrairement à MS avec IE. IE4 lui-même était plutôt bon techniquement à l’époque mais ça a été le 1er coup d’une guerre pourrie dont les victimes ont été les utilisateurs du web en 1er et le W3C en 2nd. Netscape est mort, soit mais c’était une boite privée parmi d’autres.

Pendant tout la période IE (2000-2006), aucun concurrent ne pouvait entrer sur ce marché complétement nécrosé par MS…

Donc non, je suis désolé mais rien aujourd’hui ne permet de dire qu’on est dans une situation analogue à la période IE. Au contraire même, les standards n’ont jamais été si vivants, si bien respectés et la concurrence n’a jamais été si forte.







ErGo_404 a écrit :



Bof, je dirais surtout que la libération concrête et réelle d’IE est arrivée quand Safari puis Chrome se sont développés sur mobile.

Mais du coup c’est aussi arrivé en même temps que Microsoft a développé IE 11 puis Edge.







Sans FF pour casser le monopole d’IE, aucune boite privée n’aurait pu entrer sur ce marché sans se faire instantanément réduire en poussière par MS.

Et l’énorme apport de Mozilla a aussi été de prouver qu’un navigateur Libre pouvait gagner de l’argent, être performant et bien maintenu.

Ils ont clairement ouverts la voie…









ErGo_404 a écrit :



Mozilla et Microsoft sont les derniers concurrents de webkit. Si on les supprime, ça donnera un web maîtrisé par un seul moteur de rendu avec les mêmes dérives qu’on a pu avoir avec IE (e.g. plus personne ne se fera chier à gérer autre chose que les balises spécifiques à webkit, donc tout nouveau concurrent devra se faire chier à être compatible).







Non, même si seul webkit survit, ça ne sera jamais aussi grave que dans les années 2000. Tout simplement car webkit est Libre et ça, c’est une énorme différence.

De plus, le W3C et les standards du web n’ont jamais été aussi actifs qu’aujourd’hui et aucun membre du W3C n’oserait lancer des nouveautés tout seul dans son coin car tout le monde a parfaitement compris que le web profite à tout le monde comme jamais avant grace aux standards.

Chose que MS n’avait pas pigé à l’époque (d’ailleurs, MS n’avait rien pigé du potentiel du web d’une manière générale sous l’ère Ballmer)



Ceci, par exemple.


Ce n’est pas n’importe quoi, c’est ce que dit David Bryant dans l’article en lien que tu as cité :



And so, Project Quantum is about developing a next-generation engine that will meet the demands of tomorrow’s web by taking full advantage of all the processing power in your modern devices. Quantum starts from Gecko, and replaces major engine components that will benefit most from parallelization, or from offloading to the GPU.





En fait, vous dites quasiment la même chose.



Gecko est bien le moteur actuel de Firefox ? Quantum est bien le futur moteur de Firefox ?

Donc Quantum va bien remplacer Gecko.



Que Quantum parte Gecko au départ ne change rien.








charon.G a écrit :



Sans surprise si Microsoft ne propose rien d’équivalent d’ici là ce sera mon prochain navigateur. Un navigateur dans un langage safe mon rêve :)



Par contre c’est bizarre ils n’ont pas perdu 50% de performances. Nous aurait t’on menti? <img data-src=" />

Le bound checking c’est au moins çà…





D’abord Quantum n’introduit que de petites partie de Servo dans Gecko qui restera encore pour un moment très majoritairement codé en C++.



Le Bound checking ne fait heureusement pas perdre tant de performance que ça. Le langages Rust permet de les éliminer proprement dans la très grande majorité des cas. Il reste&nbsp; le cas très particuliers ou l’on fait beaucoup d’accès a des index aléatoires. Dans ce cas on peux utiliser de manière localisée un bloc “unsafe”.

&nbsp;







zeldomar a écrit :



Mon humble avis : Mozilla devrait arrêter avec ses moteurs fait maison et passer sous Webkit.

La raison est très simple : comment Mozilla peut espérer concurrencer WebKit avec son armée de développeurs (pro pour la plupart car travaillant chez Apple, Google…etc).





&nbsp;Pour info Mozilla possède lui aussi d’une armée de pros.





Salamandar a écrit :



L’aspect “safe” du Rust se fait à la compilation. Je ne saurais pas vraiment te l’expliquer précisément, mais le scope est très strict et par exemple, un passage de variable à une fonction retire cette variable du scope : elle n’appartient plus à la fonction “globale” mais à la fonction à laquelle elle a été passée. Du coup on fera plutôt un passage par référence. Et les variables sont, de base, constantes. Etc.





Le système de ownership et lifetime de Rust permet de prévenir beaucoup de problème mais pas les dépassement. Pour ça il n’y a pas de miracle, il faut du bound checking.

&nbsp;Maintenant, comme je l’ai expliqué plus haut, dans la pratique ca a peut d’impact et s’il y en a on peut les désactiver un point chaud isolé.







zeldomar a écrit :



Oui et non.

WebKit a déjà pour philosophie de coller à la nome. &nbsp;A l’époque d’IE c’était la débandade, Microsoft n’en faisant qu’à sa tête.

Et puis WebKit ce n’est pas qu’une société, de grand noms le maintiennent, et si Mozilla et Microsoft s’y ajoutaient, on aurait le moteur par excellence (ce qu’il est déjà en fait).





&nbsp;Je te conseille de regarder ça (malgré le titre c’est en français) qui explique très bien pourquoi non ce n’est pas différent de l’époque de IE et que ce n’est vraiment pas une bonne chose :

&nbsp;https://www.youtube.com/watch?v=ceMLuRBn–M&t=1435



&nbsp;



Webkit/Blink, via Google et Apple principalement, ont (trop) souvent pour philosophie d’imposer leurs choix grâce à leur PDM et leur influence. (Par exemple : le préfixe -webkit- et beaucoup de web components ajoutés par Google ne sont pas un standard ou pas (encore) implémenté).








Uther a écrit :



D’abord Quantum n’introduit que de petites partie de Servo dans Gecko qui restera encore pour un moment très majoritairement codé en C++.





Oui pour le moment mais ils comptent tout réécrire en rust à terme. Par contre même au stade actuel Mozilla a annoncé de meilleurs performances avec quantum. Si rust avait soit disant été plus lent on n’aurait pas constaté ces hausses de performances.



EDIT: Voir mon commentaire plus haut le post que tu cites était ironique.



En vrai webkit est supporté par Apple, Nokia et Adobe. Google eux en on fait un fork “blink” (webkit est déjà un fork à la base de khtml) aidé de Opera, Intel et Samsung.



Du coup ça fait 4 moteurs concurent: blink, webkit, gecko/servo, trident/edge

A savoir que Samsung travaille aussi sur Servo.



En vrai, même si ça semble simplifier le travail (tout le monde travaille sur le même projet), au bout d’un moment il y a toujours une divergence sur certains aspects (organisation, technologies, etc.) qui font que certains industriels préfèrent prendre une voie à part (ce qu’à fait Apple à l’origine de khtml avec webkit, ce qu’à fait Google de webkit avec blink).

Avoir un large choix de moteur permet aussi d’en changer quand celui qui est utilisé devient trop compliqué ou dépassé : Opéra utilise maintenant Blink à la place de Presto, Microsoft utilise Edge à la place de Trident, Mozilla va utiliser Servo à la place de Gecko…



Plus d’infos :https://en.wikipedia.org/wiki/Comparison_of_web_browser_engines








charon.G a écrit :



Oui pour le moment mais ils comptent tout réécrire en rust à terme. Par contre même au stade actuel Mozilla a annoncé de meilleurs performances avec quantum. Si rust avait soit disant été plus lent on n’aurait pas constaté ces hausses de performances.





Ils n’ont pas de plan pour tout récrire en Rust pour le moment.&nbsp; Il faut voir que même Servo qui a été fait pour être basé sur Rust dépend énormément de C++, notamment tout le moteur JavaScript issu de Firefox.



Les nouveaux composant seront certainement en Rust et si une ancienne partie a besoin d’être complètement réécrite, elle le sera aussi certainement en Rust, mais Mozilla a clairement dit qu’il ne comptaient pas récrire des parties de Firefox en Rust s’il n’y en avait pas un réel besoin. La tache serait bien trop énorme.









TheBlackPearl a écrit :



Webkit/Blink, via Google et Apple principalement, ont (trop) souvent pour philosophie d’imposer leurs choix grâce à leur PDM et leur influence. (Par exemple : le préfixe -webkit- et beaucoup de web components ajoutés par Google ne sont pas un standard ou pas (encore) implémenté).







Le prefixe -webkit était dédié aux nouveautés en cours de standardisation par le W3C. Les règles du W3C réclamaient explicitement que les nouveautés soient implémentées qq part pour être testées AVANT la validation définitive de la norme en cours de rédaction.

Firefox avait les siens aussi. IE était dans les choux de toute façon… MS n’a vraiment commencé à refaire des choses bien qu’avec IE9 puis IE10.



Pourquoi ces préfixes -webkit se sont développés ? Parce que quand les travaux sur HTML5 ont été (enfin) lancés, les devs “front” étaient tellement sur les dents après 5 ou 6 ans d’abandon complet du développement d’IE6 par MS (à part les milliards de failles de sécu) qu’ils se sont mis à utiliser pleins de fonctionnalités en béta au lieu d’attendre gentillement que HTML5 sorte officiellement. Mais bon, c’était compréhensible, HTML5 a mis aussi un temps effroyable à arriver…



Donc en réaction, les grands membres du W3C (Google, Apple, Mozilla, MS, Adobe entre autres) qui bossaient sur HTML5 se sont aussi bien rendu compte que les procédures et délais du W3C ne convenaient plus au besoin. Donc, ils ont réformé le fonctionnement des releases de normes pour être plus rapides et plus efficaces mais le mal était fait…



A partir de là, comme les prefixes -webkit étaient un peu partout, il a été décidé que les navigateurs concurrents allaient ajouter ces prefixes aussi en attendant que le web se nettoie petit à petit (mais, avec l’inertie, c’est un projet qui va durer 10 ans minimum). Je ne sais pas si tous l’ont fait.




j’ai hâte de voir ça !


Je n’y crois pas trop les gains sont trop importants, notamment au niveau sécurité. Par contre je suis d’accord que ça prendra beaucoup de temps. A mon avis c’est surtout plus simple à faire évoluer de façon incrémentielle que de partir sur un reset complet qui créerait une totale rupture et tous les problèmes qui vont avec.



Microsoft a adopté la même stratégie incrémentielle avec Midori pour intégrer les changements dans Windows 10.


Dommage qu’Opera ait abandonné Presto… C’était plus possible à maintenir comme zinzin ?


Au vu des benchmarks de Servo, celui-ci surclassait Webkit de loin. Alors pourquoi Mozilla devrait rejoindre les rangs de Webkit alors qu’ils vont proposer un moteur bien meilleur, développé avec des paradigmes modernes (là où Webkit se traine tout son historique) ?



Surtout que si on transpose ta remarque dans un autre registre (attention au grinçage de dent) :

“Comment les développeurs de Linux peuvent espérer concurrencer Windows avec son armée de développeurs pro pour la plupart.”



Je pense que cette formulation doit bien faire rire, et la réponse est triviale : pour proposer une alternative -&gt; dans le cadre des navigateurs internet, la réponse est la même.

Si tu n’as pas de concurrence, tu ne te remets pas en cause (ou très rarement).








fred42 a écrit :



Ce n’est pas n’importe quoi, c’est ce que dit David Bryant dans l’article en lien que tu as cité :





En fait, vous dites quasiment la même chose.



Gecko est bien le moteur actuel de Firefox ? Quantum est bien le futur moteur de Firefox ?

Donc Quantum va bien remplacer Gecko.



Que Quantum parte Gecko au départ ne change rien.







De ce que je lis, le moteur reste appelé Gecko. Un peu comme le projet Electrolysis n’a pas changé le nom de Firefox.

Le projet Quantum est là pour changer des parties de Gecko et le rendre plus moderne. On ne remplace pas Gecko, il évolue comme tous les moteurs.



Ou ça peut etre tracké par les régies, pour les bonnes raisons : diffuser un pub plus légère à jouer en cas de manque de batterie.

Aucun moyen de le savoir.


La régie publicitaire qui vous veux du bien ?

Alors là j’ai comme un doute <img data-src=" />








Commentaire_supprime a écrit :



Dommage qu’Opera ait abandonné Presto…





Presto, personne n’en voulait. Malgré ses qualités et sa vaste portabilité, il n’était pas assez utilisé et de ce fait le Web n’était toujours pas ouvert à ce moteur créé en 1995…

Aujourd’hui, avec un Opera basé sur Blink (et un User-Agent ne mentionnant plus “Opera”), le Web (même le plus commercial) est enfin “compatible avec Opera”&nbsp;<img data-src=" />. Tout le monde est content…



&nbsp;&nbsp;



Commentaire_supprime a écrit :



C’était plus possible à maintenir comme zinzin ?





Presto est toujours utilisé coté serveur pour Opera Mini donc il doit être un minimum “maintenu”.



Oh bravo…








jardin a écrit :



Quand on pense qu’IE4 nous a permis de nous “libérer” de Netscape Communicator… La roue tourne! Aujourd’hui c’est Chrome qui est train de devenir ce qu’ont été Netscape et IE du temps de leur splendeur. La vie est un éternel recommencement.







Quand on pense que Microsoft à intégré Internet Explorer dans Windows afin de tuer Netscape …

&nbsp;

Merci de par réécrire l’histoire …



Firefox <img data-src=" /> Bientôt de retour pour écraser les autres mouchards made in M$ et Google. <img data-src=" />


mais si, pub plus légère pour consommer moins de batterie, du coup ils peuvent t’en balancer encore 2 ou 3 de plus avant que tu sois en rade ^^








fred42 a écrit :



Gecko est bien le moteur actuel de Firefox ? Quantum est bien le futur moteur de Firefox ?

Donc Quantum va bien remplacer Gecko







non, quantum c’est le nom du projet (comme dans opération sentinelle), qui vise à amener toutes les transformations de firefox décrit dans l’article (et bien mieux dans le blog de

Bill McCloskey) pour le rendre encore meilleur



a terme, c’est bien WebRender (le moteur de rendu issue de servo) qui sera intégré à firefox pour remplacer gecko (c’est dit différemment dans l’article de blog, mais l’idée est de transformer gecko en servo+quaelques autres trucs, même si le nom restera gecko)



le projet quantum, c’est juste l’intégration de la R&D faite avec servo



maintenant qu’on a bien appris et qu’on sait ce qu’on veut, on va basculer X et Y dans firefox









CryoGen a écrit :



La régie publicitaire qui vous vend du bien ?

Alors là j’ai comme un doute <img data-src=" />





<img data-src=" />



En pratique, Webkit n’est déjà plus utilisé sur Chrome, nous avons donc 4 navigateurs (Chrome, Edge, Firefox & Safari) avec 4 moteurs différents (Blink, EdgeHTML, Gecko & Webkit).

Du coup, aucune raison valable pour Firefox de se rapprocher d’un moteur et donc d’une multinationale particulière au risque de perdre de son indépendance.








zethoun a écrit :



mais si, pub plus légère pour consommer moins de batterie, du coup ils peuvent t’en balancer encore 2 ou 3 de plus avant que tu sois en rade ^^





Dans un monde responsable, une démarche éthique serait que la pub soit systématiquement légère . Dans un monde “écologique”, la pub est une hérésie : ce que nos ordinateurs et serveurs consomment en énergie, c’est la nature qui trinque !



C’est ce qu’on disait aux dev KDE concernant Khtml il y a qq années…

“Pourquoi vous passez pas à Gecko ?”



Et puis finalement, Apple (ou google? j’ai un doute maintenant) a eu besoin d’un moteur HTML ouvert,… tu connais la suite…



Difficile de savoir comment tournera l’avenir de la concurrence. Par contre, facile de savoir comment tourne l’absence de concurrence.








Seazor a écrit :



C’est ce qu’on disait aux dev KDE concernant Khtml il y a qq années…

“Pourquoi vous passez pas à Gecko ?”



Et puis finalement, Apple (ou google? j’ai un doute maintenant) a eu besoin d’un moteur HTML ouvert,… tu connais la suite…



Difficile de savoir comment tournera l’avenir de la concurrence. Par contre, facile de savoir comment tourne l’absence de concurrence.







C’est Apple qui a lancé webkit



C’est bien ce qu’il me semblait. Merci de la confirmation.








zeldomar a écrit :



Oui et non.

WebKit a déjà pour philosophie de coller à la nome.  A l’époque d’IE c’était la débandade, Microsoft n’en faisant qu’à sa tête.

Et puis WebKit ce n’est pas qu’une société, de grand noms le maintiennent, et si Mozilla et Microsoft s’y ajoutaient, on aurait le moteur par excellence (ce qu’il est déjà en fait).







WebKit un moteur par excellence ? C’est ton avis. Perso je trouve que webkit devrait disparaitre. C’est un truc qui est parti d’un truc net et propre (KHTML) pour finalement devenir une usine a gaz qui s’octroie le droit d’implémenter (de maniere bancale) des brouillons non finalisés.

C’est également un truc soutenu par Apple et forké par Google, deux entreprises dont on connait les principes.



Et enfin, avis purement perso mais je trouve le rendu de webkit affreux. Je supporte pas la maniere dont il charge les éléments sur une page. Je sais pas pourquoi.



Bref, esperons que Mozilla ne cedera jamais









KP2 a écrit :



J’ai hâte de voir ce que ça va donner…



Je suis un peu triste de voir que Mozilla a lentement mais surement perdu de sa superbe ces dernières années avec pas mal de projets qui partaient un peu dans tous les sens et un manque cruel d’idées (syndrôme des gens riches ?)

Mais il ne faut pas oublier que c’est quand même grâce à Mozilla qu’on a été “libéré” d’IE6 et tout le monde devrait lui en être reconnaissant. Les gens qui ont lancé ce projet à la mort de Netscape/AOL étaient des fous fourieux. Bravo à eux… que leur vie soit longue et douce.







Clairement, Mozilla a pris d’excellentes décisions ces derniers temps en cessant de se disperser.



N’avoir que quelques projets mais les travailler à fond, c’est cela la clé du succès.



J’attends avec impatience leur nouveau moteur.












RRMX a écrit :



WebKit un moteur par excellence ? C’est ton avis. Perso je trouve que webkit devrait disparaitre. C’est un truc qui est parti d’un truc net et propre (KHTML) pour finalement devenir une usine a gaz qui s’octroie le droit d’implémenter (de maniere bancale) des brouillons non finalisés.







Huh ? KHTML ne respectait pas un seul standard (même HTML4) quand Apple l’a forké et en a fait un moteur de rendu world-class.

Après, faut pas oublier que KHTML était un tout petit projet Libre avec qq développeurs principaux même pas à temps plein dessus et qq dizaines de contributeurs à coté.

Apple a déployé de gros moyens pour en faire webkit dont l’intégration du fameux Dave Hyatt qui a aussi fait partie de l’équipe originale qui a lancé Firefox.







RRMX a écrit :



C’est également un truc soutenu par Apple et forké par Google, deux entreprises dont on connait les principes.







En attendant, leurs respects des standards sont tout à fait remarquables et l’implémentation des “brouillons non finalisés”, je le répète, est un pré-requis du W3C pour tamponner officiellement une techno.

Les nouvelles fonctionnalités doivent être intégrées dans plusieurs moteurs de rendu avant d’être ratifiées.







RRMX a écrit :



Et enfin, avis purement perso […] Je sais pas pourquoi.







Oui, je crois que c’est ça le problème en fait…









RRMX a écrit :



Bref, esperons que Mozilla ne cedera jamais







Mozilla ne cédera jamais, c’est leur seul élément différenciant aujourd’hui… Et puis, leur nouveau moteur est très prometteur donc ils n’ont pas dit leur dernier mot.









sr17 a écrit :



Clairement, Mozilla a pris d’excellentes décisions ces derniers temps en cessant de se disperser.







Tout à fait… j’ai jamais compris pourquoi ils étaient parti dans tous les sens ces dernières années. Et le truc le plus incompréhensible reste pour moi FirefoxOS.

On sent aussi qu’ils ont du mal a relancer la machine à idées malgré que l’initiative Let’s Encrypt est probablement la meilleure chose qui soit arrivée au web depuis 4 ou 5 ans.



Toujours la même histoire avec Mozilla… Attendez Servi, ça va être génial. Ha non, en fait on change de plan, attendez Quantum, c’est révolutionnaire… Du vent sur du vent, et ça s’étonne de tomber à 9% de pdm.








macadoum a écrit :



Toujours la même histoire avec Mozilla… Attendez Servi, ça va être génial. Ha non, en fait on change de plan, attendez Quantum, c’est révolutionnaire… Du vent sur du vent, et ça s’étonne de tomber à 9% de pdm.







Je ne suis pas d’accord.



Objectivement, Firefox a fait de gros progrès en rapidité. Et ce qu’ils annoncent pour Quantum a le potentiel d’apporter de jolies améliorations.



Il faut prendre conscience que le développement c’est long. Réécrire un moteur, c’est un énorme boulot. Les normes du web ne sont pas simples…



Esperons que cela ne fasse pas comme avec le moteur de Redu Gecko entre 1998 et 2000

3 ans de developpement, en nom de code Mariner, Netscape 6 hyper bugué qui a fait fuir les 20% restants

sous Netscape..

&nbsp;








KP2 a écrit :



Tout à fait… j’ai jamais compris pourquoi ils étaient parti dans tous les sens ces dernières années. Et le truc le plus incompréhensible reste pour moi FirefoxOS.

On sent aussi qu’ils ont du mal a relancer la machine à idées malgré que l’initiative Let’s Encrypt est probablement la meilleure chose qui soit arrivée au web depuis 4 ou 5 ans.





&nbsp; Même si FirefoxOS est arrivé trop tard et avec un modèle discutable, mais le choix à la base est tout à fait compréhensible. Le marché du mobile est très fermé. Les navigateurs alternatifs à ceux pré-installés sont anecdotiques voire interdits sous iOS. Le but était clairement de s’ouvrir une porte d’entré sur ce marché qui leur est fermé, et qui constitue une grosse épée de Damoclès sur leur avenir.







macadoum a écrit :



Toujours la même histoire avec Mozilla… Attendez Servi, ça va être génial. Ha non, en fait on change de plan, attendez Quantum, c’est révolutionnaire… Du vent sur du vent, et ça s’étonne de tomber à 9% de pdm.





Mozilla n’a jamais demandé d’attendre Servo. Ça a toujours été un projet de R&D. Il est à des années d’être prêt et ils ne savent même pas s’il sera un navigateur complet un jour.









kamuisuki a écrit :



Esperons que cela ne fasse pas comme avec le moteur de Redu Gecko entre 1998 et 2000

3 ans de developpement, en nom de code Mariner, Netscape 6 hyper bugué qui a fait fuir les 20% restants

sous Netscape..

&nbsp;



Justement l’intérêt de Quantum c’est de ne pas refaire la même erreur que Netscape 6 : ils ne repartent pas a zéro. il se contentent de changer certaine petites partie du navigateurs.









Uther a écrit :



Justement l’intérêt de Quantum c’est de ne pas refaire la même erreur que Netscape 6 : ils ne repartent pas a zéro. il se contentent de changer certaine petites partie du navigateurs.





Esperons, car un nouvel echec de leur part, je ne sais pas ce qui va leur rester .



(commentaire à supprimer, sorry, j’ai posté au mauvais endroit)


Quand vont-ils enfin abandonner les navigateurs ? On n’a pas besoin d’eux. Avant il n’y avait qu’un seul navigateur avec Windows mais depuis Windows 10 il y en a déjà 2 de fournis on a donc l’embarras du choix ! Pas besoin d’un troisième navigateur !