Et si les navigateurs utilisaient le même moteur de rendu

Le , par imikado, Rédacteur
Je viens de publier un billet sur cette question: et si les navigateurs utilisaient le même moteur de rendu ?

Le billet: http://blog.developpez.com/ducodeetd...le-meme-moteur

Aujourd’hui, lorsque vous naviguez sur internet, vous ne vous en rendez peut-être pas compte, mais ce que vous voyez dans votre écran sur chaque site est un compromis entre ce qu’il est possible de faire actuellement et les contraintes imposées par certains navigateurs.

Opera a décidé en février dernier d’abandonner son propre moteur rendu au profit de WebKit, justement c’est l’objet de cet article.

Le travail autour du moteur de rendu
Comme vous aurez pu le comprendre, la partie la plus lourde à développer est le moteur de rendu, c’est de lui que va découler votre expérience de navigation, c’est son niveau d’implémentation qui vous permet de bénéficier des avancées actuelles, et c’est encore lui qui va permettre ou au contraire freiner les développeurs Web dans leur créativité.

Pourquoi chaque navigateur continue à développer son propre moteur de rendu ?

Avec le coup de projecteur dont ont bénéficié HTML5 et CSS3 ces derniers temps (notamment avec la chasse au flash mené par Apple), chaque navigateur a investi du temps et de l’argent pour être toujours en tête concernant l’implémentation de ces nouveaux standards, qui je le rappelle ne sont toujours pas finalisé actuellement (RC pour le moment).

Le moteur de rendu est donc un atout qu’il faut préserver, un avantage à mettre en avant. Il existe un nombre important de moteurs de rendu Web dont les plus importants sont Webkit (open source) utilisé par safari, Blink, utilisé par Chrome/Chromium et désormais Opera, Gecko utilisé par Firefox ou encore Trident pour Internet Explorer.

Un problème en partie lié à la fragmentation des versions des navigateurs

Pour un développeur, il doit donc faire un compromis entre ce qu’il pourrait faire (car faisant de la veille) et ce qu’il est contraint de faire à la vue du navigateur le plus restreignant de sa cible (avant c’était ie6, désormais ie7).

Et pour les développeurs ?
Ce serait un cadeau de Noël perpétuel : développer une fois, tester sur un navigateur sans se demander si le site s’affichera correctement sur un autre navigateur.

Vous ne pouvez pas imaginez la frustration d’un développeur Web passionné qui d’un coté lit un article/tutoriel sur une nouvelle fonctionnalité, la teste sur son poste en local et se voit répondre par son manager/responsable « c’est bien joli/intéressant ton truc, mais est-ce que ça marche sous ie7/8 ?? »


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de eriknet eriknet - Futur Membre du Club https://www.developpez.com
le 26/08/2013 à 13:09
@Hell_Hibou : pour ton deuxième point, ça me parait de toutes façons plus logique de se baser sur le user-agent pour personaliser un rendu que sur le moteur. Ceci dit, je ne fais pas de dév web et la réalité est souvent bien différente de l’idéal. (surtout en informatique)

Sinon, à tout ceux qui font remarquer que l’innovation serait absente s’il n’existait plus qu’un seul moteur : je suis d’accord avec vous, mais la raison n’est pas seulement l’absence de concurrence en soit. Bien sûr, on manque de motivation sans personne à qui se mesurer, mais le problème vient avant tout du fait qu’un projet va avoir principalement un leader qui va décider de la direction à suivre ; toutes les autres voix possible seront donc ignorées. (sauf à avoir plusieur "branches" de développement, mais ça équivaut à mes yeux à plusieurs moteurs de rendu)

Je n’avais pas immédiatement pensé au problème de la sécurité, mais même avec une poignée de "grands" moteurs, j’ai peur que le crime ne reste payant. D’abord parce que l’objectif n’est jamais 100% d’infection mais seulement assez pour être rentable, ensuite parce que le crime organisé peut très certainement se payer le luxe de multiplier les coûts de développement d’un malware par 3 ou 4 si celà permet de multiplier les recettes par la même occasion. (via le spam, le vol de coordonnées bancaires ou la vente de DDOS par ex.)
Avatar de Marauder Marauder - Membre régulier https://www.developpez.com
le 26/08/2013 à 15:57
Même moteur de rendu, tous en HTML5 javascript avec les mêmes librairies...

Elle m'a l'air bien monotone & uniforme la décennie qui se profile...
Avatar de Freem Freem - Membre émérite https://www.developpez.com
le 27/08/2013 à 15:32
Citation Envoyé par Marauder  Voir le message
Même moteur de rendu, tous en HTML5 javascript avec les mêmes librairies...

Elle m'a l'air bien monotone & uniforme la décennie qui se profile...

T'inquiètes, il y a toujours eu des systèmes alternatifs, et il y en aura toujours. Mais bon, c'est sûr que lire ce genre de sujets fait peur, surtout sur un forum d'informatique...

