David Hockley

React, Svelte, Vue, Angular, Solid : que disent les chiffres en 2023 ?

Quel framework JavaScript apprendre ?

a caldron cooking up some code, by MidJourney

Bonjour les amis, aujourd’hui nous allons explorer les différences entre Angular, et Vue, et React, et Svelte, non pas du point de vue de la philosophie de ces différents frameworks, ou de leur différences en termes d’expérience développeur, mais du point de vue des chiffres.

Et pour ça nous allons nous appuyer sur plusieurs sources, principalement :

  • Le sondage développeur Stack Overflow
  • Le sondage “L’état du Javascript”
  • Le benchmark de performance JS

Ça va être l’occasion de comparer de manière objective ces frameworks à travers différents angles d’approche.

Nous allons donc ensemble regarder 1/ à quel points ces différents frameworks sont utilisés, 2/ à quel point ils sont appréciés ou désirés, 3/ à quel point ils sont performants et aussi 4/ le niveau des salaires que touchent les développeurs qui utilisent ces technologies.

Pour chacun de ces critère, je vais attribuer un total de 10 points, et on verra quelles leçons on peut en tirer à la fin.

Commençons par le niveau d’utilisation.

En premier lieu, nous allons regarder les recherches google, à l’aide de l’outil Google Trends.

Cet outil permet de comparer les volumes relatifs de recherche de différents sujets au cours du temps. C’est un indicateur d’activité et d’intérêt autour du sujet.

Aujourd’hui EN FRANCE nous avons : React : 100 Angular: §9 Vue : 23 Svelte: 3

A présent si on regarde les statistiques de Stack Overflow, React est utilisé par 40% des développeurs, Angular par 22% des développeurs, Vue par 19% des développeurs et Svelte par 3% des développeurs.

De même si on regarde les chiffres du sondage “State of JS”, React est utilisé par 80% des développeurs JS, Angular par 54%, Vue par 51% et Svelte par 20%

Angular et Vue ont un taux d’usage à peu près égal, React est largement plus utilisé et Svelte nettement moins. De ce fait, j’attribue : 6 points à React, 2 points chacun à Vue et à Angular, et 0 à Svelte.

A présent regardons la satisfaction des développeurs. A quel point ces framework font envie. A quel point les développeurs sont satisfaits ou frustrés de l’utilisation de ces technologies ?

Si on regarde le sondage Stack Overflow, nous voyons un taux de satisfaction de 71% pour Svelte, qui mène la danse pour l’ensemble des frameworks front et back.

Puis vient React avec un score très honorable de 69% Puis Vue avec 64%. ET enfin un peu derrière, nous avons Angular avec 55%, donc presque à l’équilibre entre ceux qui aiment et ceux qui détestent.

Le sondage du State of Javascript dit des choses similaires, avec une satisfaction de 90% pour Svelte, de 84% pour React, de 80% pour Vue et de seulement 45% pour Angular.

On a donc en terme d’attractivité Svelte qui est devant, puis React et Vue qui sont juste un peu derrière.

Je vais donc attribuer 4 points à Svelte, et 3 points à React et Vue.

Nous avons au total pour chaque framework :

Angular : 2 points Svelte : 4 points Vue : 5 points React : 9 points

A présent nous allons nous pencher sur la performance.

Pour cela, nous allons prendre utiliser un outil qui est imparfait, qui mesure des choses qui n’ont pas forcément une application directe dans le monde réel, mais qui permet tout de même de tirer quelques leçons intéressantes.

Et pour référence, j’ai aussi inclus dans le tableau les mesures sur du JavaScript sans framework.

Ce benchmark est séparé en 3 tableaux, 3 dimensions mesurées. Il s’agit :

  • du temps d’exécution
  • de la mémoire utilisée
  • et du temps initialisation, les mesure “Lighthouse” que fait Chrome

Chaque case du tableau est coloriée de vert à rouge en passant par le jaune et l’orange, et plus on s’approche du rouge plus on s’écarte du référentiel du javascript “de base”.

Ici, je vais attribuer 10 points pour chacun de ces trois critères, et puis faire la moyenne pour donner un score global de performance relative.

Si nous commençons par le temps d’exécution, pour beaucoup de ces tests Svelte est devant, Vue un peu derrière puis viennent React et Angular à la traine.

Je donne donc 5 à Svelte, 4 à Vue et 0.5 à React et Angular.

Pour la mémoire utilisée, Svelte se détache du lot, et Vue est légèrement devant React et Angular qui se tiennent dans un mouchoir de poche.

Je donne donc 6 à Svelte, 3 à Vue et 0.5 à React et Angular.

Pour ce qui est de la vitesse d’initalisation, Svelte performe très bien, Vue un peu moins bien, et React et Angular juste derrière.

Pour le coup ça reste plus homogène que les tests précédents, alors je donne 4 points à Svelte, 3 points à Vue et 1 point à Angular et React chacun.

Nous avons donc en moyenne, pour le critère de performance: 5 points pour Svelte 3.5 points pour Vue 0.5 points pour React et Angular

Au total, nous en sommes donc à

Angular : 2 points et demie Vue : 8 points et demie
Svelte : 9 points React : 9 points et demie

Venons en à présent au sujet qui au fond nous intéresse tous: combien gagne un développeur en général sur chacune de ces 4 technologies.

D’après Stack overflow, nous avons:

Angular à 49 k$ ou 46 k EUR Vue à 50 k$ ou 47k Eur React à 58 k$ ou 55k Eur Et enfin Svelte à 62k $ ou 59k Eur

Angular et Vue sont quasi au même point, et React et Svelte sont bien devant avec un avantage pour Svelte. Disons donc

1 point et demie pour Angular et Vue chacun, 3 points pour React 4 points pour Svelte

Ce qui nous donne un total (final) de

Angular : 4 points Vue : 10 points
React : 12 points et demie Svelte : 13 points

Que peut-on en tirer comme conclusion ?

Et bien c’est l’occasion de retourner voir le sondage JS.

Il présente une visualisation qui, me semble-t-il, exprime bien les choses.

Cette vue combine la satisfaction utilisateur avec le taux d’usage, et je trouve la démarche intéressante, elle permet même de voir des trajectoires.

Puisqu’en réalité le 90% de Svelte provient des “early adopter”, de ceux qui essaient des nouvelles technologies.

React, à l’inverse, est le standard du marché, et parvient tout de même à garder un bon voire un très bon taux de satisfaction.

Si on regarde les 4 quadrants d’usage et de satisfaction: Angular est moyennement utilisé mais aussi très peu apprécié. Vue est apprécié mais pas forcément utilisé, et son taux d’appréciation semble baisser avec l’usage, comme s’il était en perte de vitesse. React est très utilisé et très apprécié, c’est le standard, la référence; et c’est d’autant plus remarquable que … c’est facile d’aimer un framework qu’on n’utilise pas, nettement moins quand on travaille dessus.

Et Svelte est en pleine croissance, avec de plus en plus de personnes qui le découvrent et l’apprécient, mais ça reste très jeune.

Alors qu’est-ce que je conseille d’apprendre ?

Aujourd’hui, je pense qu’il est difficile de se passer de React, qui s’est imposé sur le “marché” des framework Frontend, mais qui commence aussi à s’installer côté serveur grâce à Next JS et à Remix.

Et si vous avez envie d’un peu d’aventure, de faire une nouvelle découverte passionnante, je vous conseille de regarder comment marche Svelte.

Social
Made by kodaps · All rights reserved.
© 2023