Microsoft dévoile la mise à jour la plus importante de TypeScript
Son alternatif au langage JavaScript se rapproche de la version finale

Le , par Hinault Romaric, Responsable Actualités
JavaScript est un langage populaire. Mais, pour certains, le langage dispose de plusieurs faiblesses.

Google s’est lancé dans le développement de Dart, son « JavaScript-killer ». La fondation Mozilla pour sa part a développé asm.js, qui est purement du code JavaScript spécialement conçu et compilé en langage natif C/C++.

Microsoft de son côté a travaillé sur TypeScript, un sur-ensemble de JavaScript. Les deux syntaxes se ressemblent fortement et tout code JavaScript est un programme TypeScript valide. Son auteur n'est autre que Anders Hejlsberg, concepteur du Framework .NET et chef de l'équipe C# chez Microsoft.




TypeScript est tout d'abord un compilateur libre d'hébergement, mais il apporte surtout des fonctionnalités supplémentaires comme un typage statique, un système de classes et d'interfaces, une division en modules, la gestion de l'importation de fichiers, ou bien la distinction entre données publiques et privées.

Microsoft vient de dévoiler une mise à jour majeure (la plus importante depuis son lancement selon la société) du compilateur TypeScript. La version 0.9 apporte un nombre important de correctifs de bogues, de nouvelles fonctionnalités et outils.




La plus grosse nouveauté est l’ajout des génériques. Cette fonctionnalité permet aux développeurs de déclarer des API utilisant des espaces réservés pour les types des arguments et des valeurs de retour. Cela permet une plus grande réutilisabilité du code avec une plus grande sécurité des types.

Le support des enums est désormais plus robuste. Les types enums apportent de nouvelles capacités de surcharge pour le retour des valeurs de différents types, sur la base des constantes spécifiques qui sont fournies en argument et une nouvelle syntaxe pour un meilleur support des modules JavaScript et TypeScript.

Le nouveau compilateur TypeScript a été presque entièrement modifié pour offrir de meilleures performances avec différents éditeurs, notamment Visual Studio, et des environnements JavaScript comme Node.js. Le compilateur fonctionne mieux sur les gros projets de 100 000 lignes de code.

TypeScript 0.9 est disponible sous les termes de la licence open source Apache 2.0 et est téléchargeable sur CodePlex.

La version 1.0 de TypeScript sortira avant la fin de l’année.

Télécharger TypeScript 0.9

Source : blog MSDN

Et vous ?

Que pensez-vous de TypeScript ?

L'avez-vous utilisé ? Est-il une alternative sérieuse à JavaScript ?

Entre Dart, TypeScript et asm.js, quel langage vous semble avoir du potentiel ?

JavaScript finira-t-il par être envoyé dans les tiroirs ou restera-t-il toujours autant populaire ?


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


 Poster une réponse

Avatar de ugo-sans-h ugo-sans-h
http://www.developpez.com
Membre habitué
le 19/06/2013 13:49
Et CoffeeScript dans tout ça ? Ou pourriez vous le classer ?
Avatar de anthyme anthyme
http://www.developpez.com
Membre Expert
le 19/06/2013 14:42
Utilisé en projet : c'est le top pour faire des SPA
Avatar de faucheuse faucheuse
http://www.developpez.com
Membre à l'essai
le 19/06/2013 15:07
Je programme en JS depuis 6 mois, et je vois tous ces "nouveaux languages" (JS killer) et je me perd dans cette jungle.
Quel est l'interet ? Pourquoi changer carrément de langage quand il suffit de faire/utiliser des frameworks JS ?
Ca me semble juste être une guerre entre Microsoft, Google, Mozilla ...
Avatar de malkav1978 malkav1978
http://www.developpez.com
Membre actif
le 19/06/2013 15:41
Il y a une langage qui existe, JavaScript, et tout le monde se met à faire sa petite cuisine dans son coin. La seul chose que je craint c'est que la démultiplication de langages JavaScript-killer ne rende les choses que plus compliquée... une jungle comme le dit Faucheuse. Est-ce qu'on va se retrouver à créer du code spécifique à Chrome (Dart), Firefox (asm.js) ou IE (TypeScript) ? Voilà la question que je me pose.

On sait que JS a ses faiblesse, mais plutôt de faire des choses chacun dans son coin, ce serait quand même vachement plus conscructif que tout ce beau monde bosse ensemble pour améliorer ce qui existe.
Avatar de Kaamo Kaamo
http://www.developpez.com
Expert Confirmé
le 19/06/2013 15:45
Quel est l'interet ?

