Découverte de Mobx state tree au DevFest

Durant ce DevFest j’ai assisté à la présentation de Mobx state tree par Fabien Juif et Delphine Millet de Zenika et je voulais partager cette découverte avec vous.

Contexte

React est une librairie JavaScript développée par Facebook, désormais sous licence MIT depuis un mois. Cette librairie utilise l’approche composant mais ce paradigme nécessite très rapidement l’utilisation d’un store afin de simplifier la communication entre les différents composant de notre application. Deux librairies se démarquent aujourd’hui pour implémenter l’ajout d’un store à une application React :

Redux
35000 stars sur GitHub
Utilisé par Twitter & Airbnb
Caractéristiques : store immutable, fonctionnel
Point positif : Facile à tester
Points négatifs : Verbeux, difficile à appréhender

MobX
11 500 stars sur GitHub
Utilisé par Jenkins & Amazon AWS
Caractéristiques : mutation => orienté objet, réactif
Points positifs :  Facile à comprendre, moins verbeux, re-rendu optimisé
Points négatif : pas “rejouable” => plus difficile à tester

Mobx state tree

C’est ce point négatif de MobX qui a donné naissance à MobX state tree :
Première release en mars, version 1.0 le 20 septembre
1300 stars sur GitHub
Caractéristiques : cycle de Mobx mais avec recopie du state => basé sur des snapshot

Deux points positifs ont été mis en avant :

  • Le typage du modèle, avec obligation de préciser si le paramètre est obligatoire, et sa valeur par défaut sinon.
  • La fonction “onPatch” qui est appelée à chaque modification de changement d’état, très pratique pour le debug

L’utilisation de l’approche orientée objet est effectivement plus naturelle pour un développeur Java et MobX state tree semble très bien concilier ces deux visions opposées. Étant désormais en version stable, je pense que cette libraire est une option intéressante pour de futurs projets React.

Un commentaire

  1. J’en avais déjà entendu mais jamais je n’aurai pensé que cette apllicatioon est faite par facebook, une grande découverte. Et, je pense que Mobx state tree est une plus meilleure version que Mobx ou Redux.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *