IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

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 !

Reddit choisit TypeScript pour leur frontend

Le , par yahiko

104PARTAGES

2  0 
Reddit choisit TypeScript pour leur frontend


Le célèbre site communautaire reddit vient d'annoncer qu'il avait choisit le langage TypeScript, surensemble typé de JavaScript, pour la réécriture de leur site.
L'auteur de l'article, Niranjan Ramadas, Engineering Manager, présente les différents critères qui ont amené l'entreprise à choisir ce langage plutôt qu'un autre :
  • Le typage ;
  • L'outillage ;
  • L'utilisation dans des applications de grande ampleur ;
  • La facilité d'apprentissage pour l'équipe en place ;
  • La capacité à opérer côté serveur et client ;
  • L’interopérabilité avec les bibliothèques existantes.


On apprend que le débat s'est porté principalement entre JavaScript+Flow d'un côté, et TypeScript de l'autre avec une évaluation sur trois axes :
  1. La compilation vs. l'annotation ;
  2. La consistance du système de typage (soundness) ;
  3. L'écosystème.


Concernant les différences entre la compilation et l'annotation, l'auteur de l'article indique que l'annotation, l'approche de Flow, a pour avantage de ne pas trop complexifier la chaîne de développement, à contrario de TypeScript (ndr: même si c'est loin d'être insurmontable). En revanche, l'auteur montre que la compilation a pour avantage d'écrire les types de façon plus naturelle, moins verbeuse, que son équivalent en annotation où il faut en plus coder en JavaScript l'implémentation des types. L'exemple d'une énumération montre bien ce phénomène.

Concernant la détection éventuelle d'erreur dans le typage, l'auteur a une préférence pour Flow qu'il estime plus pointu dans ce domaine. En effet, TypeScript a historiquement privilégie la correction syntaxique du typage (pour des raisons de facilité d'implémentation et de compatibilité avec JavaScript) avant la consistance, là où Flow a été principalement développé en ce sens. C'était vrai encore il y a quelques mois, mais depuis les versions les plus récentes de TypeScript et notamment la 2.4 où la contravariance sur les types génériques a été introduite, le jugement de l'auteur pourrait être amené à évoluer.

Enfin, le dernier axe d'évaluation, la richesse de l'écosystème, l'auteur indique que TypeScript bénéficie d'un net avantage sur Flow grâce à une vaste collection de typages sur les bibliothèques JavaScript les plus courantes, grâce à un grand support du langage dans les outils de développement, notamment l'Intellisense qui se retrouve dans nombre d'éditeurs, grâce à la capacité de TypeScript à comprendre les commentaires à la JSDoc pour en inférer le type sur des projets JavaScript existants, et grâce aux garanties "sociales" de TypeScript dans la mesure où le langage a été adopté dans nombre de projets de grande ampleur, notamment Angular. L'inquiétude de l'auteur envers Flow est que celui-ci a été développé plus spécifiquement pour les besoins de Facebook (ndr : et notamment React), alors que TypeScript a d'emblée eu une vocation généraliste. En aparté, l'auteur estime que puisque TypeScript se veut comme un surensemble de JavaScript, il y a une certaine garantie que la part de Microsoft que le langage suive les évolutions de la norme ECMAScript en faisant évoluer son système de typage en conséquence.

Pour conclure sur les mots de l'auteur :

Nous avons choisi TypeScript parce que nous sommes confiant dans le fait que les devs puissent l'appréhender rapidement (le nombre d'ingénieur frontend a triplé en un an), que le langage peut accomplir nos objectifs sur la refonte complète du site,
qu'il soit pérenne pendant un moment, et qu'il puisse être interopérable avec notre base de code existante. Mais plus important, nous avons basculé vers un langage qui est typé. Utiliser un langage typé pour notre frontend a déjà été payant : notre code a moins de bugs liés au typage, nous sommes plus confiants lors des grands remaniements de code, et notre documentation au sein du code est davantage orientée sur les concepts que sur la structure des objets et des paramètres de fonctions. Globalement, nous sommes très contents de notre choix.
.
source : Blog officiel de Reddit

Que pensez-vous de la décision de Reddit ?
Existe-t-il une réflexion similaire dans votre entreprise ?

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