L'état de JavaScript 2018

Nous avons interrogé plus de 20 000 développeurs JavaScript. Voici ce qu'ils nous ont dit.

J'écris ces lignes quelque part au-dessus de la Russie, car il s'avère que des gens sont prêts à me faire voyager à l'autre bout du monde pour une conférence juste pour m'entendre parler des tendances JavaScript.

Si vous me le demandez, c'est une assez bonne mesure de la popularité de l'enquête sur l'état de JavaScript et, par extension, de la vitesse à laquelle l'écosystème JavaScript continue de croître.

Cette année encore, nous avons interrogé plus de 20 000 développeurs JavaScript pour déterminer ce qu'ils utilisent, ce dont ils sont satisfaits et ce qu'ils veulent apprendre. Et le résultat est une collection unique de statistiques et d'informations qui, espérons-le, vous aideront à vous frayer un chemin à travers l'écosystème JavaScript.

? Consultez les résultats

… Ou lisez la suite pour en savoir plus sur le projet.

Quoi de neuf cette année

Mode sombre

Si vous avez déjà vu l'enquête, la première chose que vous remarquerez est probablement le nouveau jeu de couleurs plus sombre. Nous pensons que cela change un peu les choses, fait ressortir les graphiques et a l'air plutôt cool!

Pages individuelles

En plus de regrouper les bibliothèques dans de larges sections comme front-end, back-end, etc., nous avons également décidé de donner à chaque bibliothèque sa propre page. Cela permet d'ignorer plus facilement les données qui ne sont pas pertinentes pour vous, tout en explorant plus en profondeur les outils que vous utilisez.

Données historiques

Comme il s'agit de la troisième édition de l'enquête, nous sommes maintenant en mesure de vous montrer les données historiques des deux dernières années! C'est très utile pour voir les tendances à long terme, et pas seulement un instantané figé dans le temps.

Aime n'aime pas

Nous avons décidé de présenter moins de bibliothèques cette année, mais à notre tour, nous avons posé plus de questions de suivi sur chacune d'elles. Donc, non seulement nous vous avons demandé ce que vous utilisez, mais aussi pourquoi vous l'utilisez.

Pas de CSS

Malheureusement, il n'y aura pas de section CSS cette année. CSS est un sujet si vaste qu'il mériterait presque une enquête à part entière, alors plutôt que de faire les choses à mi-chemin, nous avons décidé de nous concentrer uniquement sur JavaScript cette fois.

Plus de partage

Nous avons fait un pas supplémentaire en générant des aperçus d'image pour chaque graphique de l'enquête afin de faciliter leur partage sur les réseaux sociaux ou par e-mail.

Principales tendances

Nous vous encourageons à consulter les résultats complets, mais peut-être que vous êtes pressé et que vous ne voulez que l'essentiel?

TL; DR: les choses n'ont pas beaucoup changé cette année.

"Saveurs" JavaScript

Nous appelons «saveurs» les diverses syntaxes et langages qui peuvent se compiler en JavaScript, comme TypeScript.

Et en parlant de TypeScript, c'est clairement le leader de cette catégorie. Dans la plupart des endroits, plus de 40% des développeurs ont déclaré l'avoir utilisé et l'utiliser à nouveau avec plaisir, et dans certains pays, ce ratio a même dépassé 50%.

Cadres frontaux

Voici un graphique qui montre à quel point les développeurs sont satisfaits des bibliothèques frontales par rapport au nombre d'utilisateurs qu'ils ont:

Comme vous pouvez le voir, seul React a à la fois un taux de satisfaction élevé et une large base d'utilisateurs, bien que Vue y parvienne définitivement. Angular, d'autre part, dispose d'une large base d'utilisateurs, mais ses utilisateurs ne semblent pas trop heureux.

Couche de données

La couche de données regroupe toutes les technologies utilisées pour transmettre et gérer les données. Et alors que Redux est dominant en termes de chiffres bruts, nous pensons que la tendance favorise GraphQL et les technologies adjacentes telles que Apollo:

Bien sûr, en théorie, vous pouvez utiliser Redux et GraphQL ensemble, mais en pratique, cette combinaison pourrait finir par être remplacée par un outil spécifique à GraphQL comme la gestion d'état intégrée d'Apollo.

Pour savoir ce qui se passe avec les tests, les frameworks back-end et bien plus encore, lisez les résultats complets!

La pile

Il peut sembler étrange de parler d'une pile technologique pour ce qui est, à la base, un simple site statique. Mais nous parlons de JavaScript après tout! Donc , vous savez que les choses ne vont jamais être que simples!

  • Nous avons collecté les données à l'aide de Typeform. Nous avons construit notre propre outil de ligne de commande pour générer des sondages à partir de contours YAML via leur API, ce qui a été d'une grande aide pour une itération rapide.
  • Nous avons ensuite traité et normalisé les données à l'aide d'Elasticsearch.
  • Nous avons branché les fichiers JSON résultants dans Gatsby pour générer le site. Nous avons utilisé une combinaison des fonctionnalités d'interrogation de données GraphQL de Gatsby et de simples anciens importpour charger les données.
  • Enfin, nous avons généré tous les graphiques à l'aide de l'incroyable bibliothèque de visualisation de données Nivo.js pour React.

Si vous êtes curieux, l'intégralité du projet est disponible sur GitHub à des fins d'apprentissage.

À propos de l'équipe

Au cas où vous seriez curieux de savoir qui est derrière l'enquête:

Sacha Greif (moi!)

J'ai créé l'enquête en 2016 pour répondre à mes propres questions sur les meilleures technologies à apprendre. Deux ans plus tard, j'apprends toujours et j'essaie également de réinvestir toutes ces connaissances fraîchement acquises dans mon propre framework JavaScript, Vulcan.js.

Raphael Benitte

Raphael est le créateur de Nivo, un expert en visualisation de données polyvalent et un méchant front-end. Il s'occupe également de toutes les tâches d'analyse des données de l'enquête.

Michael Rambeau

Michael est le créateur de BestOfJS, un agrégateur de données et de tendances sur l'écosystème JavaScript. C'est la personne idéale à qui demander lorsque vous avez besoin de données sur une bibliothèque JavaScript obscure!

Et après

Le lancement du site de cette année est le résultat de plus de deux mois de travail acharné pour collecter, analyser et présenter des données. Mais il y a encore beaucoup à faire.

Par exemple, nous aimerions rendre le site de résultats disponible dans plus de langues. Cela nécessitera une petite refonte de notre part, car beaucoup de chaînes sont actuellement codées en dur, mais cela devrait être possible.

Si vous souhaitez aider à traduire le site dans votre langue, veuillez consulter ce fil de discussion GitHub.

Et avec tout le travail que nous avons effectué, nous commençons à penser que ce pourrait être une bonne idée de réutiliser notre configuration pour d'autres enquêtes. Et l'état de… Turbo Pascal? Eh bien, peut-être pas. Mais faites-nous savoir dans les commentaires si vous avez des suggestions!