Lors de la précédente conférence ng-europe 2014, l'équipe Google du framework AngularJS a pu présenter sa feuille de route et notamment l'évolution majeure que représente la version 2.0. Celle-ci présentait un nouveau langage AtScript dont l'objectif était d'étendre la syntaxe du JavaScript actuel pour y ajouter des annotations de type à la manière du langage TypeScript porté par Microsoft.
Au point même que TypeScript était mentionné comme langage cible dans la feuille de route même si la nature du rapprochement restait assez floue.
[spoiler]
Feuille de route du langage AtScript à la ng-europe 2014
[/spoiler]La communication de l'équipe AngularJS qui a suivi cette annonce, n'a pas aidé à clarifier la situation, d'autant plus que sans doute pour des raisons corporate, le langage Dart, développé également par Google, a été réintégré au développement de la future version AngularJS 2.0. Le consensus général était que le futur langage AtScript s'inspirerait de TypeScript, la collaboration avec Microsoft se limitant à l'harmonisation du typage via les fichiers de définition de types .d.ts actuellement utilisés en TypeScript.
Ce jeudi 5 mars, lors de la ng-conf 2015, la nature de la collaboration entre AngularJS 2.0 et TypeScript vient d'être clarifiée puisque sur son blog, l'équipe de TypeScript vient d'annoncer que le langage (à partir de sa version 1.5) sera une des composantes d'AngularJS 2.0 et devrait remplacer de facto l'hypothétique AtScript.
Comme conséquence de cette "fusion" entre AtScript et TypeScript, la version 1.5 du langage de Microsoft devrait inclure une fonctionnalité permettant de récupérer l'information sur le type d'une variable à l'exécution (introspection).
Exemple de code AngularJS 2.0 écrit en TypeScript
La version 1.5 de TypeScript inclura des fonctionnalités ECMAScript 6 comme les modules, le support de l'Unicode, des symboles (Symbols), l'acceptation des expressions en tant que noms de propriétés (Precomputed Properties) ; la décomposition de tableaux (destructuring) ; l'opérateur d'expansion des paramètres (spread) ; le paramétrage du compilateur via un fichier de paramètre JSON ; la compatibilité de let, const et de l'interpolation de chaînes avec une transpilation ES3 et ES5 ; et des améliorations sur l'API du compilateur.
Cette version 1.5 devrait selon toute vraisemblance être publiée dans quelques semaines.
Sources :
Blog de l'Equipe TypeScript
Blog de S. Somasegar, Vice-président de la Developper Division chez Microsoft
Vidéo de la conférence ng-2015
Et vous ?
L'équipe d'Angular aurait-elle dû rester sur AtScript ?
Cela vient-il renforcer la crédibilité de TypeScript ?
La collaboration entre deux concurrents directs est-elle saine ?