Developpez.com

Plus de 14 000 cours et tutoriels en informatique professionnelle à consulter, à télécharger ou à visionner en vidéo.

AngularJS 2.0 sera basé sur TypeScript et influencé par Dart
Quand Google s'inspire de Microsoft

Le , par yahiko, Rédacteur/Modérateur
AngularJS 2.0 sera basé sur TypeScript et influencé par Dart


Lors de la présentation AngularJS 2.0 Core à la conférence ng-europe dédiée au framework AngularJS, les développeurs Igor Minar et Tobias Bosch ont annoncé que cette version sera basée indirectement sur le langage TypeScript. En effet, le langage AtScript d'AngularJS 2.0 s'inspire de TypeScript et est également influencé par Dart.



Présentation ng-europe

Crédits : Michael Schnyder

Selon la brève introduction officielle au langage AtScript qui vient d'être publié, il existe bien de nombreuses similitudes entre AtScript et TypeScript, ce dernier étant cité à deux reprises. Par exemple, AtScript assurera la compatibilité totale avec la norme JavaScript existante, tout comme TypeScript.

Parmi les fonctionnalités proposées, AtScript supportera de façon optionnelle le typage, les champs, les méta-données et l'introspection de type. La différence majeure avec TypeScript étant que le typage ne sera pas statique, mais dynamique, une variable pouvant changer de type en cours d'exécution.

Exemple de code en AtScript :
Code : Sélectionner tout
1
2
3
4
5
6
class MyClass { 
  methodA(name: string): int { 
    var length: int = name.length; 
    return length; 
  } 
}
L'équivalent en TypeScript :
Code : Sélectionner tout
1
2
3
4
5
6
class MyClass { 
  methodA(name: string): number { 
    var length: number = name.length; 
    return length; 
  } 
}

Et vous ?

Que pensez-vous du projet AtScript et des similitudes avec TypeScript et Dart ?


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


 Poster une réponse

