React Native, pendant natif du framework React de Facebook avance pas mal d’arguments pour plaire aux devs : (quasiment) un code source unique (JS, JSX) pour compiler vers des apps mobiles natives (mais pas que, on peut également compiler vers Ubuntu par exemple et les possibilités de portages grandissent tous les jours).

Suite aux annonces sur ce framework qui a déboulé en 2015 mais que, perso, je n’ai vu passer quand mai / juin 2016, je m’étais penché sur un petit test, une petite app pour tester les possibilités de React Native. L’idée est simple : un champ texte, qui, à la soumission va requêter l’API eBay et retourner une moyenne des objets vendus correspondants. D’où le nom bien inspiré de Trouve Un Prix. Pourquoi cette app ? J’aime bien les brocantes, j’aime bien l’occasion, j’aime bien acheter et vendre et j’avais besoin d’un outil pour avoir une idée, un indicateur de la valeur marchande de certains de mes objets. Pour avoir une idée de cette valeur, on peut regarder sur Leboncoin ou autre, sauf que de cette façon, on aura que des prix vendeurs, soit le prix demandé par le vendeur, qui est rarement le prix auquel l’objet se vend. Ici, on récupère une liste de prix issus de ventes vraiment effectuées. Ce qui est beaucoup plus simple pour se faire une idée.

Ça fonctionnait pas trop mal, et après avoir montrer ce MVP à Samuel, on s’est dit que ça pouvait faire l’objet d’une vraie app distribuée sur les stores, et donc voir :

  • s’il est possible de faire et soumettre une app React Native au store sans encombre
  • si React Native tient la route tout le long du projet, et identifier ses éventuels faiblesses

Pour faire bref, et moyennant pas mal d’amélioration par Samuel (refactorisation, Redux, etc.) l’app est sur les stores, Android et Apple l’ayant validé au premier coup. Ensuite, pour le retour sur React Native, quelques petites faiblesses à noter :

  • un framework en évolution très rapide : on a dû passer par une petite dizaine de versions au cours du développement, ce qui nous a un peu ralenti (gestion ensuite des bugs des dépendances, etc.). Bon en même temps, il faut bien faire murir la techno, c’est juste un mauvais timing de notre part.
  • l’implémentation de CSS / Flexbox : j’aime beaucoup Flexbox, mais il faut bien le dire, dans React Native, on est sur un simili-Flexbox, et même un simili-CSS. Très déroutant pour un intégrateur.

Sinon rien à redire : en peu de temps on a quelque chose qui tourne sur Android, iOs. La communauté est déjà énorme et on peut avoir de l’aide rapidement.

Et notre appli nous plait bien, on réfléchit déjà à sa deuxième version :)

Le site de l’appli Trouve-un-prix.fr, la page sur le Play Store et sur iTunes. Les retours sont les bienvenus !