Avec Firefox 58 qui sera officiellement disponible le 23 janvier, Mozilla veut continuer à augmenter les performances de son navigateur, en introduisant deux nouveaux changements, à savoir la compilation en streaming et un nouveau compilateur WebAssemby à deux niveaux. Avec la compilation en streaming, le navigateur compile le code pendant qu’il est en train d’être téléchargé. « Jusqu'à présent, c'était juste une accélération future potentielle. Mais avec la sortie de Firefox 58 la semaine prochaine, cela devient une réalité », explique Lin Clark de Mozilla, dans un billet de blog.
« Si vous commencez à compiler le code plus tôt, vous finirez de le compiler plus tôt. C'est ce que fait la compilation en streaming ... rendre possible de commencer à compiler le fichier .wasm dès que possible », a écrit Lin Clark. Le fait est que lorsque vous téléchargez un fichier, il ne vient pas en un seul morceau, mais plutôt en une série de paquets. Jusqu'à présent, lorsque chaque paquet d'un fichier .wasm était en cours de téléchargement, la couche réseau du navigateur le mettait dans un ArrayBuffer, comme cela est illustré ci-dessous. Une fois cela fait, l'ArrayBuffer est déplacé sur la VM Web (le moteur JS). C'est alors que le compilateur WebAssembly commence la compilation.
Mais d'après l'ingénieur de Mozilla, il n'y a aucune raison de mettre le compilateur en attente. Il est en effet techniquement possible de compiler WebAssembly ligne par ligne. Cela signifie que vous devriez être en mesure de démarrer la compilation dès que le premier paquet arrive, et c'est ce que fait le nouveau compilateur, qui tire parti de l'API de streaming de WebAssembly.
Firefox 58 inclut également un nouveau compilateur à deux niveaux, et le nouveau compilateur de base compile le code de 10 à 15 fois plus vite que le compilateur optimisant. D'après Mozilla, ces deux changements combinés signifient que Firefox compile le code plus vite qu'il n’est livré par le réseau.
Dans l'ensemble, les gains de performance résultant des changements sont assez impressionnants. Sur PC, Firefox va compiler 30 à 60 Mo de code WebAssembly par seconde, et sur mobile le navigateur va compiler environ 8 Mo par seconde. Cela veut dire que peu importe votre dispositif, vous devriez toujours profiter de gains de performance sur le Web.
En dehors des performances, il faut savoir que Firefox 58 sera la première version du navigateur à intégrer des correctifs de sécurité contre les attaques de type Meltdown et Spectre. À propos des nouvelles fonctionnalités, on peut également mentionner que la technologie WebVR est maintenant activée pour les utilisateurs de Mac OS X. Il y a aussi le support du remplissage automatique dans les formulaires pour les informations de carte de crédit et une optimisation du chargement des pages Web par la mise en cache de la représentation interne JavaScript. Firefox 58.0 améliore encore la vitesse de rendu des pages Web pour les utilisateurs Windows avec la technologie Off-Main-Thread Painting et la mise en cache JavaScript. Plus de détails sur les nouveautés seront donnés avec la sortie officielle de Firefox 58.
Mise à jour le 23/01/2018 : Firefox 58 est officiellement disponible
« Cette version est construite sur la grande fondation fournie par notre tout nouveau navigateur Firefox Quantum », a expliqué Mozilla lors de l’annonce de la sortie officielle de Firefox 58. « Nous optimisons les gains de performance que nous avons introduits dans Firefox 57 en améliorant le rendu des graphiques et la mise en cache JavaScript. Nous avons également apporté des améliorations de fonctionnalité et de confidentialité à Firefox Screenshots. » Il faut en effet noter que les captures d'écran Firefox fonctionnent maintenant en mode navigation privée. Il est également possible de les copier et coller directement dans votre presse-papiers.
Entre autres changements au niveau de l'expérience utilisateur, il faut aussi savoir que les profils utilisateur créés à partir de Firefox 58 ne seront pas pris en charge dans les versions précédentes du navigateur. Les utilisateurs qui rétrogradent vers une version précédente doivent donc créer un nouveau profil pour cette version. Côté développeur, on note entre autres l'implémentation de l'API PerformanceNavigationTiming et l'ajout de PerformanceResourceTiming.workerStart afin que les sites puissent mesurer le temps de démarrage des service workers.
Sur Firefox pour Android, Mozilla a ajouté la prise en charge des applications Web progressives (PWA) afin que vous puissiez ajouter des sites Web à votre page d'accueil et les utiliser comme des applications natives. On note en plus la prise de (Free Lossless Audio Codec).
« Cette version est construite sur la grande fondation fournie par notre tout nouveau navigateur Firefox Quantum », a expliqué Mozilla lors de l’annonce de la sortie officielle de Firefox 58. « Nous optimisons les gains de performance que nous avons introduits dans Firefox 57 en améliorant le rendu des graphiques et la mise en cache JavaScript. Nous avons également apporté des améliorations de fonctionnalité et de confidentialité à Firefox Screenshots. » Il faut en effet noter que les captures d'écran Firefox fonctionnent maintenant en mode navigation privée. Il est également possible de les copier et coller directement dans votre presse-papiers.
Entre autres changements au niveau de l'expérience utilisateur, il faut aussi savoir que les profils utilisateur créés à partir de Firefox 58 ne seront pas pris en charge dans les versions précédentes du navigateur. Les utilisateurs qui rétrogradent vers une version précédente doivent donc créer un nouveau profil pour cette version. Côté développeur, on note entre autres l'implémentation de l'API PerformanceNavigationTiming et l'ajout de PerformanceResourceTiming.workerStart afin que les sites puissent mesurer le temps de démarrage des service workers.
Sur Firefox pour Android, Mozilla a ajouté la prise en charge des applications Web progressives (PWA) afin que vous puissiez ajouter des sites Web à votre page d'accueil et les utiliser comme des applications natives. On note en plus la prise de (Free Lossless Audio Codec).
Et vous ?
Que pensez-vous des nouveautés et améliorations dans Firefox 58 et de la nouvelle direction empruntée par le navigateur de Mozilla ?
Voir aussi :
Firefox 58 ne permettra pas le pistage des internautes grâce à l'élément HTML Canvas, le navigateur demandera d'abord la permission de l'utilisateur
La bêta de Firefox 58 pour Android est disponible : support des progressive web apps, de FLAC et autres à découvrir