Visuel d'interview avec la photo de Thomas Delcros, Senior Developer chez theTribe
Expertise

TypeScript devient-il le nouveau standard ?

Publié le : 4 février 2021
Temps de lecture : 4 minutes

Aujourd’hui, JavaScript et TypeScript sont parmi les langages les plus populaires dans le monde du développement. Ces deux langages de programmation sont principalement utilisés pour le développement d’applications web, mais récemment, la popularité de la technologie TypeScript n’a cessé d’augmenter auprès des développeurs. Explications avec Thomas Delcros, développeur senior chez theTribe.

Comment définirais-tu TypeScript ?

TypeScript est un langage open source créé en 2012 par Microsoft, permettant un typage statique (optionnel) des données. Le code TypeScript est transpilé en JavaScript, ce qui permet son exécution par n’importe quel moteur JS (dans un navigateur ou un serveur NodeJS par exemple). On définit souvent TypeScript comme une « extension syntaxique » à JavaScript, dans le sens où il augmente les pouvoirs du code en proposant un typage statique des données.

La principale raison à son développement est que JavaScript peut montrer certaines limites lorsque les projets durent et « grossissent » dans le temps puisqu’il y a de plus en plus de code à gérer. Cela devient de plus en plus compliqué de s’y retrouver dans les flux de données, à mesure que la quantité de données transitant par une application augmente.

Le langage TypeScript répond à deux problématiques auxquelles se heurte toute équipe souhaitant maintenir un programme, en y ajoutant de nouvelles fonctionnalités : 

  • Comment garantir que les données transitant par mon appli soient prédictibles ? 
  • Comment être sûr que mon implémentation évolue en même temps que ma donnée ?

Pourquoi les développeurs l’utilisent-ils de plus en plus ? Et selon toi, risque-t-il un jour de surpasser JavaScript ? 

TypeScript rencontre effectivement un succès grandissant auprès de la communauté JavaScript pour plusieurs raisons.

Tout d’abord, son apprentissage est très incrémental. Tout code JavaScript étant du code TypeScript valide, cela permet aux développeurs maîtrisant JavaScript de configurer le compilateur de manière permissive, afin de ne pas se voir bloquer par toutes les règles de typage strictes de TypeScript. Cette approche conduit à une adoption plus aisée de la part des développeurs, qui ne vont pas avoir l’impression de tout devoir réapprendre.

La deuxième raison est qu’au-delà de typer le code, TypeScript permet de documenter le code produit, et ainsi faciliter sa lisibilité et sa compréhension. Il va être plus facile pour un développeur de rejoindre un projet existant en TypeScript, car il pourra rapidement savoir ce que cette fonction prend en paramètre et ce qu’elle retourne (sans avoir à le deviner, ce qui est souvent le cas en JavaScript). ​

Enfin, l’écosystème de TypeScript est aujourd’hui très mature. De nombreux outils de développement (les IDE par exemple) intègrent des extensions pour le développement d’applications TypeScript, et vont donc offrir une expérience plus avancée aux développeurs (alertes visuelles dans le code aux endroits invalides, typage plus rapide grâce à l’inférence des données). La communauté grandissante permet également d’apporter une aide permanente face aux problèmes auxquels peuvent être confrontés les développeurs, débutants ou non. Les librairies externes sont de plus en plus écrites en TypeScript, ce qui permet de les intégrer facilement dans les applications, en gardant un typage de bout en bout (Typescript supporte également `DefinitelyTyped`, qui est un projet open-source visant à typer des librairies non typées).

Quels bénéfices les start-ups auraient-elles à privilégier TypeScript plutôt que JavaSript dans leurs projets ?

L’avantage du TypeScript, comme cité plus haut, est donc majoritairement pour le développeur.

Le choix du TypeScript par rapport au JavaScript permettra de lever certaines anomalies logicielles plus tôt durant la phase de développement, et de sécuriser le code, avant la mise en production. En réalité, grâce à des règles plus strictes, le langage TypeScript va permettre de gérer et d’anticiper plus facilement les cas particuliers, auxquels l’équipe n’aurait pas pensé spontanément, en obligeant les développeurs à les prendre en compte afin que le code produit soit valide. Cela permet un gain de temps dans le développement des fonctionnalités, et évite d’intégrer des bugs sans s’en rendre compte dans un programme.

TypeScript se montre aussi très utile et performant lorsque vient le jour des refontes ou des factorisations de code. Si un module de code change de comportement, l’équipe de développement va être automatiquement alertée, partout où ce module est utilisé et implémenté. L’équipe va donc être plus sereine, et sécurisée dans la refonte, améliorant ainsi la maintenabilité d’un projet dans le temps.

Comme mentionné précédemment, le fait que le code soit plus lisible et plus facile à comprendre, permet de facilement onboarder de nouveaux développeurs à un projet, et de réduire le coût d’entrée (qui peut être assez colossal sur des projets à grande échelle).

L’avantage également pour une start-up va être de pouvoir attirer des développeurs un peu plus expérimentés et rigoureux au sein de leur entreprise, et ainsi augmenter la qualité des applications produites et des projets internes.

L’image dont bénéficie TypeScript dans l’écosystème JavaScript au sens large étant celle de la qualité et de la robustesse des programmes. Cependant, cette hausse de qualité vient avec un coût d’apprentissage pour les équipes de développeurs qui n’y seraient pas déjà familières. L’intérêt du Typescript sera donc moindre si l’objectif final de l’application est un POC (Proof of Concept), ou un projet de courte durée.

Florent Lucas
Responsable Commercial & Marketing @thetribe