Sébastien Castiel

Est-il utile d’apprendre React ?

Est-il utile d’apprendre React ?

03 Oct 2018 ‱ 4 min read

Plusieurs tweets m’ont interpelĂ© rĂ©cemment, par rapport au fait que l’écosystĂšme JavaScript s’est dĂ©gradĂ©, car concentrĂ© autour de plus en plus d’outils pas forcĂ©ment utiles. React en prend notamment pour son grade.

Ça me rend triste quand mĂȘme tout ce tooling et cette complexitĂ© pour faire des webapps JavaScript. Les sites ne sont pas mieux qu'Ă  l'Ă©poque de Backbone mais si tu n'utilises pas moins de 5 outils et un transpileur et des types, tu n'es plus crĂ©dible ... M'enfin oĂč va-t-on ?!

– Ph. Charriùre sur Twitter

Cela me dĂ©sole un peu bien que je comprenne les arguments adressĂ©s. Voici ce que j’en pense
 (Je prends l’exemple de React, mais en fait ça peut s’appliquer Ă  Angular, Vue, etc.)

Juste le nouveau framework Ă  la mode

C’est un argument que l’on entend beaucoup: React n’est qu’un nouveau framework comme un autre, il a l’air super Ă  premiĂšre vue, mais dans deux ans tout le monde l’aura oubliĂ© et des heures de formation et d’expĂ©rience pourront ĂȘtre jetĂ©es Ă  la poubelle.

Entre apprendre Elm et la programmation fonctionnelle, OU apprendre React + Webpack + npm + Babel +
 + 
 qui seront tous obselĂštent un jour ou un autre, je prĂ©fĂšre miser sur quelque chose d’utile, qui m’enrichit intellectuellement et qui me servira plus tard :-). Mon avis :-).

– Ivan Enderlin sur Twitter

Peut-ĂȘtre que c’est vrai, mais pour ma part mes expĂ©riences web professionnelles et personnelles ont suivi un chemin relativement classique: du PHP, puis du front-end Ă  l’aide de jQuery, puis du AngularJS, puis du React. Est-ce que pour autant je regrette de m’ĂȘtre formĂ© Ă  PHP, jQuery et AngularJS? Heureusement non. Je n’en serais pas au mĂȘme niveau aujourd’hui si je n’avais que mes deux ans d’expĂ©rience React derriĂšre moi.

Ces derniers temps je suis beaucoup ce qui se passe autour de Reason, langage qui semble apporter des rĂ©ponses Ă©lĂ©gantes Ă  ce qu’il manque Ă  JavaScript. Pour autant je n’abandonne pas JavaScript. J’ai dĂ©couvert la programmation fonctionnelle grĂące Ă  JavaScript, et Reason est une bonne opportunitĂ© d’aller plus loin.

Alors peut-ĂȘtre que React (ou JavaScript) sera oubliĂ© dans deux ans, mais ce sera pour quelque chose de mieux, plus moderne, plus performant, etc., mais je ne peux pas croire que ce que l’on aura appris sur/de React sera bon Ă  jeter.

Trop d’outils nĂ©cessaires

Pour utiliser pleinement React (mais ça vaut aussi pour Angular, VueJS
), passer par la case transpilation Babel est plutĂŽt sympa. De mĂȘme que builder son appli avec un Webpack, Parcel ou autre Create React App c’est plutĂŽt cool aussi. Et ajouter une couche de formatage automatique avec Prettier et de lint avec ESLint, ça peut aider aussi. Encore mieux: ajouter du typage avec TypeScript ou Flow, ça peut sauver des heures de debug. Ça fait beaucoup d’outils. Et alors?

En quoi s’entourer de bons outils devrait-il ĂȘtre un mal? Vous pouvez dĂ©cider de n’en utiliser aucun (il est possible de faire du React sans JSX), vous passeriez Ă  cĂŽtĂ© de fonctions bien pratiques, mais c’est possible. Et certes d’autres langages font tout cela nativement, mais on peut se demander ce qui se passe si on souhaite implĂ©menter ces fonctions autrement que dans ces langages. Au moins avec JavaScript (et donc React), vous avez le choix.

C’était mieux avant

Avec jQuery? Quand on avait une usine Ă  gaz de fonctions utilitaires tout ça pour faire deux requĂȘtes dans le DOM, et que les plugins poussaient partout sur le web, chaque dĂ©veloppeur ayant ses propres conventions, faisant naĂźtre un Ă©cosystĂšme bordĂ©lique et hĂ©tĂ©rogĂšne?

Ou sans JavaScript? Quand le concept d’application web existait Ă  peine, puisque chaque chargement de donnĂ©es nĂ©cessitaient un rechargement de la page?

Les sites Ă©taient sans doute aussi bien voire mieux qu’aujourd’hui (moins polluĂ©s de trackers en tout genre), mais les web apps? Pas si sĂ»r
 Et autant du point de vue utilisateur que de celui du dĂ©veloppeur.

En conclusion?

Pour moi oui il est encore utile d’apprendre React ou n’importe que framework qui vous aidera au quotidien. Si vous souhaitez vous perfectionner dans le JavaScript pur (vanilla), c’est trĂšs bien aussi, cela vous aidera. De mĂȘme si vous souhaitez expĂ©rimenter d’autres langages pourvus d’autres avantages, ou permettant d’autres paradigmes. Mais penser que si une technologie est temporaire cela signifie qu’elle ne vaut pas le coup d’ĂȘtre apprise, ce serait je pense une erreur. Surtout, il n’y aurait plus grand chose Ă  apprendre


Note: on peut Ă©videmment penser que mon avis est biaisĂ© dans la mesure oĂč j’écris actuellement un livre consacrĂ© Ă  React. Je dirais plutĂŽt que je n’aurais pas ce projet si je pensais que React Ă©tait dĂ©jĂ  dĂ©modĂ© 😉