WebKit supporte 99 % d'ECMAScript 2015 et abandonne les préfixes CSS

Une victoire 41
En bref
image dediée
Navigateurs
Par
le lundi 02 mai 2016 à 11:00
Vincent Hermann

Le moteur de rendu WebKit n’utilisera bientôt plus aucun préfixe pour l’ensemble des CSS. Parallèlement, sa couverture de la norme ECMAScript 2015 (ES6) culmine désormais à 99 %, prenant ainsi la tête du classement des navigateurs.

ECMASCript est une norme, ou plutôt un ensemble de normes définissant les caractéristiques des langages de scripts qui décident de s’y référer. L’exemple le plus connu est JavaScript, mais on pourrait citer également l’ActionScript d'Adobe et le TypeScript de Microsoft, spécialisé dans la réalisation des gros projets. Les moteurs de rendu doivent également être compatibles avec cette norme via leur machine virtuelle JavaScript pour que les fonctionnalités de ce dernier puissent être prises en charge.

ECMASCript 2015 : WebKit est en tête

Aussi, quand WebKit atteint 99 % de compatibilité avec la version 2015 de la norme (anciennement ECMAScript 6). En l’état actuel des choses, il ne manque en fait plus que six éléments en tout et pour tout à supporter pour atteindre les 100 %. Un très bon rythme quand on sait que la norme a été validée dans sa version finale en juin de l’année dernière seulement. Une course qui en dit long cependant sur la nécessité dans ce domaine d’harmoniser non seulement les pratiques, mais de donner aux développeurs des outils supplémentaires.

Si l’on se réfère à la table de compatibilité ES6, il est facile de voir que WebKit est clairement en tête. Cela étant, tous les navigateurs sont dans leurs plus récentes préversions dans un mouchoir de poche. Edge supporte 90 % de la norme, Firefox 93 % et Chrome 98 %. On peut estimer que la plupart des navigateurs auront atteint la barre des 100 % dans les six mois qui viennent.

Les 100 % pour la WWDC d'Apple en juin ?

Ces 99 % sont atteints notamment par la dernière Technology Preview de Safari sur OS X. Rappelons qu’il s’agit du canal de test lancé il y a quelques semaines par Apple, qui pilote majoritairement le développement de WebKit. La TP3 contient bon nombre d’améliorations, mais on remarque vite en consultant la liste des nouveautés que beaucoup concernent justement… l’ECMAScript 2015.

Il est fort probable que les 100 % soient présents dans le futur Safari 10, qui devrait arriver avec les nouvelles versions d’OS X et iOS. Les deux systèmes devraient être présentés tous les deux à la conférence WWDC d’Apple en juin.

Le vaste problème des préfixes WebKit...

L’équipe WebKit a également annoncé une autre nouvelle d’importance : la fin des préfixes CSS. Un changement majeur pour le développement web.

Pour comprendre l’ampleur de ce virage, il faut comprendre ce qu’est un préfixe. Il s’agit d’un moyen commode de tester en avance le support d’une technologie ou d’une norme qui n’est pas encore finalisée. L’éditeur du moteur de rendu utilise alors un préfixe pour marquer une balise par exemple, pour bien faire comprendre qu’il s’agit d’une implémentation « maison » et donc susceptible d’évoluer par la suite. Quand la norme est finalisée, le préfixe est supprimé. WebKit utilise le préfixe « -WebKit » par exemple, tandis que Mozilla se sert de « -moz »

Dans le cas de WebKit, il existe cependant une différence importante. Le moteur de rendu dispose d’une part de marché écrasante sur le web mobile. Le travail au W3C était relativement lent (car prenant en compte de multiples facteurs d’harmonisation), le moteur se retrouve en avance sur le support des technologies. Les développeurs se servent alors des préfixes, qui finissent par rester par inertie des habitudes.

... va enfin être réglé

Or, les développeurs de WebKit ont annoncé que cette pratique allait prendre fin. Une nouvelle très attendue par les développeurs qui voyaient s’installer une sorte de contre-pouvoir au W3C, avec ses propres règles. Dans un billet de blog, l’ingénieur Edward O'Connor (Apple), indique que l’idée initiale de supporter en avance les technologies via des préfixes « n’a pas si bien fonctionné ». Pourquoi ? Parce que de « nombreux sites web sont devenus dépendants des propriétés préfixées ».

Un reproche fait depuis longtemps à WebKit justement. Et pour donner une idée de la problématique, rappelons que Mozilla avait été forcé de supporter les préfixes de WebKit dans Firefox tant de nombreux développeurs ne se référaient qu’au moteur le plus utilisé sur les mobiles. Nous avions alors partagé un sentiment mitigé, avec d’un côté un avantage pour les utilisateurs, et de l’autre un échec pour le web.

Mais concrètement, comment compte faire WebKit pour continuer à tester les nouveautés ? Via des « flags », que l’on activera spécifiquement, exactement comme dans Chrome et Firefox. Chaque nouvelle fonctionnalité expérimentale aura son propre flag, et non plus un préfixe spécifique. L’équipe espère que le fonctionnement global sera plus clair pour tout le monde, d’autant qu’il n’a pas d’impact immédiat.

Les flags ne seront en effet surtout valables que pour les nouvelles technologies, laissant tranquilles celles qui fonctionnent pour l’instant avec des préfixes. Tout supprimer dès maintenant aurait sans conteste des effets désastreux sur l’affichage des pages web. Les CSS seront donc progressivement nettoyés de leurs préfixes sur les prochaines années, mais on peut d’ores et déjà estimer qu’il s’agit d’une victoire pour l’ouverture du web.


chargement
Chargement des commentaires...