Javascript est un langage très puissant (1), mais contenant beaucoup de choses à éviter ou très peu comprises (2) !
Du coup, plusieurs problématiques en découlent :
- Comment j'inclus mon code javascript proprement ?
- Quand est-ce que je dois exécuter mon code javascript ?
- Comment je fais pour mettre en place un héritage puissant mais malin (comprendre éviter le paradigme colporté par Java et autres consorts) ?
- Plus globalement, comment je fais pour coder et bien organiser mon code ?

(c'est réducteur, mais c'est pour donner une idée globale)

Ces Transpileurs (qui compilent en code Javascript) sont là pour répondre à ces problématiques afin de nous éviter d'aller droit dans le mur.
Ces langages alternatifs qui produisent du Javascript sont à Javascript ce qu'un traducteur est à une langue rare et complexe. Par exemple, imagine que le Javascript est un dialecte obscure. Tu peux très bien apprendre à parler le Javascript par toi même, avec tel ou tel professeur ou en autoditacte. Mais imagine que le professeur soit mauvais, ou que ta capacité d'autodidactisme soit désuète (aucune attaque personnelle là ), TypeScript, Coffee ou encore Dart sont là à la rescousse pour tout te traduire en Javascript. Toi, tu n'as qu'à apprendre à parler le TypeScript, Coffee ou encore Dart qui sont réputés pour être plus simple d'apprentissage (ou du moins, réputés pour t'éviter des pièges classiques).

Bref, soit tu préfères aller au bout des choses, tout maitriser par toi même et parler impeccablement le Javascript.
Soit tu fais confiance à un tiers qui connait déjà tous les pièges et t'a préparé un endroit douillet avec des méthodes qui ne mordent pas afin que tu puisses jouir de l'art de développer.

(1) : FCC, programmation objet orienté prototype (système de délégation pour ne pas dire héritage), utilisable dans n'importe quel navigateur (côté serveur, etc), les closures, etc

(2) : variables globales, document.write, eval, un système lourd de portée (this), des conversions implicites, closure, mauvaise utilisation de for-in, etc j'en passe

ps : je t'invite à taper "TypeScript VS CoffeeScript VS Dart" et voir quelques discussions intéressantes ici ou là qui décrivent le fonctionnement de chacun.
Avatar de Lutarez Lutarez
http://www.developpez.com
Membre Expert
le 19/06/2013 16:01
Citation Envoyé par malkav1978  Voir le message
Il y a une langage qui existe, JavaScript, et tout le monde se met à faire sa petite cuisine dans son coin. La seul chose que je craint c'est que la démultiplication de langages JavaScript-killer ne rende les choses que plus compliquée...

Ils ont toujours tout faire dans leur coin, pas seulement la cuisine

Plus sérieusement, je ne comprends pas vraiment ta crainte de voir de nouveaux langages dédiés au Web naître. Dans le monde natif, on dispose d'une flopée de langage, chacun ayant bien souvent sa spécialité. Certains langages servent également les mêmes intérêts, mais ceux-ci se mettent également directement en concurrence et favorise leur évolution (je pense notamment à Java vs .Net pour ce cas précis).

A mon sens, voir apparaître de nouveaux "langages" dédiés au Web serait une bonne chose : cela permettrait déjà aux plus réfractaires du Javascript (j'en fais partie, je ne m'en cache pas ) de mieux découvrir ce type de développement. Et peut-être même que cela pousserait le W3C à se motiver pour que le web avance plus vite.

