DÉVELOPPEMENT
Comment s’appuyer sur Expo pour publier sur les deux app stores ?
Publié le : 6 Juin 2023
3 min.
Partager
La publication d'une application sur App Store et Google Play Store nécessite de nombreuses heures de travail : il faut installer des outils complexes sur notre machine, compiler l'application pour les 2 boutiques d'application, puis transférer les fichiers, et enfin les envoyer pour qu'elles soient validées.
Heureusement Expo nous aide à réduire ces étapes au strict minimum.
Expo nous permet d'utiliser encore plus facilement des librairies de React Native :
- Permissions
- Géolocalisation
- Sélecteur d’images
- Signatures
- Notifications
EAS (Expo Application Service) est un service d'Expo qui permet de publier facilement sur les deux stores en suivant ces étapes : Gitlab → Expo → App Store.
Grâce à GitLab CI et à Expo, nous n’avons plus besoin de compiler l’application nous-mêmes, ce qui était contraignant en particulier pour iOS car il nous fallait un Mac disponible et éviter les écueils lors de l’installation de Xcode.
Mise en place
Pour cela nous sommes passés par ces phases :
- Configuration EAS pour branchement App Store
- Configuration dans GitLab CI
- Pas de configuration particulière dans App Store
- Pas d’automatisation vers le PlayStore mais un simple fichier APK à envoyer sur la console Google Play Store
Configuration dans GitLab CI :
Le job build-android-preprod envoie les données à EAS qui va compiler l’application et nous fournir un lien vers un fichier APK qui peut être partagé et installé sur un appareil Android.
Le job build-ios-preprod envoie les données à EAS qui va compiler l’application et l’envoyer directement dans Testflight, on pourra alors publier cette version pour les utilisateurs qui font partie de notre groupe de testeurs.
Le job update-preprod sert quant à lui à pousser une mise à jour en OTA. Puisque la mise à jour ne demande pas de compiler l’application, la mise à jour est très rapide, elle est effective en moins de 5 minutes (contre 10 à 15 minutes pour les compilations Android et iOS).
Côté Expo, on peut visualiser comment chaque branche de git est connectée à un environnement Expo :
Récemment nous avons mis à jour la version d’Expo sur l’un de nos projets pour installer la version 45.
Cette version 45 a débloqué Expo Go et donc les mises à jour OTA très faciles, y compris via un QR code.
Les mises à jour OTA nous autorisent à mettre à jour l’application à l’exception des couches natives de l’application : configuration de base, dépendances écrites en code natif, etc.
Les publications OTA sont parfaites pour les mises à jour urgentes, par exemple pour une mise à jour pour avoir tout le monde sur le même niveau d’API. Une fois qu’une mise à jour OTA est publiée, Expo s’occupe de télécharger la mise à jour. Les utilisateurs et utilisatrices n’ont alors qu’à redémarrer leur application pour utiliser la nouvelle version.
Nous mettons quand même à jour la version sur les boutiques Apple et Google afin que les nouveaux utilisateurs aient directement la dernière version.
Conclusion
Expo permet de publier sur les deux stores via EAS en allégeant la charge de travail. Il vient avec des avantages et des inconvénients et c’est un choix d’architecture important. Le nombre et la spécialisation des développeurs, le temps à accorder au projet aux phases de déploiement doivent jouer dans ce choix.
Alexis Lefebvre
Développeur back
Partager