mardi 2 juillet 2013

TypeScript

Il y a quelques temps que j'avais entendu parler de ce nouveau langage qui se nomme TypeScript. TypeScript est un langage typé, contrairement au Javascript, qui à la compilation, génère du code Javascript. Il met à la disposition des développeurs web les concepts de la programmation orienté objet. À cette époque, qui n'est pas si lointaine soit dit en passant, je développais principalement en ASP.net et j'avais peu recours au Javascript donc je ne m'y était pas trop attardé.

Un peu plus tard, j'ai dû développer un module sur un Extranet. Le back-end étant un serveur PHP, et moi qui est un néophyte en ce qui concerne le PHP, j'ai donc décidé de coder le maximum du module en javascript et de laisser seulement les opérations BD et la sécurité au serveur PHP. Ce fût un projet assez complexe, j'ai donc dû créer d'énormes fichiers Javascript avec multitudes de variables, prototype, fonctions etc. Bref au final, le résultat fût beaucoup de code éparpillé et dur à maintenir.

TypeScript met donc revenu en tête. Ce langage est conçu pour développer des applications de grande envergure qui permet de regrouper le code sous forme de classes, namespaces, interfaces etc. Offrant les concepts de l'orienté objet, il supporte bien entendu l'héritage. La dernière version 0.9 offre même le support des Generic.

La courbe d'apprentissage

Une des ses forces à mon avis est que la courbe d'apprentissage peut-être vraiment être graduelle. En fait, on peut créer un fichier TypeScript et écrire du code 100% Javascript et ça fonctionne. On peut donc utiliser du code Javascript d'un projet existant et typer certaines variables ou recoder certaines classes. Il est possible de profiter des forces qu'offre TypeScript sans avoir à tout ré-écrire.

Les librairies incontournables

L'utilisation des librairies tel que JQuery, Knockout, LINQ etc. fonctionnent en TypeScript à condition de référencer les fichiers de définitions de la librairie. Ces fichiers décrivent les objets de la librairie, ce qui permet à TypeScript de valider que l'appel à ces objets est bien valide. Les fichiers de définitions des différentes librairies peuvent être trouvé sur Definitely Types ou via NuGet.

Conclusion

Évidemment tout ce qu'on peut faire avec TypeScript, on peut également le faire en javascript car comme je le disait plus haut, la compilation d'un fichier TypeScript (.ts) créer un fichier Javascript. Son but est d'offrir au développeur une syntaxe beaucoup plus simple et le langage typé permet de détecter des erreurs à la compilation au lieu de les découvrir au runtime. Je ne pourrai plus m'en passer en ce qui me concerne! ;)

http://www.typescriptlang.org/