Ce lundi 20 juillet, l'équipe TypeScript vient d'annoncer la mise en production de la version 1.5 du langage, trois mois après l'annonce de la version alpha. Ce délai de mise en production relativement long par rapport aux précédentes versions montre le saut à la fois qualitatif et quantitatif opéré par cette version 1.5.
Pour avoir un panorama des nouvelles fonctionnalités, on peut utilement se référer à l'article annonçant la version alpha. Pour rappel, cette version 1.5 ajoute :
- Une nouvelle syntaxe pour l'importation de modules permettant de choisir plus finement les composants à inclure
- Les décorateurs, à titre expérimental, développés en collaboration avec Angular, Ember et Aurelia.
Cette version 1.5 précise en outre certains concepts.
Espace de nommage
Les notions assez peu satisfaisantes de "modules internes" et "modules externes" ont été clarifiées.
Les modules internes qui étaient déclarés à l'aide du mot-clé module peuvent désormais être déclarés à l'aide du nouveau mot-clé namespace dans la mesure où cette notion de module interne dans TypeScript rejoint en grande partie celle d'espace de nommage existant dans d'autres langages (C++ ou C# par exemple).
Nouveaux formats de modules
Les modules externes sont quant à eux désormais désignés modules, tout simplement. A noter que TypeScript prend en charge deux nouveaux formats de modules (au sens serveur). En plus de AMD et CommonJS, cette version 1.5 peut générer des modules SystemJS et UMD faisant de TypeScript de plus en plus une boite à outils pour le développement Web et pas uniquement un simple langage.
Centralisation des dépendances de compilation
La déclaration des dépendances externes à un fichier source se faisait jusqu'à présent soit à l'aide de l'instruction ///<reference>, relativement laide il faut bien le dire, ou via la ligne de commande lors de l'appel au compilateur. Il est possible désormais de définir un fichier nommé par défaut tsconfig.json contenant toutes les dépendances nécessaires à la compilation d'un projet.
Prise en charge ES6
Enfin, cette version de production fait un bond considérable dans sa prise en charge de la norme ES6 passant d'une couverture fonctionnelle de 25% lors de la version alpha, à un taux de 52% avec cette version de production, soit plus du double, rejoignant ainsi le pur transpileur ES6 Traceur.
Cette version 1.5 est une étape majeure dans l'évolution du langage TypeScript où de nombreux aspects ont été améliorés, tant que le plan de la syntaxe pure que sur le plan de la compilation ou de l'intégration avec d'autres outils ou composants. Des orientations majeures ont été prises comme l'adjonction d'un polyfill pour gérer les décorateurs. Il semblerait que TypeScript se montre plus ambitieux quant à ses objectifs à plus long terme en ne se contentant plus de n'être qu'un langage transpilant vers JavaScript, mais de se positionner comme un point nodal dans le processus de développement Web.
source : Blog officiel de TypeScript
Que pensez-vous des nouveautés apportées par cette nouvelle version de TypeScript ?