TypeScript : le sur-ensemble typé de JavaScript s'approche de la version 1.0
Microsoft sort la RC pour Visual Studio et les autres plateformes

Le , par Hinault Romaric, Responsable .NET
TypeScript s’approche d’une version finale. Microsoft vient de publier la Release Candidate (RC) de son préprocesseur JavaScript.

Pour mémoire, TypeScript a vu le jour il y a de cela plus de trois ans dans les laboratoires de Microsoft, et son géniteur n’est autre que Anders Hejlsberg, reconnu pour être à l’origine de C#. Le langage a été dévoilé publiquement en octobre 2012. TypeScript est un sur-ensemble de JavaScript qui veut faire du langage la plateforme idéale pour des costaux projets : tout code JavaScript est un programme TypeScript valide et le code TypeScript est converti en JavaScript avant exécution.

TypeScript se démarque par rapport à JavaScript avec son typage statique et optionnel, un système de classes et d'interfaces, une division en modules, la gestion de l'importation de fichiers, la prise en charge des génériques et bien plus.

« JavaScript a été conçu pour les applications de 100 lignes de code, et non pour les applications ayant de milliers de lignes de code », estime le créateur de TypeScript. La RC du langage apporte des améliorations de performances, de la fiabilité et introduit un compilateur permettant une gestion aisée des centaines de milliers de lignes de code.

TypeScript a été développé comme un projet open source, et Microsoft promet de le faire fonctionner sur n’importe quel navigateur et OS.

La RC de TypeScript 1.0 a été intégrée par défaut dans Visual Studio 2013 Update 2 CTP 2 qui a été publié parallèlement. L’outil est également disponible comme une extension pour Visual Studio 2012, 2013, et comme un package NPM (Node.js) pour les autres plateformes. Son code source est téléchargeable sur GitHub.

La version finale de TypeScript sortira au même moment que Visual Studio 2013 Update 2, au printemps prochain.

Télécharger TypeScript

Source : Blog MSDN

Et vous ?

Avez-vous testé TypeScript ? Qu'en pensez-vous ?


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


 Poster une réponse

Avatar de phildes2 phildes2 - Futur Membre du Club https://www.developpez.com
le 06/03/2014 à 0:04
Citation Envoyé par nevada51 Voir le message
Deux mots: typage fort.
...et restriction du Javascript... Pour les "typages forts" j'utilise les langages conçus pour.

Sinon voilà le résultat : TypeScript -> http://jsfiddle.net/8ez4x/12/
Pour ceux qui aiment le 'typage fort" je déconseille de mixer du TypeScript avec du Javascript
[edit]L'interpréteur TypeScript effectue une bonne protection de ces problèmes, c'est l'usage de ce mécanisme en javascript qui est dangereux[/edit]

J'aime travailler avec javascript, j'aime travailler avec java; mais je n'aime pas faire des contorsions pour transformer Javascript en Java (et l'inverse serait tout aussi illogique)
Avatar de phildes2 phildes2 - Futur Membre du Club https://www.developpez.com
le 07/03/2014 à 16:20
Citation Envoyé par ndalaba Voir le message
J'avoue que le javascript je l'ai utilisé parce que j'étais obligé;
C'est un langage très intéressant avec de grandes possibilités. Comme il est indiqué partout, Il ne faut pas l'aborder comme on aborde le C ou le java.
Il y a de la place pour les classes et pour les prototype

Je conseille de l'aborder avec un esprit ouvert, sans préjuger, et tu découvriras certainement des possibilités "très intéressantes"

Citation Envoyé par ndalaba Voir le message
combler les lacunes de javascript(ce qui fait que le langage est décrié)
Pourquoi est-il décrié ?
En fait, à l'origine des navigateurs le javascript accompagnait Java. Ces deux langages étaient complémentaires. Java a été supprimé. Donc Javascript est décrié car il ne fait pas ce qu'il n'est pas censé faire.

Maintenant nous découvrons des outils pour atrophier Javascript en vue d'en faire un ersatz de java.
Avatar de DonQuiche DonQuiche - Expert confirmé https://www.developpez.com
le 07/03/2014 à 17:01
Citation Envoyé par phildes2 Voir le message
C'est un langage très intéressant avec de grandes possibilités.
Le problème n'est pas là. Le problème est que tu n'as pas le choix. Le web envahit tout et le web c'est forcément javascript et html. Et quelles que soient leurs qualités respectives, n'importe qui peut reconnaître que ce ne sont pas forcément les meilleurs choix ni le pinacle indépassable de l'IT. Imaginez s'il y a quelques décennies on avait imposé Algol comme le seul langage possible ! Et pourtant à l'époque c'était un "langage très intéressant avec de grandes possibilités".