Avatar de SylvainPV SylvainPV - Rédacteur/Modérateur http://www.developpez.com
le 24/10/2014 à 13:31
Le titre est trompeur, AngularJS ne sera pas basé sur TypeScript mais sur la norme ECMAScript 6 accompagnée d'une syntaxe d'annotations encore à l'étude, ces messieurs de Google ayant décidé de formaliser le tout sous l'appellation AtScript. AtScript st très ressemblant à TypeScript tout simplement parce que les deux étendent ECMAScript 6 en apportant un typage (avec comme grosse différence que le typage est statique sur TypeScript, ça a été souligné dans l'article). Mais ne nous y trompons pas, les deux langages et outils associés ne seront pas interopérables, et on ne pourra donc pas en théorie utiliser un compilateur TypeScript pour obtenir la version ECMAScript 5 d'AngularJS 2.0.

C'est un choix très étrange de la part de Google car il porte un coup très fort à Dart, alors que la séparation Angular/Dart soulevait déjà beaucoup de questions. Du reste, ça fait un langage de plus à rajouter à la longue liste des langages compilant en JS. C'est un domaine tellement volatile que je doute fort qu'un de ces langages vienne à s'imposer, surtout si les entreprises qui les portent se tirent elles-même une balle dans le pied.
Avatar de yahiko yahiko - Rédacteur/Modérateur http://www.developpez.com
le 24/10/2014 à 13:46
Citation Envoyé par SylvainPV  Voir le message
Le titre est trompeur, AngularJS ne sera pas basé sur TypeScript mais sur la norme ECMAScript 6 accompagnée d'une syntaxe d'annotations encore à l'étude, ces messieurs de Google ayant décidé de formaliser le tout sous l'appellation AtScript. AtScript st très ressemblant à TypeScript tout simplement parce que les deux étendent ECMAScript 6 en apportant un typage (avec comme grosse différence que le typage est statique sur TypeScript, ça a été souligné dans l'article).

Dire qu'AtScript ressemble à TypeScript parce qu'il se base lui aussi sur ECMAScript 6 n'est pas tout à fait exact.
Ce n'est pas ce qu'indique les diaporamas de la présentation où l'alignement avec TypeScript fait partie de la roadmap, TypeScript est nommément mentionné comme source d'inspiration dans la Spec Primer et enfin, l'équipe TypeScript dans la même journée a confirmé collaborer actuellement avec l'équipe d'AngularJS.

Mais ne nous y trompons pas, les deux langages et outils associés ne seront pas interopérables, et on ne pourra donc pas en théorie utiliser un compilateur TypeScript pour obtenir la version ECMAScript 5 d'AngularJS 2.0.

J'aurai plutôt tendance à dire qu'en théorie c'est possible vu qu'au final les deux langages produisent du JS, mais que ce sera plutôt en pratique où ce sera compliqué.

C'est un choix très étrange de la part de Google car il porte un coup très fort à Dart, alors que la séparation Angular/Dart soulevait déjà beaucoup de questions.

Sur ce point je partage ton avis. J'aurais tendance à dire que l'équipe d'Angular qui me semble plus pragmatique et proche du concret du développement dans la vraie vie désavoue sans le dire l'approche de Dart, un peu trop "technophile" à mon goût.

Du reste, ça fait un langage de plus à rajouter à la longue liste des langages compilant en JS. C'est un domaine tellement volatile que je doute fort qu'un de ces langages vienne à s'imposer, surtout si les entreprises qui les portent se tirent elles-même une balle dans le pied.

Je pense que AtScript, si jamais il voit vraiment le jour, va finir par converger avec TypeScript. En tout les cas, il y a déjà une compatibilité de prévue avec les fichiers de définitions de type de TypeScript (.d.ts), ce qui en soit est déjà une tendance.
Avatar de SylvainPV SylvainPV - Rédacteur/Modérateur http://www.developpez.com
le 24/10/2014 à 15:18
Je ne vois pas comment ils pourraient parvenir à faire converger les langages en partant sur des postulats de départ différents (typage statique vs typage dynamique, noms différents donnés aux types de base...). S'ils voulaient s'aligner sur TypeScript, pourquoi ne pas être parti sur TypeScript directement ?

Ma remarque sur le titre concernait uniquement le vocabulaire employé, beaucoup pourraient croire à tort qu'AngularJS sera écrit en TypeScript.
Avatar de Kaamo Kaamo - Membre expert http://www.developpez.com
le 24/10/2014 à 15:51
Angular 2.0 sera basé sur un langage (En l’occurrence "ES6 +A" aka "AtScript") qui est influencé par TypeScript et Dart. Dans le document cité dans l'article (AtScript Primer), il est clairement indiqué que AtScript diffère de TypeScript, et de Dart !
Je cite la dernière page du document.
The AtScript has been influenced by TypeScript and Dart. Here we would like to discuss why these existing solutions do not meet our needs.

Le pourquoi ils n'ont pas utilisé TypeScript ou Dart est expliqué juste après

Un document de question/réponse intéressant à lire sur le sujet en complément de celui qui est cité dans l'article.

Idem, j'ai du mal à comprendre la logique employé par Google. Ça donne l'impression qu'ils se tirent une balle dans le pied et qu'ils ont 1 fusil par épaule.
Enfin, vaut mieux peut-être un fusil sur chaque épaule. Ça coûte sûrement moins cher que de le passer de l'une à l'autre.
Avatar de Zefling Zefling - Membre émérite http://www.developpez.com
le 24/10/2014 à 16:03
Du même avis, en relisant le tire, j'ai l'impression qu'il est complètement à côté de la plaque et donne une fausse information.

Pour le reste, j'attends de voir. ES6 c'est pas encore pour tout de suite, surtout côté IE, et pour les autres il y a encore beaucoup à faire.
Avatar de yahiko yahiko - Rédacteur/Modérateur http://www.developpez.com
le 25/10/2014 à 1:51
Petite mise au point de Misko Hevery, le père d'AngularJS :


En prime, voici la présentation d'introduction à AngularJS 2.0 durant la conférence ng-europe (plus lisible que les photos ^^).
Avatar de polaroid62 polaroid62 - Membre habitué http://www.developpez.com
le 14/12/2014 à 23:22
C'est un choix très étrange de la part de Google car il porte un coup très fort à Dart, alors que la séparation Angular/Dart soulevait déjà beaucoup de questions.

Sur ce point je partage ton avis. J'aurais tendance à dire que l'équipe d'Angular qui me semble plus pragmatique et proche du concret du développement dans la vraie vie désavoue sans le dire l'approche de Dart, un peu trop "technophile" à mon goût.


En quoi est il trop technophile ? j'espère bien que ce langage ne sera pas désavoué de sitôt tant il représente un progrès par rapport à Javascript

https://groups.google.com/forum/#!to...rt/vUo4ptPJbkY

Angulardart 1.0 vient à peine de sortir en Octobre

J'ai l'impression que ce qui gène au fond c'est de devoir remettre en cause ses petites habitudes et je ne dis pas ça forcément pour vous mais de manière générale mais s'il vous plait laisser ceux qui veulent" coder proprement " tranquille.

Bon si certains ont des infos sur le futur de Dart et des sources éclairantes je prend.

[Edit] http://eisenbergeffect.bluespire.com...t-angular-2-0/ je trouve ceci .
Offres d'emploi IT
Développeur java & javascript h/f
SPACECODE - Ile de France - Verrières-le-Buisson (91370)
Développeur Javascript H/F
Conserto - Bretagne - Rennes (35000)
Développeur javascript (H/F)
CTS Consulting - Pays de la Loire - Nantes (44000)

Voir plus d'offres Voir la carte des offres IT
Responsable bénévole de la rubrique JavaScript : Xavier Lecomte -