Les alternatives à JavaScript montent en puissance

Alors que Mozilla propose la technologie asm.js, Google et Microsoft avancent également leurs solutions. Il s'agit de Dart pour le premier et TypeScript pour le second. Décryptage.

Face aux faiblesses de performance de JavaScript, notamment comparé aux langages client natifs, plusieurs éditeurs se sont lancés dans la conception de technologies alternatives. C'est le cas de Microsoft qui a présenté le 18 juin une nouvelle préversion de TypeScript (0.9). L'objectif que s'est donné l'éditeur ? Proposer un langage de script permettant de réduire de manière conséquente la taille d'un code JavaScript. A l'occasion de cette nouvelle version, Microsoft insiste sur l'amélioration de l'architecture de compilation de l'environnement, la meilleure intégration du langage à l'IDE Visual Studio, mais aussi sur la prise en charge des Generics.

Egalement positionné sur la question avec son projet Dart annoncé en 2011, Google vient tout juste de présenter une version bêta du kit de développement de cette alternative open source à JavaScript. Dart introduit un typage fort, qui reste optionnel, permettant de renforcer la robustesse du code et optimiser sa maintenabilité. Les applications Dart sont exécutées par une machine virtuelle, mais peuvent également être converties en JavaScript. A l'occasion de cette beta, Google améliore notamment les performances de la machine virtuelle du langage (de 40% selon l'éditeur), et propose une nouvelle commande permettant d'automatiser les déploiements. Tout comme TypeScript, Dart devrait très bientôt atteindre sa version 1.0.

Dernier projet sur le point d'aboutir, celui de Mozilla. En vue de l'arrivée de la version finale de Firefox 22 d'ici quelques jours, la fondation open source entend en effet optimiser encore le moteur JavaScript du navigateur. Au travers d'un nouveau projet (OdinMonkey), elle travaille sur asm.js : un sous-ensemble de JavaScript, visant à obtenir un code applicatif pré-optimisé, et ainsi "tendre vers des performances proches d'un client natif" (lire l'article : Firefox 22 : un moteur JavaScript de rupture).

 Projet Dart

 Projet asm.js

 Projet TypeScript


 

Microsoft / Mozilla