Depuis deux ans environ, Microsoft embrasse largement les technologies du web. Cela comprend notamment le JavaScript au point d’avoir fait de ce langage un des rouages de sa plateforme WinRT pour la construction des applications Windows 8. Aujourd’hui, Microsoft propose la préversion d’un langage destiné à mieux gérer les gros projets en JavaScript.
Un « superset » du JavaScript
Il se nomme TypeScript et se destine donc aux développeurs travaillant sur de vastes projets en JavaScript. Ce dernier, bien que populaire, n’a pas été conçu pour l’utilisation dont il fait l’objet aujourd’hui. Or, le JavaScript est de plus en plus utilisé justement, dans des projets dont la taille augmente. Chez Microsoft par exemple, il est l’un des langages utilisables pour la construction des applications WinRT (Modern UI, ex-Metro), ce qui booste encore son attractivité : le JavaScript est devenu un langage à tout faire.
Dans le billet explicatif sur TypeScript, Soma Somasegar, vice-président de la division Developer, indique que la proposition de Microsoft est conçue pour répondre à des besoins spécifiques. TypeScript n’a pas pour vocation de remplacer le JavaScript, mais de lui apporter une syntaxe et des outils particuliers. Il est un « superset » du JavaScript dont il reprend une grande partie de la syntaxe. Pour information, le projet a été initié par Anders Hejlsberg, père du C#, Steve Lucco, créateur de la machine virtuelle JavaScript Chakra et Luke Hoban, un expert en langages qui travaille essentiellement sur le standard ECMAScript.
Travailler en JavaScript sur de gros projets
Le grand objectif de TypeScript est d’aider les développeurs à construire de grands projets, aussi bien du côté client que du côté serveur, en prenant en compte les équipes. Microsoft veut en effet apporter au JavaScript les avantages d’un langage typé, d’où d’ailleurs le nom de leur projet : TypeScript.
Comme l’indique Soma Somasegar, tout code JavaScript est un code TypeScript. Ce dernier reste basé sur le standard ECMAScript et tous les frameworks utilisés pour JavaScript sont également compatibles : Node.js, jQuery, ou encore Underscore.js. Sur l’ensemble, TypeScript ajoute des types statiques optionnels, des classes et des modules (alignés avec ceux du standard ECMAScript 6 en formation). En bout de ligne, le code JavaScript produit après la compilation est classique et peut s’exécuter n’importe où.
Une plateforme open source
Pour autant, Microsoft ne réinvente pas la roue. Le projet est très différent d’initiatives concurrentes telles que Dart de Google puisque le langage utilisé reste le JavaScript. Même su la syntaxe peut changer, la compilation se fait toujours en JavaScript à la fin. En outre, l’ensemble du projet est placé sous licence Apache 2.0 et le code source du compilateur sur le site officiel du TypeScript.
Il n’y a évidemment pas de hasard : Microsoft travaille sur TypeScript car ce langage pourrait aider les développeurs dans des projets conçus pour les produits de la firme. La préversion peut déjà être exploitée sous la forme d’un plug-in pour Visual Studio ou d’un paquet NPM (Node Package Manager). Les développeurs pourront donc s’en servir aussi bien pour créer des applications WinRT que des projets côté serveur avec Windows Azure.
Il ne s’agit pour l’instant que d’une préversion du langage et donc du compilateur. Le projet va s’affiner dans les prochains mois et les développeurs sont invités à donner leur avis. Reste à voir finalement si TypeScrit prendra, mais il se pourrait finalement que les développeurs s’y intéressent à cause de son orientation : apporter des outils pour répondre à des situations particulières sans remplacer l’existant.
Ceux qui souhaitent en savoir davantage pourront se rendre sur le site officiel du projet.