Pourquoi utiliser React Native en développement mobile ?
Nous vous le disions dans cet article sur les frameworks cross-platform, et ce n'est donc plus un secret, dans notre agence de développement d'applications mobiles, on ne jure que par React Native.
Toutes les applications que nous avons développées jusqu'à maintenant et qui ont été déployées en production, ont été développées avec React Native et Expo. C'est donc un framework qui a fait ses preuves au sein de notre équipe de développeurs d'apps mobiles.
React Native, c'est du React cross-platform
Ce qui caractérise bien React Native c'est sa simplicité, sa rapidité, son efficacité, ses performances et son accessibilité. Des caractéristiques qui permettent de rapidement développer des applications mobiles modernes et qui répondent à la plupart des besoins.
Un des avantages de React Native c'est sa prise en main, relativement simple, pour un développeur React expérimenté. En effet, React Native et React partagent le même paradigme des composants, ils sont quasiment jumeaux, et donc développer une application mobile en React Native revient pratiquement à développer une application web en React. Je dis bien pratiquement car des différences il y en a un paquet et elles sont fortement liées au type de développement (mobile vs web).
Mais c'est bel et bien grâce à ce genre de framework de développement cross-platform que la démocratisation du développement mobile a pu se faire, tout comme elle a été farovisée avec Ionic, Cordova et les autres.
Le développeur web peut désormais satisfaire de nouvelles demandes auprès de sa clientèle en réalisant des apps mobiles.
React Native est né en 2015, c'est-à-dire 2 ans après que React ait été mis sur le marché. C'est dire que dans notre monde numérique, tout va très vite !
Au fur et à mesure de son évolution, la communauté a terriblement grandit, à un point tel qu'à l'heure où j'écris ces lignes, le repository de React Native plafonne à 112K étoiles sur Github, c'est juste énorme ! ⭐
Et on ne parle même pas des milliers de packages créés spécifiquement pour React Native par sa communauté de développeurs. Il y en a tellement que c'est même parfois compliqué de trouver le bon.
Cependant, à mesure que nous avons développé diverses applications, nous nous sommes rendus compte que la meilleure stratégie pour obtenir les meilleures performances, c'est de développer ses propres composants. Nous vous conseillons d'éviter les packages de type "UI Kit" comme NativeBase et autres. Le coût en matière de performance est trop élevé par rapport au gain (qui n'est juste qu'une question de confort de développement). À la place, concevez votre propre kit d'interface avec des composants réutilisables, ce qui, pour rappel, est tout de même la base de React. 🙈
Expo, le game changer du développement mobile
Quant à Expo, rien à voir avec une exposition de Van Gogh à Bruxelles (très sympa soit dit en passant). 🎨
Cette surcouche de React Native est véritablement un game changer dans son propre univers. Une comète qui est venu remodeler le système grâce à ses nombreuses et très professionnelles implémentations. Merci à Expo d'exister, ce que les développeurs et développeuses y ont réalisé est tout simplement énorme.
Chez Bedev, nous aurions bien du mal à revenir sur React Native sans la SDK d'Expo. Du développement au build final de l'application, tout est simplifié. Expo a fait la connexion avec la plupart des fonctionnalités natives des smartphones. Il y a un package pour à peu près tout.
Voici quelques exemples très pratiques pour développer votre app :
- Besoin de scanner un QR Code au sein de votre app mobile ? Installez expo-barcode-scanner.
- Besoin de faire de la reconnaissance faciale ? Installez expo-face-detector.
- Besoin d'accéder à la localisation de vos utilisateurs ? Installez expo-location.
- Besoin de mettre en place une statégie de push notifications ? Installez expo-notifications.
C'est ça qui est génial, il y a vraiment un package pour chaque besoin. Au moment où j'écris ces lignes, il y a plus de 90 références dans Expo SDK.
Déployer une application mobile facilement avec Expo
Le summum, ça reste le build final. Tout peut être géré par Expo. Builder une app android ou une app IOS n'a jamais été aussi simple, et croyez-en mon expérience, ce n'est pas, de base, spécialement une partie de plaisir. 🙄
Expo Application Services (EAS), les services cloud d'Expo
Avec Expo EAS, vous pouvez builder votre application mobile sur leurs serveurs, à distance donc. In the cloud, you know. Il en ressort un fichier d'app (.ipa pour IOS et .aab pour Android) que vous pouvez uploader sur vos plateformes Google Play Console et Apple Developer.
Mais comme si ce n'était pas suffisant, Expo a poussé encore plus loin. Il vous propose d'uploader lui-même l'application sur les apps stores.
Je sais ce que vous vous dites : oh mon dieu, c'est génial ?! 🤩
Oui mais... on n'a pas encore fini ! :D
Expo vous propose de mettre-à-jour l'application de vos utilisateurs sans même que ces derniers n'aient à mettre à jour leur app via leur app store.
Je vois votre tête : gné ?
Over-the-air (OTA Updates), une arme de déploiement
Hop hop hop, je vous arrête tout de suite. On est toujours dans le thème ! Non, nous ne ferons pas la guerre, il y en a déjà bien assez dans ce monde.
Par contre, il faut bien avouer que ce service "over-the-air" proposé par Expo est une arme de déploiement imparable, au sens imagé du terme évidemment.
C'est ce qui fait que pour moi d'Expo est un indispensable. Cette fonctionnalité à elle seule devrait vous convaincre. Imaginez que vos utilisateurs rapportent un bug bloquant à votre équipe de support technique. Embêtant mais ça arrive tout le temps. De manière assez classique, sans Expo, les développeurs doivent carburer pour investiguer et résoudre le bug. Une fois fait, l'app doit être buildée et ensuite uploadée sur les apps stores.
Mais l'upload peut prendre du temps. Une app uploadée est toujours soumise à une validation des équipes de Google et d'Apple, c'est inévitable. Et il n'est pas rare de tomber sur un validateur mal luné, ce qui a pour effet de retarder le déploiement.
À moins que... et là vous me voyez venir. Expo permet de bypasser cette étape. Il envoie la nouvelle version de l'app directement sur les smartphones des utilisateurs ! Simple et efficace.
Pour conclure, comme vous le constatez, le développement cross-platform réserve bien des surprises. On comprend tout à fait pourquoi il s'est imposé ces dernières années.
Si vous êtes à la recherche d'une agence pour développer une application mobile, je vous invite à cliquer sur le bouton ci-dessous. Un appel et on embarque ensemble dans un nouveau challenge, le vôtre ! 🚀
J'ai une app mobile à développer