Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

122PARTAGES

0  0 
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 ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de DelphiManiac
Membre émérite https://www.developpez.com
Le 04/04/2014 à 18:27
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.

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 !
Totalement inutile ces C, C++, Delphi, C#, VB, Python, Php, ... (la liste pourrait être longue) si c'est pour pondre du code machine à la fin, autant coder directement en code machine et en binaire. Je ne parle même pas de l'assembleur qui n'est là que pour les fainéants qui ne mémorise pas la valeur binaire de chaque instruction processeurs. Rien ne vaut un bon JMP, JNE ou JE, oups pardon je suis trop haut niveau là (11101011, 01110101, 01110100).

Tu as vu, moi aussi je peut dire des grosses bêtises.
11  0 
Avatar de 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 ?
6  1 
Avatar de ptah35
Membre éclairé https://www.developpez.com
Le 05/04/2014 à 11:27
Citation Envoyé par jojosbiz Voir le message
Si on raisonne par l'absurde, tu as raison, c'est évident.

Mais comparer Typescript (c'est le sujet, je le rappelle) avec des langages à part entière, c'est une ânerie au moins aussi grosse que la mienne...
Même si je concède qu'il faut bien qu'un langage soit écrit avec un autre (PHP est écrit en C par exemple).

Donc puisque tu compares TypeScript à des langages et pour rester dans le Javascript, tu vas p-e finir par dire que JQuery est un langage ?

Moi aussi, je peux faire des raisonnements par l'absurde
Je ne pense pas qu'il ait là un raisonnement par l'absurde. La comparaison me parait pertinente. Javascript, qu'on le veuille ou non est le seul langage supporté par la quasi-totalité des navigateurs et comme il est peu probable que cela change dans un avenir proche, il faut bien faire avec. Mais "faire avec" signifie seulement que le programme téléchargé par le navigateur doit être écrit en Javascript, cela ne signifie pas que le développeur de ce programme soit obligé de le rédiger dans ce langage.

Typescript, Coffeescript, Java (avec GWT) sont des langages de programmation à part entière qui peuvent être compilés en Javascript (un autre langage de programmation à part entière). La compilation en Javascript n'a d'ailleurs rien de particulier et ces langages peuvent --- et de fait, certain le sont --- être compilés dans d'autres langages. La compilation consiste à utiliser un programme pour traduire un programme écrit dans un langage source en un programme équivalent écrit dans un langage cible; le langage cible ne doit pas forcément être un langage machine. (A ce propos, le PHP qui est écrit en C n'est pas le langage, mais le programme de traduction et/ou d'exécution.)

Je n'ai rien contre Javascript et j'ai plaisir à développer avec ce langage, mais je conçois volontiers que d'autres aient un avis différent et il n'y a aucune raison pour que ceux-ci soient obligés d'utiliser ce langage. En outre, même lorsque le développement se fait en Javascript, le programme source (écrit pour être lu par des humains) est rarement le même que celui qui est exécuté par le navigateur qui aura très probablement subit, au moins, une "minification". Si on peut faire confiance à un programme qui transforme un programme Javascript en un programme Javascript "minifié", pourquoi ne pas faire confiance à un programme qui transforme un programme en langage X en un programme Javascript ("minifié" ou non).
5  0 
Avatar de tomlev
Rédacteur/Modérateur https://www.developpez.com
Le 05/04/2014 à 10:59
Citation Envoyé par jojosbiz Voir le message
Donc puisque tu compares TypeScript à des langages et pour rester dans le Javascript, tu vas p-e finir par dire que JQuery est un langage ?
Je ne vois pas le rapport. TypeScript est un langage (qui est "transpilé" en JS, au même titre que CoffeeScript par exemple), alors que jQuery est une bibliothèque.
3  0 
Avatar de anthyme
Membre éprouvé https://www.developpez.com
Le 04/04/2014 à 17:11
@jojosbiz
Sauf que Typescript propose une solution aujourd'hui compatible avec l’intégralité du code js existant là ou dart est un monde a part et doit faire des connecteurs lourds à maintenir.

Je l'utilise sur 2 projets réel depuis les previews et le gain en solidité de code notamment vis a vis des refactoring est vraiment appréciable.
Ensuite vous pouvez avoir du javascript pur très solide aussi ... S'il est fortement couvert par des tests unitaires, et c'est encore rarement le cas sur les personne faisant pas mal de javascript.

Personnellement je ne mets pas des classes dans tous les sens, j'aime aussi la flexibilité de la programmation fonctionnelle de Javascript et de ses nested function.
Par contre pour ce qui est de la découverte des types dans l'IDE, la protection des erreurs à la compilation, les modules, les lambda, les interfaces c'est le top.
2  0 
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 09/04/2014 à 10:54
Citation Envoyé par redcurve Voir le message
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
Si on va par là, le seul code exécuté au niveau du processeur est du code machine, hein. Qu'un processeur n'est pas capable d'exécuter directement du Javascript est une évidence. Pas plus que du C ou du Java, d'ailleurs.
2  0 
Avatar de gretro
Membre actif https://www.developpez.com
Le 04/04/2014 à 15:45
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.

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 !
Je ne suis pas d'accord avec toi pour plusieurs raisons. De un, il est bien évidemment possible de faire des applications Web (ou autre) en Javascript pur. Le problème devient cependant la maintenabilité. Pour faire un peu d'interactivité à gauche à droite, il est probablement mieux de faire du Javascript pur, à l'aide d'une librairie telle que jQuery. Cependant, quand tu commences à faire des apps avec des framework comme Angular, Ember ou Knockout (bref, avec un pattern MVC/MVVM), on se rend compte que ça devient vite un foutoir.

C'est dans ces cas où l'utilisation de Typescript, Dart ou CoffeeScript devient intéressante, car l'application devient alors structurée comme une application en POO classique. Bref, ça devient très utile et beaucoup lisible.

Bref, une bonne nouvelle pour Typescript que j'aimais bien après l'avoir essayé. Il manquait cependant le mot-clef protected et un moyen facile de faire référence à this de manière consistante (sans passer par la technique self par exemple).
1  0 
Avatar de I_Pnose
Membre chevronné https://www.developpez.com
Le 04/04/2014 à 17:01
Citation Envoyé par jojosbiz Voir le message
Mais ça n'existe pas en Javascript, alors inutile de toujours pleurer (c'est bien ce qu'il se passe chaque fois qu'il y a un article sur ce sujet) sur le fait que le langage n'est pas adapté etc...
Changez de langage s'il ne vous plait pas, ou inventez en un si vous le pouvez (aucune arrogance de ma part, moi j'en serai incapable, c'est certain...)
Il en existe plein d'autres.
Pour y être actuellement confronté, je ne peux qu'appuyer les propos de Greto (très fortement).

