StateOfJS 2019 : où en est le monde JavaScript ?

Par:
francoistonic

jeu, 19/12/2019 - 12:49

Comme chaque année, nous avons droit à un état de l’art du monde JavaScript. Cette année, +21 000 personnes ont répondu à l’enquête. Sans surprise, les USA pèsent presque 24 %, la France n’est pas si mal avec 5,5 % des répondants ! Nous sommes 2e en Europe… 

Le salaire moyen, attention à prendre avec très très grande prudence, est variable : la majorité se situe entre 30 et 200 000 $ / an. Presque 1/3 se situe dans la fourchette médiane 50-100 k$. Côté expérience, là encore, peu de surprise : +60 % se situent en 2 et 10 ans. Beaucoup de répondants travaillent dans des grosses entreprises (+100 personnes). Presque la moitié se dit être un développeur full-stack, 37 % côté front-end. Le pur dév web est très minoritaire : -12 %. Le back-end est souvent maîtrisé : +60 % se disent avancé ou expert.

Pour la parité homme-femme, on va dire qu’il y a encore un petit effort à faire : 91,3 % des répondants sont des hommes…

Beaucoup d'outils mais finalement peu sont utilisés

D’emblée, comment se retrouver dans la jungle des frameworks et librairies JS ? On s’aperçoit tout de même que beaucoup de solutions JS ne sont pas utilisées ou très peu. Les avis (bons ou mauvais) sont assez tranchants. 

Côté positif et utilisé : pas de surprises, nous trouvons React, Redux, Mocha, Jest, TypeScript, Express. On conteste un progression de GraphQL, Electron, NextJS et de plusieurs autres. Dans le côté non utilisé, il y en a de nombreux : Ember, Cordova, Tonic, Meteor, Sais, Elm, PureScript, ClojureScript, Resaon, Preact, NWJS, etc. Cela montre bien un des problèmes actuels de JS : la profusion des solutions. 

Les valeurs sures et adoptées se résument à peu de chose selon l’enquête : Jest, Mocho, TypeScript, Express, React, Redux. Dans la théorie, ok on regarde, on est satisfait mais pas en usage : Jasmine, Ava, Elm, Electron, GraphQL, VueJS, etc. Angular apparait en position ambiguë finalement : usage important mais satisfaction assez basse. Ionic, Cordova, NW.js, Sais, Ember, Meteor sont à la ramasse.

Si on regarde les fonctionnalités utilisées, la diversité est là encore assez impressionnante :

- fonctions utilisées (sélection) : websocket, stockage local, arrow, async, décorateurs, PWA,
- fonctions peu/non utilisées (sélection) : webgl, web composent, webvr, webassembly

On constate, comme souvent, un décalage entre l’usage réel et les buzz technologies. On parle beaucoup de webassembly mais finalement, c’est encore très peu utilisé. Les PWA sont utilisés mais à peine par 50 % des répondants. 

TypeScript est visiblement le grand gagnant de 2019 pour la partie « langage qui compile en JS », suit reason, ilm, prescrit et clojurescript. Il est intéressant de constater que TypeScript est plutôt apprécié. Il est connu et utilisé.  

Angular : pas franchement à la fête !

Sur la partie framework front-end : finalement, nous sommes dans le classique. React est classé 1er puis svelte, vuejs, preact. Angular arrive seulement 5e. Avec un ratio assez faible : 38 %. Les répondants qui utilisent React, sont prêt à le reprendre (+71 %). Si on compare cela à d’autres concurrents, on s’aperçoit que la fidélité à React est bonne. Sur Vue.js on tombe à 40 %, 22 % pour Angular. 

Angular doit-il revenir son approche ? Calmer les mises à jour ? 

Sur la partie back-end, les frameworks qui donnent satisfaction sont express, nextjs, nuit, gatsby et koa. Meteor est en perte de vitesse. Express est très apprécié et possède une solide fidélité. 

La partie mobile : personne ne réussit à convaincre

Dans la partie développement mobile, électron, react-native, native apps et expo donnent satisfactions. Ionic et cordova dévissent. Autant dans le front-end, les répondants sont prêts à réutiliser le framework, autant en mobile, c’est un peu : courage, essayons autre chose ! Aucun framework ne réussit, selon l’enquête, à fidéliser. Seul React Native arrive péniblement à 27 %, 25,6 % pour electron. A croire, que les frameworks mobiles ont du mal à convaincre et à garder les développeurs. 

Finalement, JS s’en sort bien

Est-ce que JS va dans la bonne direction. Les répondants sont d’accord à 60 %, très d’accord à 20,8 %. Mais on constate que l’adhésion est plutôt par défaut qu’enthousiaste. Le « très d’accord » s’effondre  passant de 52 % en 2018 à -21 % en 2019. 

Bref, on utilise JS car on n’a pas le choix mais avec un enthousiasme mesuré. Par contre, la complexité de développement, cachée par les librairies et frameworks, n’est pas un sentiment répandu : 40 % sont globalement d’accord avec cette complexité, une majorité est neutre ou pas d’accord avec ce ressenti. Et les répondants sont mêmes plutôt contents de développement avec l’outillage JS. 

Selon l’enquête, les grands vainqueurs sont :

- la fonction la plus utilisée : arrow
- le framework le plus utilisé : React
- la techno donnant le plus de satisfaction : Jest
- le truc qui génère le plus d’intérêt : GraphQL
- la techno qui pourrait faire exploser les score en 2020/2021 : Svelte 

2019.stateofjs.com

François Tonic