L'avenir est à des abstractions d'aussi bas niveau que possible tout en restant agnostiques par rapport au matériel. Un bytecode (pNaCl ou asm.js) et des API fondamentales (stockage de données, utilisation du GPU, concurrence, etc), le tout gentiment enfermé dans un bac à sable par page. L'avenir des navigateurs, c'est d'être un OS.

Aujourd'hui sur le web, l'innovation est encadrée par le W3C. Il est temps qu'on nous redonne le pouvoir à nous. Vive le bas niveau, qu'on puisse construire par-dessus.
Avatar de phildes2 phildes2 - Futur Membre du Club https://www.developpez.com
le 07/03/2014 à 17:28
Citation Envoyé par DonQuiche Voir le message
Le problème n'est pas là. Le problème est que tu n'as pas le choix. Le web envahit tout et le web c'est forcément javascript et html.
Effectivement. Je répondais aux critiques portées au Javascript.
Mais il est évident que la meilleure solution est : plus de liberté, dans un contexte sécurisé

Citation Envoyé par DonQuiche Voir le message
Aujourd'hui sur le web, l'innovation est encadrée par le W3C. Il est temps qu'on nous redonne le pouvoir à nous. Vive le bas niveau, qu'on puisse construire par-dessus.
Voilà que fait plaisir à lire

Citation Envoyé par DonQuiche Voir le message
Un bytecode (pNaCl ou asm.js) et des API fondamentales (stockage de données, utilisation du GPU, concurrence, etc),
Oui.
Et cela me ramène à TypeScript. Je reste septique à l'idée de donner à Javascript le rôle 'bytecode'. J'ai le sentiment que c'est l'usage qu'en fait TypeScript car il déstructure le Javascript pour le plier à ses exigences.

La structure des données adoptée par TypeScript (prototype de prototype) n'est pas très usuelle. Comment être certain que les autres Navigateurs conserveront ce fonctionnement qui peut être présenté comme "à risque" (si il est utilisé sans Préprocesseur).
Faisons ce que tout responsable informatique doit faire, évaluons la pérennité d'un langage qui engagera l'avenir de la production. Ici nous détectons un risque à venir dans les navigateurs sur lesquels Microsoft n'a aucune emprise : si l'un d'entre eux supprimait le fonctionnement des 'prototypes de prototypes', TypeScript ne fonctionnerait plus sur ces navigateurs. Suppression qui serait justifiée par des raisons de sécurité pour les utilisateurs.
Avec l'espoir que les responsables de TypeScript apportent une réponse circonstanciée à ce risque.
Avatar de WebPac WebPac - Membre confirmé https://www.developpez.com
le 14/03/2014 à 14:21
Citation Envoyé par phildes2 Voir le message
La structure des données adoptée par TypeScript (prototype de prototype) n'est pas très usuelle. Comment être certain que les autres Navigateurs conserveront ce fonctionnement qui peut être présenté comme "à risque" (si il est utilisé sans Préprocesseur).
Faisons ce que tout responsable informatique doit faire, évaluons la pérennité d'un langage qui engagera l'avenir de la production. Ici nous détectons un risque à venir dans les navigateurs sur lesquels Microsoft n'a aucune emprise : si l'un d'entre eux supprimait le fonctionnement des 'prototypes de prototypes', TypeScript ne fonctionnerait plus sur ces navigateurs. Suppression qui serait justifiée par des raisons de sécurité pour les utilisateurs.
Avec l'espoir que les responsables de TypeScript apportent une réponse circonstanciée à ce risque.
Les navigateurs n'interprètent pas le TypeScript. Le TypeScript est compilé en Javascript; donc le code en TypeScript fonctionnera sur tout navigateur supportant le Javascript.

De plus tout code Javascript est compatible TypeScript, ce qui veut dire que tout développeur Javascript qui veut aussi faire du TypeScript peut le faire sans se retrouver limité.

