Chrome n'est pas le standard

L'engouement des développeurs pour Chrome n'est pas bon, car la concurrence entre les navigateurs est bonne.

Aucun fournisseur de navigateur ne représente à lui seul "l'avenir du web". Chacun d'entre eu est livre en ligne avec ses propres priorités professionnels. Et c'est une bonne chose.
Article original traduit par mes soins

Au cours des dernières années, j'ai vu de plus en plus d'articles avec des titres comme "Une nouvelle fonctionnalité arrive sur le Web"—suivi d'un contenu qui décrivait comment Chrome avait implémenté une nouvelle fonctionnalité expérimentale. "Tu pourras bientôt l'utiliser!", était la promesse.

La réalité est un peu plus compliquée. Parfois, les idées des pionniers de l'équipe Chrome se fraient un chemin vers les autres navigateurs et deviennent des outils que nous pouvons tous utiliser. Parfois... ils sont mis de côté parce qu'aucun des autres navigateurs ne décide de les mettre en œuvre.

Souvent, lorsque cette dernière approche se produit, les développeurs râlent à propos des autres fabricants de navigateurs qui "freinent le web". Mais il y a un problème fondamental dans cette façon de voir les choses : Chrome n'est pas le standard. Le fait que Chrome propose quelque chose, et même le fait qu'un grand nombre de développeurs l'aiment, ne fait pas partie des standards. Il n'impose pas non plus aux autres navigateurs l'obligation d'établir un ordre de priorité, ni même de l'envoyer.

En tant que développeurs web, il peut être facile de se concentrer sur de nouvelles fonctionnalités intéressantes pour la plate-forme sur laquelle nous travaillons. Ce n'est pas différent de l'excitation des développeurs Android et iOS quand Google et Apple lancent de nouveaux SDKs pour développer sur leurs plateformes. Il est sensé d'être enthousiaste à l'idée de nouvelles fonctions, de choses qui pourraient faciliter notre travail ou nous permettre de faire des choses que nous ne pouvions pas faire auparavant.

Mais il y a une différence importante entre ces plateformes et le web. Ces plates-formes sont le domaine d'un seul fournisseur. Le web est une plate-forme partagée. C'est son avantage unique, et son coût unique. Il nous permet d'écrire des logiciels qui peuvent réellement fonctionner, et fonctionner raisonnablement bien, partout. Mais cela signifie aussi qu'au moins quatre entreprises—les principaux fournisseurs de navigateurs—ont leur mot à dire sur la question de savoir si une fonctionnalité est une fonctionnalité ou s'il s'agit simplement d'une idée intéressante que l'une des équipes a eu.

Soyons concrets à propos d'un exemple qui a été extrêmement médiatisé ces deux dernières années—et, pour être clair, je pense que c'est une bonne idée de la part de Google : les applications web progressives (ci-après PWA). Elles ont été présentés par Google et d'autres partisans comme une victoire sans ambiguïté pour l'expérience utilisateur d'applications Web complexes. Et, en tant que développeur web moi-même, je suis d'accord avec cette évaluation ! Cependant, j'ai vu assez régulièrement des gens se fâcher contre Apple pour ne pas avoir donné la priorité au support des PWAs dans Safari (en particulier iOS)—Apple est, de ce point de vue, "entravant l'avenir du web".

Eh bien... non. Pour n'importe quelle idée que Google lance, Apple peut ou ne peut pas être vendu sur la vision de Google du web, ou ils peuvent même penser que c'est une bonne idée mais pas plus important que d'autres choses sur lesquelles ils travaillent.1

Et c'est ce que cela signifie de faire partie de la plateforme web. Aucune entreprise ne peut à elle seule dominer les autres en termes d'établissement de l'agenda pour le web. Pas Firefox, avec son développement et son plaidoyer en faveur du WebAssembly, cher à mon cœur. Pas Microsoft et l'équipe IE/Edge, avec sa proposition de la spécification de la grille CSS en 2011, bien que je sois triste qu'il ait hésité aussi longtemps qu'il l'a fait. Pas Apple, avec son pitch pour le JavaScript concurrent. Et pas—aussi bon que soit son équipe de relations avec les développeurs—Chrome, avec toutes les idées qu'il teste constamment, y compris les PWAs.

Il faut aussi reconnaître que ces décisions ne sont pas, dans presque tous les cas, des poussées non alliées pour "l'avenir du web". Ils sont le reflet des professionnels du monde des affaires, tout comme n'importe quel autre ordre de priorité technique. Google se soucie des PWAs parce que Google gagne de l'argent sur le web et veut que les gens passent plus de temps sur le web. Apple se soucie de choses comme la durée de vie de la batterie et la vitesse de son moteur iOS JavaScript parce qu'il fait de l'argent avec le matériel et il veut que les gens soient heureux avec leurs iPhones et iPads.

L'un ou l'autre de ces engagements du navigateur correspond-il clairement aux priorités de tous les utilisateurs (ou même de tous les développeurs) ? Bien sûr que non ! C'est et cela a toujours été la beauté d'un paysage de navigateurs compétitifs. Je suis un développeur web qui veut le support PWA partout—donc je veux qu'Apple le supporte. Mais je suis aussi un utilisateur de smartphone qui veut que ces applications hurlent sur mon appareil—pas pour qu'elle rament, comme elles le font sur Chrome sur Android, qui est encore des années derrière iOS en performance. En tant qu'utilisateur final, et pas seulement en tant que développeur, il est important pour moi que l'utilisation de Safari sur mon ordinateur portable au lieu de Chrome puisse augmenter considérablement la durée de vie de ma batterie.

Ce sont des compromis, c'est clair et simple. Chrome livre rapidement de nouvelles fonctionnalités, mais elles ne sont pas toujours stables et elles ont souvent des coûts de performance. Safari propose de nouvelles fonctionnalités à une cadence beaucoup plus lente, mais elles sont généralement solides et toujours incroyablement performantes. Ce sont à la fois des compromis d'ingénierie et d'affaires, que les entreprises derrière les navigateurs font en raison de leurs propres priorités d'affaires et d'ingénierie.2 Ne valorisez aucun des vendeurs de navigateurs et n'agissez pas comme si l'un d'entre eux était la norme ou un indicateur fiable de l'avenir. Au lieu de cela, valorisez ce que chacun apporte à la table, mais appréciez aussi l'interaction à la table, et la façon dont chacun de ces fournisseurs pousse les autres et remet en question les hypothèses des autres sur ce qui est le plus important. C'est ce qui fait la grandeur du Web, même lorsqu'il fait bouger les choses plus lentement. Parfois—souvent, même !—Le fait d'avancer plus lentement, non pas dans la phase expérimentale, mais dans la phase de finalisation, permet d'obtenir un bien meilleur résultat dans l'ensemble.

  1. Dans ce cas, il semble que ce soit la dernière, depuis la sortie hier des Safari Tech Preview Service Workers, l'un des éléments majeurs de la poussée des PWAs.
  2. Traduction non littérale car la phrase originale est bancal : Il s'agit à la fois de compromis techniques et commerciaux, et les entreprises derrière les navigateurs font en raison de leurs propres priorités commerciales et techniques.