[Hors sujet]

Citation Envoyé par jreaux62  Voir le message
[aparte]
Steve Jobs était un visionnaire.
Bill Gates un opportuniste (un "voleur d'idées"...).
C'est mon appréciation personnelle...
[/aparte]

Mon très humble avis sur cette question est que, au moins, Bill Gates à contribué techniquement aux produits que son entreprise à vendu.

Steve jobs était un génie, je suis d'accord: de la com et du marketing. Il n'a rien fait de réel pour rendre l'informatique accessible aux masses, contrairement à Bill Gates qui à contribué ( Microsoft et IBM si mes souvenirs sont bons) à la création de machines peu chères et ouvertes.

Oui, ouvertes, car sur un PC, n'importe quel constructeur peut ajouter des pièces, depuis le début. Contrairement aux mac. Mac qui, au début, étaient d'une qualité technique supérieure aux PC.

Donc, ton appréciation personnelle... ah, et si parles des IHM, je tiens à rappeler que MS comme Apple n'ont pas inventé l'IHM, contrairement à ce que les fanboys d'apple veulent faire croire. Il faut plutôt remercier Xerox, pour ça.

Ah, j'oubliai: je suis un utilisateur de Debian, donc tout sauf quelqu'un qui apprécie le travail de microsoft ( hé oui, je dois être un des rares linuxiens qui ose dire que MS à beaucoup fait pour l'ouverture des systèmes que l'on utilise... ) . Mais il faut admettre que c'est grâce à microsoft que mon père à pu acheter son 1er PC il y plus de 20 ans.

En bref: MS: low cost et matos/logiciels ouverts ( je sais, c'est pas libre, mais les API sont utilisables gratuitement depuis toujours. Je ne veux pas débattre ici de l'open source. ), Apple: haute qualité mais matos/logiciels fermés comme des huitres.
Bien sûr, je parle des origines, puisque qu'Apple utilise maintenant des IBM PC pour faire tourner leur OS.

J'aurai approuvé ton message s'il n'y avait pas eu ça.
Avatar de imikado imikado - Rédacteur https://www.developpez.com
le 27/08/2013 à 15:41
Un petit résumé des arguments pour et contre

Pour :
- pour les développeurs: plus de soucis de compatibilité, on code une fois, ça fonctionne sur tous les navigateurs
- pour les utilisateurs: des sites utilisant les dernières technologies (plus leger, plus agréable)

Contre:
- crainte d'une perte d'évolution (du à l'absence de concurrence)
- crainte de soucis de sécurité valable directement sur tous les navigateurs (utilisant le même moteur)
- crainte d'un monopole fermé à une vision (perte de liberté d'évolution)

Petite précision: le fait d'avoir un projet opensource avec une organisation comme le W3C pour réguler le tout

note: j'indique également que cet hypothétique moteur gérerait differement le rendu sur mobile (pas de hover, gestion du tactile...)
Avatar de Freem Freem - Membre émérite https://www.developpez.com
le 27/08/2013 à 16:24
Tu as oublié le manque d'adaptation au support, qui à été cité, et est un excellent argument contre. Genre, pour les aveugles, on peut pas juste changer la couleur de 2-3 pixels sur un écran... (c'est la taille des écrans qui à été citée, mais le problème d'accessibilité est le même, au final)
Avatar de imikado imikado - Rédacteur https://www.developpez.com
le 27/08/2013 à 16:37
Je comprends pas l'histoire de l'adaptation au support, on parle de moteur de rendu, mais on peut très bien afficher différement pour le mobile, c'est plus une question de résolution et de gestion du tactile
C'est tout le problème du responsive design

Mais j'ai rajouté la remarque dans le recap
Avatar de ctxnop ctxnop - Membre expérimenté https://www.developpez.com
le 27/08/2013 à 16:48
Tu oublie également dans les contres le fait qu'un moteur unique signifie création d'un monopole.
En conséquence le détenteur de ce monopole pourrait obtenir un pouvoir d'influence énorme sur le Web.
Même si ce monopole revient à un regroupement d'entreprise et non une seule. Sans compter que rien ne garanti que ça restera le cas (une des entreprise constituant le groupe pouvant prendre de l'ampleur et absorber d'une manière ou d'une autre les différents membres du groupe).

Le détenteur du monopole (une entreprise ou un regroupement) pourrait décider de faire payer ce moteur, empêchant la venue de nouveaux acteurs. Il pourrait même arriver que les navigateurs deviennent du coup payants.

Il ne faut pas perdre de vu les pouvoirs qu'accordent un monopole et le fait que même si dans les détenteur on met mozilla, fondation à but non lucrative, ce n'est pas le cas de Microsoft, Google, Apple, Opera, etc...

