Angular 2 sera basé sur TypeScript : convergence de AtScript et TypeScript 1.5
C'est une collaboration entre Google et Microsoft

Le , par yahiko, Rédacteur/Modérateur
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.
[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 ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de SylvainPV SylvainPV - Rédacteur/Modérateur https://www.developpez.com
le 06/03/2015 à 1:01
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 ?
Êtes-vous satisfait de cette décision ?
Utilisez-vous TypeScript dans vos projets ou comptez-vous l'utiliser ?
Pensez-vous que cette annonce sonne le glas du langage Dart qui ne faisait déjà plus beaucoup l'actualité ?
Avatar de Paleo Paleo - Membre confirmé https://www.developpez.com
le 06/03/2015 à 9:56
Bon eh bien nous aurons des métadonnées dans TypeScript… On peut craindre l'usine à gaz.
En échange, nous avons une meilleure garantie que Microsoft ne laissera pas tomber la version de son compilateur qui fonctionne sous Node.js en dehors de son écosystème.
Et puis TypeScript remontera dans les priorités de JetBrains, ce sera tant mieux.
Traceur va disparaitre des radars. Tant mieux également, le code ES5 qu'il générait était aussi fermé que Dart.
L'effet de visibilité sur TypeScript est aussi un coup dur pour CoffeeScript, son concurrent direct.

Citation Envoyé par yahiko Voir le message
Cela vient-il renforcer la crédibilité de TypeScript ?
De Angular 2 plutôt.
Avatar de grunk grunk - Modérateur https://www.developpez.com
le 06/03/2015 à 10:45
Si deux gros s'associent ça ne peut qu'être bénéfique pour la pérennité de cette surcouche. C'est pas un mal puisque en ce moment entre fork et décès prématuré il fait pas bon choisir un techno basé sur du js ...
Avatar de Traroth2 Traroth2 - Membre chevronné https://www.developpez.com
le 06/03/2015 à 11:12
Et Dart ? Ca ressemble à la dernière pelletée de terre, non ?

Cela dit, si parmi les Dart, CoffeeScript, ClojureScript, TypeScript et consorts, un standard de fait pouvait se dégager, ça serait forcément une bonne chose.
Avatar de yahiko yahiko - Rédacteur/Modérateur https://www.developpez.com
le 06/03/2015 à 14:01
Selon toute vraisemblance, Google continue de supporter Dart, y compris au sein d'AngularJS avec AngularDart.

En regardant sur le compte GitHub d'AngularDart, ils en sont à la version 1.1.0 (donc post version de production), ce qui semble plutôt encourageant, même si cela ne ressemble pas au projet le plus populaire de Google.

Par exemple, quand je tape "AngularDart" dans le moteur de recherche, cela ne me retourne que 324 résultats (vs 73 576 pour "Angular".

Maintenant si quelqu'un utilise AngularDart et peut donner son avis, je suis preneur.
Avatar de Vlozer Vlozer - Membre habitué https://www.developpez.com
le 06/03/2015 à 15:00
Citation Envoyé par Traroth2 Voir le message
Et Dart ? Ca ressemble à la dernière pelletée de terre, non ?
Moi je sais vraiment plus quoi penser.... Entre Dart qui devait etre integré à chrome il y a 6mois, reactjs qui semble bien partie pour tuer angular, et ces alliance douteuses entre Google et Ms qui risque d'ecarter le reste des surcouches... Je sais plus du tout sur quoi miser, et j'ai presque l'impression qu'on tourne en rond... Il me reste quand meme une certitude dans tout ça, c'est que je deteste cette merde de javascript et les acteurs du web.
Avatar de SylvainPV SylvainPV - Rédacteur/Modérateur https://www.developpez.com
le 06/03/2015 à 16:36
Relax Vlozer On tourne en rond seulement parce qu'on veut réinventer la roue. Rien n'oblige les développeurs à s'enfermer dans un framework renouvellable tous les ans si ils savent maîtriser correctement "cette merde de javascript" et ont déjà une base de bibliothèques/patterns/conventions qui fonctionne bien. Il faut juste apprendre à se détacher de la hype et mettre fin à cette ridicule guerre des benchmarks.

Franchement combien de développeurs web ont régulièrement des problèmes de performances à imputer directement à JavaScript pour leurs services Web ? Sur tous mes projets pro, le problème de perf numéro 1 a toujours été la latence réseau, pas les scripts client. En ce moment, tout le monde a les yeux rivés sur React, une bête lib de templating (même s'ils n'aiment pas l'appeler comme ça parce que "composants" c'est un mot plus à la mode) qui pèse 127 Ko, excusez du peu ! On veut résoudre un problème de performance JS qui n'existe pas, en venant empirer le problème de performance réseau qui lui est omniprésent. Si c'est juste parce que les gens aiment l'approche React, il existe des alternatives bien plus simples et légères comme Riot (6.7 Ko, 3.5 Ko sans compilateur)
Avatar de steel-finger steel-finger - Membre habitué https://www.developpez.com
le 07/03/2015 à 8:39
Je suis tout à fait d'accord avec toi, on dirais qu'en ce moment les gens sont plus préoccupé par des foutu benchmarks, au lieu de faire avancé les choses dans la bonne direction
Avatar de polaroid62 polaroid62 - Membre habitué https://www.developpez.com
le 08/03/2015 à 13:57
J'aime beaucoup React que j'ai utilisé avec React Bootstrap expérience super sympa et j'aime beaucoup Dart mais je n'ai pas testé AngularDart je le ferais peut être via cette minuscule intro https://angular.io/docs/dart/latest/...uickstart.html , j'espère bien que Dart survivra pourquoi ne pas simplement laisser du choix aux devs qui feront ce qui leur chante ensuite.
Avatar de yahiko yahiko - Rédacteur/Modérateur https://www.developpez.com
le 09/03/2015 à 10:59
Citation Envoyé par polaroid62 Voir le message
pourquoi ne pas simplement laisser du choix aux devs qui feront ce qui leur chante ensuite.
Qui a dit le contraire ?
Contacter le responsable de la rubrique TypeScript