Et pourquoi tu veux absolument nous faire développer un nouveau langage puisqu'en l’occurrence TypeScript apporte des réponses à certains manquements de Javascript. Bref, que tu n'y vois aucune utilité, soit, mais je peux t'assurer que l'intérêt d'une telle "surcouche" n'est pas null pour tout le monde.
1  0 
Avatar de regis.portalez
Membre habitué https://www.developpez.com
Le 14/04/2014 à 13:47
Ce n'est pas taillant les oreilles en pointe à un âne qu'on en fait un cheval de course...
En fait si

J'utilise typescript depuis la version 0.8.3 (depuis à peu près un an), et je peux dire que ça change vraiment la vie.
Je suis d'accord pour dire que ça ne sert à rien pour faire un widget de 20 lignes, mais quand tu commences à avoir plusieurs dizaines de milliers de lignes et un grosse équipe (genre 6-7 devs), c'est vraiment très important d'avoir du static typing et de l'autocompletion correcte. Avant j'étais sur un gros projet en js pur, et quand tu veux refactor un truc un peu compliqué, c'est vraiment la m***... Le typing aide complètement.
Il aide aussi à la généricité (interfaces et autres).

Dart et Coffeescript sont aussi de très bonnes initiatives sur le sujet, mais l'avantage de typescript, c'est que le code génére ressemble au code que tu écris vraiment (ce qui rend le debogage plus facile, même sans sourcemap), que les types sont optionels, ce qui rend plus facile la migration d'une base de code existante.

Ce qui manque encore à typescript c'est protected (complètement d'accord), et sans doute un peu de tooling refactor/tests/coverage...
1  0 
Avatar de Paleo
Membre éclairé https://www.developpez.com
Le 25/05/2014 à 11:50
Bonjour, je me permets de signaler un projet personnel : Wot, un framework léger pour TypeScript. Je le développe depuis plusieurs mois. Il est rapide à appréhender. L'objectif est d'organiser le code de la vue afin qu'il devienne réutilisable. Avec Wot la vue est faite de composants imbriqués, par exemple un composant "List" fait de composants "Item". Chaque composant est une "boite noire" réutilisable qui encapsule du code JS (produit par TS), des templates en HTML et du code CSS. J'accueillerai avec plaisir les remarques, critiques, questions…
1  0