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 !

State of JavaScript 2021 : React reste de loin le framework front-end le plus utilisé par les développeurs
Mais en terme de satisfaction il est éclipsé par Solid et Svelte

Le , par Stéphane le calme

362PARTAGES

10  0 
Créé en 1995, JavaScript est aujourd'hui le langage le plus populaire selon de nombreux baromètres. C'est également l'écosystème dans lequel on voit le plus de technologies naitre tous les jours. Comme conséquence, il est parfois très difficile de faire des choix ou de voir une technologie s'imposer comme la norme à moins d'avoir de puissants sponsors pour la propulser. Selon les catégories, certaines technologies arrivent toutefois à se distinguer. C'est dans le but d'identifier clairement ces dernières qu'entre en jeu le State of JavaScript, une enquête annuelle internationale sur l'écosystème JavaScript.

Les résultats de l'édition 2021 sont disponibles et nous présentons ici les points saillants.

L'enquête State of JavaScript de 2020 est issu d'une enquête auprès de 23 000 développeurs. 2021 était le résultat d'un peu plus de 16 000. Et bien que les États-Unis soient en tête, leur part de répondants au sondage est tombée à 14 % et la Russie a grimpé à la troisième place derrière l'Allemagne avec 4 %. La France a produit 4,2 % des réponses de l'enquête, ce qui correspond à 668 développeurs JavaScript. D'ailleurs, les langues dans lesquelles les développeurs JavaScript ont répondu sont :
  1. l'anglais avec 70,1 % ;
  2. l'espagnol avec 5,4 % ;
  3. le russe avec 5 % ;
  4. le français avec 3,3 % ;
  5. l'allemand avec 2,3 %.

Aperçu des utilisations

Ce graphique présente les différents taux d'adoption pour chaque fonctionnalité, groupé par catégorie. La taille du cercle externe correspond au nombre total d'utilisateurs qui connaissent une fonctionnalité, alors que le celui interne représente ceux qui l'utilisent actuellement.


Langage

Quel niveau de compétence dans le vocabulaire de JavaScript ?

Les proxy : l'objet Proxy est utilisé afin de définir un comportement sur mesure pour certaines opérations fondamentales (par exemple, l'accès aux propriétés, les affectations, les énumérations, les appels de fonctions, etc.). En 2021, 26,1 % du panel a déclaré les avoir déjà utilisés, contre 22,4 % en 2020 et 17,4 % en 2019. 43,5 % du panel en a déjà entendu parler, contre 39,1 % en 2020 et 39,8 % en 2019.

Promise.allSettled() : La méthode Promise.allSettled() renvoie une promesse qui est résolue une fois que l'ensemble des promesses de l'itérable passée en argument sont réussies ou rejetées. La valeur de résolution de cette promesse est un tableau d'objets dont chacun est le résultat de chaque promesse de l'itérable.

Code JavaScript : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
const promise1 = Promise.resolve(3); 
const promise2 = new Promise((resolve, reject) => setTimeout(reject, 100, 'foo')); 
const promises = [promise1, promise2]; 
  
Promise.allSettled(promises). 
  then((results) => results.forEach((result) => console.log(result.status))); 
  
// expected output: 
// "fulfilled" 
// "rejected"

En 2021, 19 % du panel l'a déjà utilisé (contre 14 % en 2020) et 46,4 % du panel le connaît (contre 42,3 % en 2020).

Fonctionnalités fournies par le navigateur

Service workers : Les service workers jouent essentiellement le rôle de serveurs proxy placés entre une application web, et le navigateur ou le réseau (lorsque disponible.) Ils sont destinés (entre autres choses) à permettre la création d'expériences de navigation déconnectée efficaces, en interceptant les requêtes réseau et en effectuant des actions appropriées selon que le réseau est disponible et que des ressources mises à jour sont à disposition sur le serveur. Ils permettront aussi d'accéder aux APIs de notifications du serveur (push) et de synchronisation en arrière-plan.

