Gérer le versioning avec React Native
16 juin 2020
React Native est un framework JavaScript qui permet de réaliser des applications natives. Les développements avec React Native sont souvent plus rapides qu’avec d’autres technologies, grâce à une communauté riche et des librairies directement réutilisables. Mais si React Native facilite le développement mobile pour iOS et Android, il est néanmoins indispensable d’analyser et de tester en amont, puis de monitorer, la qualité et les performances de chaque version.
Mettre la priorité sur la qualité
Le développement mobile implique obligatoirement la soumission des applications aux stores d’iOS et Android. Les notes des utilisateurs et leurs commentaires, positifs ou négatifs, conditionneront alors grandement l’échec ou la réussite d’une application.
Par rapport au Play Store de Google, l’Apple Store se distingue par un système de validation manuelle, beaucoup plus exigeant sur la qualité des applications. Quelques points méritent donc une vérification approfondie pour éviter les refus : crash et bugs, liens morts, placeholder à la place du contenu, teasings (« Bientôt disponible ») qui peuvent laisser croire à une version non terminée, etc.
Analyser les performances en amont
Afin de s’assurer que l’application ne présente aucun défaut, temps de latence ou bug, quel que soit l’appareil utilisé, il est important d’effectuer différents tests en amont, non seulement sur des émulateurs, mais aussi sur de véritables appareils, en conditions réelles. On portera particulièrement attention à la consommation d’énergie des librairies choisies, à la vitesse du rendu (en optimisant le poids des images) ou encore au poids de l’application en vue de son téléchargement.
Pour ce faire, l’automatisation des tests est hautement recommandée pour garantir une qualité irréprochable. Plusieurs outils permettent de réaliser des tests automatiques sur les applications, en couvrant l’ensemble des étapes requises, à l’instar de GitLab CI ou Detox.
Pour aller plus loin, je vous invite à consulter cet article sur les problématiques de CI-CD spécifiques à React Native.
5 erreurs à éviter pour vos projets mobiles avec React Native
Télécharger le guide completMonitorer les performances en temps réel
Lorsque l’application est en production, pour se prémunir des inévitables crashs, il faut se montrer réactif et être bien équipé afin de corriger les bugs le plus rapidement possible.
Un outil comme Bugsnag permet d’agréger les erreurs et les crashs, mais aussi de les corriger, avant que les utilisateurs n’aient le temps de faire des commentaires négatifs.
Avoir une gestion fine des versions
La gestion de version est encore plus importante sur le mobile que sur le Web classique, d’autant que plusieurs acteurs sont impliqués. Outre les multiples appareils et les deux OS, il existe différentes versions de React Native, des librairies utilisées, du backend et donc, du code de l’application. Il en résulte un grand nombre de combinaisons possibles pour chaque utilisateur, dont il faut absolument assurer la maintenance pour une application fonctionnelle, même si elle n’a pas été mise à jour. D’où l’importance également de choisir des librairies fiables et bien maintenues, en évitant le plus possible de créer des forks (dérivés du code originel).
L’App Center CodePush pour résoudre les bugs
Hébergé sur le réseau, CodePush récupère à intervalle régulier le code de l’application en développement. L’App Center intègre des fonctionnalités très pratiques pour résoudre des problèmes rapidement, notamment en cas de bug à résoudre.
De nombreux process et outils permettent de tester, analyser et monitorer les applications de façon réactive, afin de fournir des versions de qualité. Une démarche cruciale pour s’assurer de la meilleure notation possible dans les stores et donc, de la réussite de l’application.
Pour aller plus loin, vous pouvez consulter le guide complet : « Projet mobile avec React Native : les 5 erreurs à éviter ».
Un projet ? Une question ? Demandez conseil à l'un de nos experts mobile.
Prendre contactDirecteur Conseil