Qui a parlé de Webkit ? Nous avons parlé d’évolution.

February 23, 2013 § 3 Comments

« Webkit est un boulet. Nous ne pouvons pas nous en écarter, parce que nos utilisateurs dépendent de ses bugs autant que de ses
fonctionnalités, mais Webkit est construit à partir de technologies obsolètes, de concepts qui ne passent plus à l’échelle depuis
longtemps, et tout cela ne rime plus à rien face aux besoins ou aux matériels d’ajourd’hui. Si nous avions le moindre choix, nous
abandonnerions tout cela pour recommencer à partir de zéro. »

Qui a dit cela ? Personne, à ma connaissance. Webkit est une très bonne famille de moteurs de rendu. Suffisamment bonne pour qu’Apple et Google aient tous deux décidé de construire leurs navigateurs autour de Webkit. Mieux que cela : il y a quelques jours, Opera Software a annoncé l’abandon de Presto, le moteur de rendu qui faisait tourner Opera, et le passage à Webkit. L’un dans l’autre, les références en faveur de Webkit sont impressionnantes.

Mais il y a une chose à ne pas oublier : Webkit est une technologie âgée. La première version de Webkit a été publiée en 1998, sous le nom KTHML, soit à peu près en même temps que Gecko, le moteur de Mozilla, ou Trident, celui de Microsoft, et quatre ans avant Presto, celui d’Opera. À l’époque, les threads étaient trop lents pour être utilisés, les systèmes multi-cœurs relevaient presque de la science fiction, les cartes graphiques ne servaient qu’à jouer et les micro-processeurs n’arrêtaient pas de doubler de vitesse. En plus de cela, personne hors du monde académique ne prenait au sérieux la compilation JIT, les systèmes de types ou les langages dynamiques. Oh, et il fallait être idiot pour s’imaginer travailler sur des documents dans un navigateur, ou encore jouer à des jeux un peu complexes. Sans compter que la vie privée et le web ouvert étaient deux concepts auxquels seul Opera s’intéressait.

Nous voici quinze ans plus tard. Les utilisateurs attendent autre chose de leurs navigateurs. Sur un navigateur, on peut maintenant jouer à des jeux en 3d et utiliser des suites bureautiques. Les navigateurs doivent fonctionner sur des micro-processeurs à basse consommation. Les architectures multi-cœurs sont devenues bien moins onéreuses que les processeurs rapides et la puissance des cartes graphiques a augmenté de manière démesurée. De nos jours, la plupart des applications visent des plateformes compilées en JIT. Les langages C et C++ ont des concurrents sérieux. N’oublions pas non plus que votre navigateur est devenu la cible favorite de tous les espions du monde, de tous les mafieux et de leurs petits cousins, ou encore que Google, Facebook et les autres gagnent des milliards de dollars en déterminant exactement ce que vous êtes en train de faire devant votre navigateur. En quinze ans, Webkit, Gecko, Trident et Presto ont été améliorés, optimisés, patchés, verrouillés et réglés des milliers de fois, pour obtenir les plate-formes impressionnantes que nous utilisons maintenant tous les jours.

Il y a quelques jours, Opera a jeté l’éponge sur Presto et rejoint le mouvement Webkit. J’avoue avoir quelques doutes sur les conséquences stratégiques de ce mouvement pour Opera, mais ce n’est pas de cela que traite mon billet. Cette volte-face est bien entendu décevante. Décevante pour la communauté Mozilla car il semble bien que nous venons de perdre notre plus solide allié dans le combat pour la vie privée et le web ouvert. Décevante aussi car la raison avancée par Opera pour cet abandon est qu’il avait trop de développeurs qui développaient non pas des applications web mais des applications webkit.

C’est bien ce point qui m’inquiète, car il s’agit d’un réel danger pour l’avenir du web entier. À chaque fois qu’une application est développée à partir de standards ouverts, elle peut fonctionner sur tous les navigateurs standards – pas uniquement les navigateurs principaux, mais aussi des navigateurs moins connus ou des navigateurs qui n’existent pas encore. À l’inverse, par définition, une application webkit ne fonctionnera que sur les navigateurs webkit. Si vous êtes un développeur web, souvenez-vous de ces chiffres : cela signifie que votre application va rejeter environ 60% de ses utilisateurs potentiels. Et encore, ce chiffre suppose que 1/ tous les utilisateurs actuels d’Opera vont passer à webkit ; 2/ tous les navigateurs webkit sont compatibles bug-pour-bug et bizarrerie-pour-bizarrerie, ce qui est loin d’être le cas.

De fait, c’est même un peu pire. Si votre application webkit dépend des bugs ou bizarreries webkit, il y a de fortes chances que ces bugs et bizarreries finissent par être corrigées. Le cas échéant, d’ici un ou deux ans, votre base d’utilisateurs potentiels aura fondu, et ne resteront que les utilisateurs qui ne mettent jamais à jour leur navigateur. Soudainement, dépendre des fonctionnalités avancées et non-standard de Webkit est devenu un handicap.

Oh, et vous vous souvenez de cette non-citation à propos du boulet Webkit ? Un de ces jours, vous l’entendrez. Il n’est un secret pour personne que Mozilla travaille sur Servo, son moteur de rendu de la prochaine génération, et je serais fort surpris que Google et Microsoft ne soient pas en train de faire la même chose quelque part dans leurs laboratoires R&D. Servo est réécrit à partir de zéro. Pas avec l’objectif d’être compatible bug-pour-bug ou bizarrerie-pour-bizarrerie avec Gecko ou Webkit, mais purement à partir des spécifications du web ouvert. Sans aucun doute, les homologues de Google et de Microsoft suivent ou suivront la même stratégie, tout simplement parce que développer un moteur de rendu est une tâche d’une complexité impressionnante, et essayer d’émuler des bugs ne fait qu’ajouter un ordre de complexité.

Alors, si vous souhaitez maximiser votre base d’utilisateurs et vous assurer que votre application va continuer à utiliser dans quelques années, vous connaissez la technique :

Please don't hurt the web, use open standards

Sauvez le web. Utilisez des standards ouverts.

About these ads

§ 3 Responses to Qui a parlé de Webkit ? Nous avons parlé d’évolution.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

What’s this?

You are currently reading Qui a parlé de Webkit ? Nous avons parlé d’évolution. at Il y a du thé renversé au bord de la table.

meta

Follow

Get every new post delivered to your Inbox.

Join 29 other followers

%d bloggers like this: