Angular 2 sera basé sur TypeScript : convergence de AtScript et TypeScript 1.5
TypeScript servira de langage à AngularJS 2.0
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.
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 :
:fleche: Blog de l'Equipe TypeScript
:fleche: Blog de S. Somasegar, Vice-président de la Developper Division chez Microsoft
:fleche: Vidéo de la conférence ng-2015
Et vous ?
:fleche: L'équipe d'Angular aurait-elle dû rester sur AtScript ?
:fleche: Cela vient-il renforcer la crédibilité de TypeScript ?
:fleche: La collaboration entre deux concurrents directs est-elle saine ?
2 pièce(s) jointe(s)
Angular 2 sera basé sur TypeScript : convergence de AtScript et TypeScript 1.5
A l'occasion de la ng-conf, la conférence AngularJS qui se déroule actuellement à Salt Lake City, l'équipe de développement a annoncé que la branche 2.0 du framework serait basé sur le langage TypeScript de Microsoft dans sa future version 1.5. L'information a été retransmise sur le blog MSDN de TypeScript, où l'on se réjouit du résultat d'une collaboration de plusieurs mois entre les équipes de Google et Microsoft.
Cette annonce signifie également l'arrêt des travaux sur le langage AtScript qui avait été présenté en octobre dernier pendant la conférence ng-europe. Pour rappel, AtScript était décrit comme une surchouche de la norme EcmaScript 6 avec une syntaxe d'annotations et un typage dynamique basé sur la syntaxe TypeScript. Après l'annonce d'un AngularJS 2 reposant sur AtScript, de nombreux développeurs avaient vivement critiqué ce choix, estimant que les deux versions majeures du framework étaient bien trop différentes pour songer à migrer des projets ou capitaliser sur l'expérience de développement acquise sur Angular 1.x.
Si AtScript n'est plus, la plupart de ses caractéristiques se retrouveront tout de même dans la prochaine version de TypeScript dont une beta sera publiée dans les prochaines semaines. TypeScript 1.5 disposera donc d'annotations pour lier des métadonnées aux classes, ainsi que de l'introspection de type permettant de vérifier le type des variables manipulées pendant l'exécution du programme (à noter que le typage dynamique n'a pas été mentionné). Cela devrait satisfaire les ambitions de l'équipe Angular qui montre par le désormais classique exemple du TodoMVC que le code n'a pas tellement changé par rapport à celui décrit en octobre :
Des informations plus précises sur ces nouvelles fonctionnalités devraient nous parvenir à la publication de la beta 1.5. En attendant, les réactions sont partagées sur les réseaux sociaux entre ceux qui se réjouissent de la collaboration des deux géants de l'IT et ceux qui craignent que le langage Dart de Google soit le prochain à disparaître.
Et vous ?
:fleche: Êtes-vous satisfait de cette décision ?
:fleche: Utilisez-vous TypeScript dans vos projets ou comptez-vous l'utiliser ?
:fleche: Pensez-vous que cette annonce sonne le glas du langage Dart qui ne faisait déjà plus beaucoup l'actualité ?