Un service worker est un worker événementiel enregistré auprès d'une origine et d'un chemin. Il prend la forme d'un fichier JavaScript qui peut contrôler la page ou le site web auquel il est associé, en interceptant et en modifiant la navigation et les requêtes de ressources, et en mettant en cache les ressources selon une granularité très fine pour vous donner une maîtrise complète de la manière dont doit se comporter votre application dans certaines situations (l'une des plus évidentes étant l'indisponibilité du réseau.)

Un service worker fonctionne dans le contexte d'un worker : il n'a donc pas d'accès au DOM, et s'exécute dans une tâche différente de celle du script principal de votre application, ainsi il est non-bloquant. Il est conçu pour être totalement asynchrone ; en conséquence, des APIs telles que XHR en synchrone et localStorage ne peuvent pas être utilisées au sein d'un service worker.

Les service workers fonctionnent uniquement sur HTTPS, pour des raisons de sécurité. Laisser des requêtes réseau modifiées sans défense face aux attaques de l'homme du milieu est une bien mauvaise chose.

En 2021, 45,7 % du panel les ont déjà utilisés...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

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

Avatar de grunk
Modérateur https://www.developpez.com
Le 23/02/2022 à 16:08
Le monde des frameworks commencent à se stabiliser c'est pas plus mal !

React ou vue sont très bien pour ceux qui font beaucoup de front notamment grace à leur approche qui est assez similaire a ce qu'on faisait "avant" en mixant html et js dans les même fichiers.
Perso comme je fais l'aller retour en permanence entre front/back/mobile natif , je préfère Angular qui une philosophie bien plus proche de ce que je fais ailleurs en PHP,C++ ou Java.

Par contre l'ecosystème est toujours trop compliqué à mon gout quand on ne passe pas par un framework qui gère tout.
Il manque un standard unique , simple à mettre en place.

Si on veux un truc un peu industrialisé avec tests unitaires, serveur de dev, typescript , build de release c'est vite une galère sans nom à mettre en place.
5  0 
Avatar de frfancha
Membre éprouvé https://www.developpez.com
Le 23/02/2022 à 14:55
React est le framework utilisé par tout le monde (dont moi) alors que solid et svelte (que je connais aussi) sont "choisis".
Donc tout à fait normal que le taux de satisfaction des utilisateurs solid et svelte soit supérieur, ça ne veut rien dire sur la qualité du framework lui même
4  1 
Avatar de Shynryu
Nouveau Candidat au Club https://www.developpez.com
Le 23/02/2022 à 21:46
Next.js est plutôt un framework Front-end non ? Vous avez pas confondu avec NestJs pour le framework back-end ?
0  0 
Avatar de Slici
Membre régulier https://www.developpez.com
Le 11/03/2022 à 10:43
Si on veux un truc un peu industrialisé avec tests unitaires, serveur de dev, typescript , build de release c'est vite une galère sans nom à mettre en place.
en React (et pour Vue également, sûrement pour Angular aussi) le bundler Vite (https://vitejs.dev/) facilite bien les choses en prenant nativement en compte TS. Il est également beeeaucoup rapide que Webpack utilisé par CRA.

Après pour le reste quelques libs font le café :
  • jest pour les TU
  • prettier / eslint pour les conventions de code
  • semantic-release / husky pour la validation


Voir partir sur du Nuxt / Next
0  0 
Avatar de Slici
Membre régulier https://www.developpez.com
Le 11/03/2022 à 10:46
Citation Envoyé par Shynryu Voir le message
Next.js est plutôt un framework Front-end non ? Vous avez pas confondu avec NestJs pour le framework back-end ?
Next.js => front
NestJS => back
0  0 
Avatar de Mister Nono
Membre chevronné https://www.developpez.com
Le 24/02/2022 à 6:54
Citation Envoyé par Shynryu Voir le message
Next.js est plutôt un framework Front-end non ? Vous avez pas confondu avec NestJs pour le framework back-end ?
Ha bon ? Ce n'est pas Nestlé ?
0  1 
Avatar de Mister Nono
Membre chevronné https://www.developpez.com
Le 23/02/2022 à 14:39
JS c'est de la daube.

Ce n'est pas pour rien que de très bons frameworks comme Angular sont plébiscités.
0  3