De toute façon, si ça devait arriver, il y a fort à parier qu'il y aurai à nouveau plusieurs moteurs, afin de proposer quelque chose qui ne soit pas sous le joug du détenteur du monopole.

Il faut également mettre un bémol sur "des sites utilisant les dernières technologies (plus leger, plus agréable)".
En effet, si demain on fait un moteur unique, rien ne dit qu'il mettra à disposition toutes les technologies existante. Un sous ensemble plus limité peu très bien être choisi. Comme par exemple l'abandon du svg s'il est jugé trop peu utilisé (exemple totalement arbitraire, choisi grâce à la méthode scientifique du 'plouf plouf' dans la liste gigantesque des fonctionnalités web existante ou ayant existé).

EDIT: Si c'est différent sur mobile c'est qu'il y a plusieurs moteurs de rendu.
Ne pas oublier non plus que "autre support que le PC" ne signifie pas "petit écran mobile avec tactile". Il y a également les TV, les navigateurs sur consoles de salon, sur console portable sans tactile non plus, les périphériques spécifiques (genre liseuse ou écran braille), les google glass, la montre d'apple, et j'en passe.
Il y a même des exemples de frigos qui vont sur le net. Qui sait de quoi demain sera fait ?
Avatar de imikado imikado - Rédacteur https://www.developpez.com
le 27/08/2013 à 17:06
Pour le monopole, j'ai parlé de crainte de perte de concurrence
Et n'oublions pas que l'on parle de moteur opensource et non fermé

Pour les mobiles, ce n'est qu'une déclinaison avec certaines contraintes, mais ça peut etre le même moteur avec une variable de contexte (desktop/smartphone/tablette/tv...)
Avatar de ctxnop ctxnop - Membre expérimenté https://www.developpez.com
le 27/08/2013 à 17:18
Non, il y a bien deux arguments différents :
- La crainte d'une perte d'innovation à cause d'un manque de concurrence, qui aboutit à la stagnation.
- La crainte d'un monopole qui abouti à du pouvoir et possiblement à des abus de ce pouvoir.

Le fait qu'il soit Open Source ou non ne change absolument rien à ces deux arguments. Un moteur unique, open source ou non, signifie un monopole (et donc, une absence de concurrence).
Si abus il devait y avoir, l'Open Source ne fera que simplifier la création d'un nouveau moteur qui permettra de contrer les abus du monopole, et donc de revenir à une situation de multiples moteur plus rapidement. Mais c'est tout, ça ne change pas le fond.
Sans compter qu'il faudrait que les sociétés soient d'accord. Ce n'est pas gagné pour toutes. Mais vu que Webkit et Gecko (ainsi que les forks et/ou origines de ceux-ci) le sont, ce n'est probablement pas entièrement hors de portée.

Des variables indiquant si on est sur tablette ou sur pc ou sur <insérer le device de votre choix> manque de vision à long terme.
Comme dis plus haut, des type de périphérique il en existe des tonnes, tous avec des fonctionnalités différentes. Il en existe de très nombreux auxquels on ne pensent pas, ou pour lesquelles on est pas au courant de leurs existence. Il y en a de nouveau presque tous les jour. On ne sait pas ce qui sera inventé demain.
Identifier le périphérique sur lequel on est n'a pas de sens pour moi. Par contre identifier ses capacités est très utile.
Avatar de imikado imikado - Rédacteur https://www.developpez.com
le 27/08/2013 à 17:36
J'ai ajouté dans le recapitulatif, n'hesitez pas à me corriger si l'énoncé n'est pas clair

Pour les mobiles et autres devices, pour moi c'est vraiment une histoire de déclinaison: chaque navigateur a sa déclinaison: chrome existe sur ordinateur, smartphone et tablette... donc cette idée de moteur unique prendrait cela en compte, comme les navigateurs actuels différencient leurs déclinaisons
Avatar de Kdence Kdence - Futur Membre du Club https://www.developpez.com
le 04/09/2013 à 12:53
Je suis contre!

Pour les développeurs :
Cela serait un gain de temps indeniable pour les devs qui n'aurait alors plus à s'assurer que leurs applications web soit affichées sur tous les navigateurs de la même façon.

Pour le Web :
Là par contre je pense que sans concurence cela freinerait l'évolution du Web et c'est ce qui fait que je suis contre.
En plus un monopole n'est jamais bon. Je pense que ce qu'il faudrait déjà, c'est que les standard doivent être scrupuleusement respectés.
Offres d'emploi IT
Ingénieur produit (Landing gear) H/F
Safran - Ile de France - MASSY Hussenot
Architecte / concepteur électronique analogique H/F
Safran - Ile de France - Éragny (95610)
Responsable de projets - actionneurs H/F
SAFRAN - Ile de France - MASSY / MANTES

Voir plus d'offres Voir la carte des offres IT
Responsable bénévole de la rubrique Web sémantique : Julien Plu -