Je pense que c'est une très bonne idée car les développeurs ayant l'habitude de travailler avec un compilateur et typage fort (C++, Java, C#, ...) dans des grosses équipes ne voient pas comment ils peuvent travailler efficacement en Javascript.
Alors qu'avec TypeScript, on a une facilité pour effectuer des refactoring sur des méthodes sans s'inquiéter de faire du "push & pray".
Avatar de phildes2 phildes2 - Futur Membre du Club https://www.developpez.com
le 16/03/2014 à 12:26
Citation Envoyé par WebPac Voir le message
donc le code en TypeScript fonctionnera sur tout navigateur supportant le Javascript.
Dans mon message précédent, c'est précisément cette une affirmation que je confrontais à une analyse technique et à ses conséquences.
C'est cette affirmation que je souhaiterais voir démontrée.

----

Rappel : la structure d'héritage générée par TypeScript peut entraîner des problèmes. Voir le test http://jsfiddle.net/8ez4x/12/
Note : les concepteurs de TypeScript connaissent ces risques puisqu'ils ont programmé une vérification pour les repérer et les interdire.

Cette structure d'héritage empile des prototype directement sur d'autres prototypes. C'est une organisation bien particulière, et qui recèle des problème de comportement (présentés dans le test ci-dessus).
Comment avoir la certitude qu'aucun concurrent n'utilise cet argument de dangerosité pour interdire le traitement des "prototypes-empilés" dans leur javascript embarqué ?

Durant l'histoire des navigateurs, nous avons vu disparaître des composants pour des raisons plus futiles.
Avatar de Hinault Romaric Hinault Romaric - Responsable .NET https://www.developpez.com
le 04/04/2014 à 13:28
TypeScript sort en version 1.0
Microsoft dévoile son sur-ensemble typé de JavaScript

Microsoft a annoncé lors de la conférence Build la sortie de la version finale de TypeScript, son préprocesseur qui ajoute un typage statique et optionnel au langage JavaScript.

Après plus de trois ans de développement sous la direction d’Anders Hejlsberg, le père du langage C#, TypeScript atteint sa première version et s’ouvre aux contributions de la communauté de développeurs.

TypeScript est disponible comme un langage de première classe dans Visual Studio, et est supporté par l’EDI à même titre que C# ou encore VB.NET. Il est embarqué par défaut dans Visual Studio 2013 et Visual Studio Web Express 2013 Spring Update, dont la Release Candidate a été publiée parallèlement par Microsoft, et permet de bénéficier de Intellisense, des fonctions de navigation et de toute la productivité qu’offre l’éditeur de code de Visual Studio.


TypeScript en action dans Visual Studio 2013

Pour les utilisateurs d’autres environnements de développement, Microsoft met à disposition TypeScript comme un package NPM (Node.js) et son code source est disponible sur GitHub.



TypeScript en action dans Eclipse

Télécharger TypeScript pour Visual Studio 2012

Télécharger le package NPM de TypeScript

Le code de TypeScript sur CodePlex

Source : Microsoft

Et vous ?

Avez-vous testé TypeScript ? Qu'en pensez-vous ?
Avatar de redcurve redcurve - Membre averti https://www.developpez.com
le 04/04/2014 à 14:28
Citation Envoyé par Kaamo Voir le message
Oh ce troll !

Concernant le côté humain, cela dépendra du développeur et, aussi, sa façon d'appréhender / apprendre un autre paradigme de programmation que celui qu'on lui a inculqué durant sa scolarité.

Pour l'ordinateur, JavaScript n'est donc pas performant ? Côté client, cela dépend du poste de l'utilisateur, mais côté serveur, je ne crois pas que JavaScript soit si lent que ça comparé à certains autres langage. Ou alors, nous n'avons pas vu les mêmes benchmarks
Coté serveur javascript n'est pas très performant puisqu'il n'est jamais exécuté ^^ . Le code JS est "transpiler" en code natif qui lui est exécuté, je te renvoi à la documentation et au code source de V8. Le javascript coté serveur ça n'existe que dans ta tête
Avatar de jojosbiz jojosbiz - Membre habitué https://www.developpez.com
le 04/04/2014 à 15:26
Totalement inutile ces histoires de Typescript, Coffeescript, Dart (sans la VM), typage fort, etc...si c'est pour pondre du javascript au final.

Cette maladie moderne de vouloir toujours rajouter des couches par dessus les couches...

Peignez des rayures sur un âne, ça restera un âne, ça ne deviendra pas un zèbre !
Avatar de DonQuiche DonQuiche - Expert confirmé https://www.developpez.com
le 04/04/2014 à 15:31
Citation Envoyé par jojosbiz Voir le message
Totalement inutile ces histoires de Typescript, Coffeescript, Dart (sans la VM), typage fort, etc...si c'est pour pondre du javascript au final.
Le typage fort réduit la fréquence des bogues et permet de meilleurs outils. Ceci est objectif, indiscutable et très significatif. On peut en revanche débattre de son impact sut la productivité, c'est une autre affaire, fonction de la taille et de la nature du projet, et sujette à débat. Mais qualifier le typage fort de "totalement inutile"... Tu parlais d'âneries il me semble ?
Contacter le responsable de la rubrique Accueil