Microsoft propose des extensions pour compléter JavaScript

Regard en coin vers Google 41
Vincent Hermann
Comme on a pu le voir après l’arrivée d’Internet Explorer 9, Microsoft publie parfois des extensions pour son navigateur afin de tester des implémentations de technologies non finalisées. Ces extensions sont réunies sur le site HTML5 Labs et compensent l’absence d’un canal de distribution de type Aurora pour Firefox, dédié aux tests. Microsoft se tourne cette fois vers le JavaScript et propose plusieurs éléments pour en étendre les possibilités.

html5labs IE9

JavaScript a des problèmes, chacun a sa solution

Le JavaScript est un langage devenu incontournable. Il y a plusieurs années, il était l’un des principaux constituants de la méthode AJAX (Asynchronous Javascript and XML), devenue la base du Web 2.0. Globalement, le JavaScript est essentiel pour donner aux sites web des possibilités qui les rapprochent des applications classiques. Mais il a également ses propres limites, tout en étant devenu un argument de vente pour les navigateurs.

Si le JavaScript a souvent été plébiscité pour ses capacités et sa facilité d’utilisation, il n’a pas été pensé pour l’utilisation qui en est faite aujourd’hui. C’est ce constat qui a mené Google récemment à présenter son langage Dart, largement inspiré par le JavaScript. Ce concurrent propose notamment un typage statique ou dynamique, des bibliothèques, des classes pour permettre l’encapsulation et la réutilisation des données et méthodes, et différents outils. Le succès de Dart dépendra cependant du nombre de navigateurs qui seront capables de le comprendre nativement.

Si Microsoft constate également des problèmes liés au JavaScript, elle n’a pas la même approche que Google. La firme indique sur l’un de ses blogs qu’elle privilégie avant tout la préservation de la syntaxe fondamentale du JavaScript pour s’assurer que les compétences des développeurs restent utilisées dans la durée. En outre, Microsoft préfère que soit ajoutées de manière progressive et régulière les fonctionnalités manquantes à JavaScript.

Microsoft préfère compléter ce qui existe déjà

Pour l’éditeur, trois domaines en particulier nécessitent des travaux :
  • Une meilleure intégration avec la plateforme native du navigateur : les opportunités ont explosé avec l’arrivée du HTML5 et des éléments tels que l’API File, Canvas Pixel Array et XHR2. Microsoft estime que l’interopérabilité du JavaScript avec les flux de données binaires doit être meilleure. Des besoins qui ont conduit à la formation de la proposition Binary Data.
  • Un meilleur chargement des sites : le JavaScript devrait bénéficier selon la firme d’un modèle standard de chargement cohérent des unités de code, pour un ordre prévisible dans les chargements.
  • Performances et réactivité : la rapidité d’exécution serait revenue à la baisse par le simple fait de ne pas se reposer sur des fonctions et outils tiers. Un exemple simple est jQuery où une seule fonction simple peut s’appuyer sur tout un ensemble de fonctions JavaScript chainées pour compenser un manque.
Microsoft profite de sa présence au sein du comité technique 39 (TC39) de l’ECMA pour proposer certains éléments supplémentaires qui viendraient se greffer à la norme actuel. Pas question pour l’entreprise de proposer une solution telle que Dart, d’ailleurs critiqué pour la cassure qu’il entraîne, aussi bien dans le runtime que dans la syntaxe.

javascript 

Le tableau ci-dessous regroupe les implémentations de référence proposées par Microsoft. Selon la société, la création d’applications web de plus en plus étoffées et gourmandes en puissance a révélé le manque de certaines fonctions importantes dans la bibliothèque des mathématiques. Des fonctions telles que cosh et log10 pourtant disponibles depuis longtemps dans des langages classiques telles que C++, Java, .NET et ainsi de suite.

La globalisation des applications web serait également rendue plus difficile par l’absence dans le JavaScript de formats natifs pour la gestion des dates et des monnaies. Des capacités pourtant toujours offertes sur le système d’exploitation servant de base au navigateur. Microsoft propose donc des implémentations qui permettront par exemple aux développeurs de définir des formats d’heure et chiffres divers pour utiliser d’autres modèles de référence comme le calendrier islamique ou la monnaie chinoise (Yuan). L’avantage est que l’application n’a plus à interroger une machine distante pour réclamer les spécificités locales.

Les extensions proposées sont avant tout destinées aux tests par les développeurs. En tant que telles, même si elles ont été présentées au TC39 de l’ECMA, elles n’ont aucune garantie d’intégration dans la norme ECMAScript, pilier du JavaScript. Bien entendu, le fait que le JavaScript soit l'une des clés pour utiliser les API WinRT de Windows 8 n'est sans doute pas étranger à ces propositions faites à l'ECMA.

Les développeurs intéressés pourront télécharger les extensions et obtenir des informations supplémentaires sur le site HTML5 Labs