Formation « Créer des blocs avec Gutenberg »

Le choix de ReactJS

Lecture : 4 minutes • 2

Pourquoi WordPress a choisi de s’appuyer sur la librairie React plutôt qu’une autre pour concevoir son éditeur nouvelle génération ? On va voir que le choix n’a pas été simple car il a beaucoup d’implications sur l’avenir du CMS.

Qu’est-ce que React, la librairie JS phare de Facebook ?

React c’est une librairie basée sur Javascript (un peu comme jQuery mais en bien plus poussé) qui apporte tout un lot d’outils pour créer des applications web modernes, avec une approche par composants.

React est un projet issu de Facebook. Ayant eu des problématiques que personne d’autre avant eux n’avait connu, ils ont du développer une librairie spécifique pour gérer le flux d’actualité de leurs utilisateurs et ont commencé à l’utiliser dès 2011.

En 2013, Facebook annonce que React devient open source et commence à être connu des développeurs. Il faudra attendre 2015 – 2016 pour que la librairie prenne réellement de l’ampleur et devienne, comme Angular, l’une des plus utilisées.

En 2015, React annonce React Native, le framework permettant de compiler ses apps React en applications mobiles natives pour iOS et Android.

Le principe de react est de découper son application en composants, chacun gérant ses propres données et son rendu visuel.

On en vient donc à écrire du HTML directement dans le Javascript, alors qu’on avait tendance à faire l’inverse auparavant (Pour cela on a besoin de compiler notre code, mais on y reviendra).

Le choix entre React et Vue

Beaucoup préfèrent Vue à React car plus facile à comprendre et à apprendre. Vue dispose d’une grande communauté derrière, mais moins étendue que React.

La communauté WordPress a du, à un moment donné, faire un choix, et le faire sur le long terme : en effet, une fois la machine lancée, il sera très difficile de faire marche arrière et changer de librairie.

Cela impliquerait trop de changements dans le coeur, et risquerait de frustrer les développeurs WordPress qui ont déjà du faire l’effort de mettre à jour leurs compétences.

L’écosystème JavaScript, une évolution mouvementée

Le Javascript a beaucoup évolué ces dernières années, notamment avec l’arrivé d’ES2015, ES6, ES7, qui sont les nouvelles version de Javascript (le langage natif), et en parallèle de nombreuses librairies ont vu le jour.

Durant la période 2015-2016, c’était devenu un calvaire : chaque journée voyait naitre et mourir son lot de librairies JS.

D’un point de vue stratégique, c’était difficile pour une entreprise de choisir une technologie car tout changeait très rapidement. Un mauvais choix au début d’un projet pouvait avoir de graves conséquences : imaginez partir sur une librairie qui se retrouverait abandonnée 2 mois plus tard. Il faut alors presque tout recommencer.

En 2016 un hashtage est apparu sur Twitter :  #JSFatigue. Même les plus grands développeurs JS en ont eu marre : il fallait que cette effervescence finisse par se calmer afin de retrouver la stabilité.

Et c’est ce qui arriva vers 2016-2017 : C’est Angular, Vue et React qui récupèrent aujourd’hui les plus grosses parts de marché.

Aparté: Les versions de JavaScript

Je reviens rapidement sur le nommage des nouvelles version du langage JS, qui n’a pas évolué d’un iota entre 2000 et 2014. Ecma Script (ou ES) est la spécification du langage JS. en 2014 on a eu droit à ES2015, qui apportait enfin des améliorations au langage. Ensuite, les années suivantes, elles ont été nommées ES6, puis ES7.

Enfin aujourd’hui on parle d’ESnext lorsque l’on utilise la version la plus moderne de JS.

Alors bien sûr il y a toujours le problème de compatibilité avec les anciens navigateurs, mais pour cela des outils comme Babel permettent de « compiler » le code en version retrocompatible.

C’est d’ailleurs ce que l’on fait quand on code avec React.

Le choix de ReactJS

Finalement le choix de WordPress s’est porté sur ReactJS, pour sa puissance, ses performances, la communauté conséquente derrière le projet et la pérennité de celui-ci.

Après tout il y a Facebook derrière, alors que pour Vue c’est à la base l’oeuvre d’une seule personne (ce qui est très louable).

Je pense que c’est un bon choix. Vue.js n’aura pas une communauté aussi pérenne, même si en terme de langage j’aime beaucoup.

Le fiasco de la licence React en 2017

Petit coup de frayeur en 2017 quand Facebook a annoncé que la licence React ne serait plus entièrement open source. La communauté entière s’est soulevée contre cette initiative. Après quelques semaines, Facebook a finalement décidé d’abandonner cette idée farfelue.

En savoir plus [en]

Matt Mullenweg a annoncé de cesser d’utiliser React pour WordPress si tel était le cas. Dans ce cas c’est Vue.js qui aurait été choisi.

Et je pense ça a pesé dans la balance : équiper plus de 30% du web de la libraire React n’est pas anodin. WordPress ne pouvait juste plus soutenir React si il ne restait pas purement open source.

Attirer de nouveaux développeurs

Partir vers du Javascript est également un très bon moyen pour WordPress d’étendre ses horizons et attirer une plus large gamme de développeurs, et ainsi continuer sa progression.

Aujourd’hui la grande majorité des développeurs WordPress sont des développeurs PHP avant tout. D’ici quelques années je pense que cela aura grandement évolué.

De plus je remarque que les jeunes développeurs se tournent aujourd’hui bien plus vers le JS et React, car ils ont la promesse d’un nouveau web, plus dynamique, plus interactif, et je ne peux que les comprendre.

Le changement demande de l’adaptation

Bien entendu, en tant que développeur PHP, j’ai du m’adapter, apprendre, m’habituer à ce nouveau langage. Même si j’ai déjà fait du JS avec jQuery, l’approche n’est pas du tout la même.

J’espère donc au travers de cette formation vous aider à vous adapter à ce nouvel environnement plus vite que moi je ne l’ai fait, afin que vous soyez opérationnels dans vos futurs développements.

En tous cas c’est une belle aventure, et personnellement j’adore développer en JS + React et voir les choses bouger en temps réel !


WordPress a donc choisi ReactJS car sa communauté semblait la plus pérenne. Nous allons voir dans la suite de la formation comment créer nos composants avec WordPress et React, et créer nos propres blocs dynamiques ! Mais avant cela, on va voir la différence entre jQuery et React.

2

Questions, réponses et commentaires

  1. Grégoire

    Le 19 octobre 2019

    Est-ce que le choix de React.js n’a pas été fait à un moment ou Vue.js n’était pas aussi populaire ?
    Je pense que maintenant, on peut dire que Vue.js ne connaitra pas le même sort que les autres framework disparus dont tu parles tels que Meteor.js.
    Du coup, si Gutemberg était lancé aujourd’hui, je ne sais pas ce qui serait forcément retenu. Qu’en penses-tu ?

    1. Maxime BJ

      Le 19 octobre 2019

      Je pense que le constat est encore plus clair aujourd’hui qu’il y a 2 ans : React a gagné la bataille et pas mal de pérennité avec la communauté la plus grande. Cependant Vue reste un super framework, et aurait tout autant été un très bon choix.

Laisser un commentaire