Qu'est-ce que c'est ? À quoi ça sert ? À qui c'est destiné ?

« The javascript that scale. »

Comme nous l'avons vu dans l'article Pourquoi utiliser un langage de scripting non compilé ? Il est judicieux souvent de rester sur un langage tel que Javascript.

Cependant Javascript comporte selon moi quelques soucis qui posent problèmes lorsque votre application commence à grandir et/ou traite des problématiques critiques.

Tout comme d'autres langages de scripting tel que le PHP, le code n'étant pas compilé et utilisant un typage dynamique, si vous faites une erreur de sémantique ou de types, alors votre programme peut planter en plein milieu de son execution sans prévenir. Ce problème peut facilement être contourné en effectuant un certains nombre de tests fonctionnels et unitaires, cependant vous conviendrez qu'il vaut parfois mieux prévenir que de guérir.

Comment faire face à ces problématiques ?

Une solution pourrait être d'ajouter une couche supplémentaire permettant de traiter les problèmes évoqués plus haut, c'est ici que Typescript intervient.

Qu'est-ce que Typescript ?

Brièvement typescript est une sur-couche ajoutée à Javascript afin d'apporter un certains nombre de fonctionnalités tel que du typage statique de variable, du polyfill ou des fonctions de programmation objet comme la généricité. Avant d'utiliser votre code en production vous pourrez voir les erreur de typage dans votre IDE ou bien au moment de la compilation du code. En réalité on parle plus de transpilation que compilation.

Vous trouverez plus de détails sur le site officiel https://www.typescriptlang.org/

Qu'est-ce que j'y gagne ?

En ajoutant du typage, on augmente la sécurité de son code source, on peut savoir à l'avance que telle instruction aurait causé un plantage si l'on avait pas utilisé des types.

Mais pourquoi ne pas utiliser un langage compilé statiquement tel que Go ou Java alors ?

Et bien car cela présente un certains nombre d'avantages d'utiliser un langage non-compilé, par exemple avec Javascript vous pourrez faire ce qu'on l'on appelle des « OTA Updates » (Over The Air Updates), des mises à jours par le réseau. J'en parle plus dans cet article encore une fois.

TLDR;

En utilisant typescript vous combinez le meilleur du langage de scripting avec le meilleur du langage compilé. Un des seuls inconvénients devient alors performance du langage sur du calcul pure, ce qui en réalité dans une application complexe web n'est pas le plus gros impact. Vous pourrez d'ailleurs toujours réaliser certaines parties bien précises, en micro-service en GO par exemple.