Restera toujours le même problème : le support des différents langages par les différents acteurs. C'est d'ailleurs pour ça que tous ces langages "alternatifs" pondent du Javascript en arrière-boutique.
Avatar de Farid63 Farid63
http://www.developpez.com
Membre Expert
le 19/06/2013 16:25
La chance que l'on a en tant que développeur, c'est que les parts de marché des trois éditeur (Microsoft, Google et Mozilla) soit a 10% près (je n'ai pas les chiffres en tête mais on doit être à environ 30% chacun (je répète à quelques % près) identique. Cela les obliges à garder un liens avec le JavaScript, sinon imaginez l'un des trois avec 80% de parts de marché...
Avatar de ndalaba ndalaba
http://www.developpez.com
Membre régulier
le 19/06/2013 16:59
J'avoue que le javascript je l'ai utilisé parce que j'étais obligé; jusqu'à ce que je tombe sur les framework; et que je me rende compte que la communauté n'est pas prête à l'abandonner.
Les langages de programmation évolue(php, java, c++ ....); alors je me demande s'il ne serait pas mieux d'essayer de combler les lacunes de javascript(ce qui fait que le langage est décrié) au lieu de chercher à créer d'autres langages.
Un javascript avec de nouvelles fonctionnalités
- poo
- typage fort
- universelle (qui n'a pas problème avec un navigateur quelconque)
.....

est mieux qu'un nouveau langage que les gens seront obligés de d'apprendre.
Avatar de erwanlb erwanlb
http://www.developpez.com
Inactif
le 19/06/2013 17:13
Citation Envoyé par Lutarez  Voir le message
Plus sérieusement, je ne comprends pas vraiment ta crainte de voir de nouveaux langages dédiés au Web naître

Cela me semble être l'un des gros problèmes pour les langages du web...le langage et ses utilisateurs sont très très lents à vouloir évoluer...

L'idée de faire évoluer leurs langages leur fait peur...alors l'idée d'en changer, n'en parlons même pas !!!

Et au final on se retrouve avec JS avec ses nombreuses rustines (framework) plutôt que de faire évoluer le langage lui même...
Avatar de SylvainPV SylvainPV
http://www.developpez.com
Expert Confirmé
le 19/06/2013 17:22
La guerre du néo-JS

Cela me donne quand même un sacré arrière-goût du JScript de Microsoft cette histoire. Si c'est ça le futur du développement web front, ça me fait mal aux fesses d'abandonner un langage standardisé au profit d'un langage propriétaire. Javascript n'est pas parfait, mais il a quand même réussi à se populariser grâce à son omniprésence. Si Google décide de mettre une VM spéciale Dart dans Chrome, Microsoft va sans doute faire la même chose avec TypeScript dans IE, et Mozilla n'aura plus qu'à secouer le drapeau du libre au milieu. Brendan Eich a d'ores-et-déjà exprimé ses craintes à ce sujet.

Rien à dire sur la techno, Dart/TypeScript/CoffeeScript enrichissent beaucoup le développement comme pré-compilateurs JS. Mais le monde ne s'en porterait que mieux si ces messieurs décidaient de se mettre autour d'une table pour bosser ensemble. Il y a des intérêts derrière qui sont beaucoup moins avouables que celui d'aider les développeurs...

Citation Envoyé par Lutarez  Voir le message
Plus sérieusement, je ne comprends pas vraiment ta crainte de voir de nouveaux langages dédiés au Web naître. Dans le monde natif, on dispose d'une flopée de langage, chacun ayant bien souvent sa spécialité. Certains langages servent également les mêmes intérêts, mais ceux-ci se mettent également directement en concurrence et favorise leur évolution (je pense notamment à Java vs .Net pour ce cas précis).

A mon sens, voir apparaître de nouveaux "langages" dédiés au Web serait une bonne chose : cela permettrait déjà aux plus réfractaires du Javascript (j'en fais partie, je ne m'en cache pas ) de mieux découvrir ce type de développement. Et peut-être même que cela pousserait le W3C à se motiver pour que le web avance plus vite.

Restera toujours le même problème : le support des différents langages par les différents acteurs. C'est d'ailleurs pour ça que tous ces langages "alternatifs" pondent du Javascript en arrière-boutique.

Peut-être que si tu as l'habitude de bosser avec des technos natives, tu réalises moins toutes les implications. Ce qui a fait le succès du Web, c'est son ubiquité. C'est la seule raison qui pousse aujourd'hui les technologies web dans des domaines auxquels on ne penserait pas forcément, comme dans les voitures, les bornes interactives, les TV connectées...

Je bosse comme expert web mobile, et la bonne parole que je prêche à tous mes clients pour qu'ils choisissent du Web plutôt que du natif, c'est : le Web est un standard universel et pérenne. On ne fait pas le poids avec les performances et les fonctionnalités des SDK propriétaires, mais on vous donne l'assurance que votre site web sera utilisable à l'avenir qu'importe comment évolue le marché (et bigre qu'il a évolué depuis 2007). Que se passera-t-il le jour où Microsoft ou Google dévoilera la feature exclusive de son méta-langage, et ne prendra pas la peine de l'adapter en Javascript car sa VM est déjà suffisamment implantée sur le marché pour tenter un putsch marketing ? Cela s'est déjà vu plusieurs fois...

Bref mettre des technos en concurrence est sans doute très profitable pour une application et des utilisateurs ciblés. Mais quand il s'agit de délivrer un service au monde entier sur des tas de périphériques différents, c'est extrêmement dangereux. Certes TypeScript se compile en JS, mais je reste pour autant très méfiant ; surtout avec ces histoires de VM tierces sur les navigateurs.
Offres d'emploi IT
Chef de projet moa/moe (h/f)
CDD
CAREER BOOSTER - Ile de France - Issy-les-Moulineaux (92130)
Parue le 16/09/2014
Expert Systèmes Microsoft ( (H/F))
CDI
OVH SAS - Nord Pas-de-Calais - Roubaix
Parue le 12/09/2014
Consultant- ingénieur expert qlikview – h/f
CDI
Omniciel - Provence Alpes Côte d'Azur - Aix en provence (13100)
Parue le 09/09/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula