Expo permet aux développeurs web de créer de véritables applications natives fonctionnant à la fois sur iOS et Android en les écrivant une seule fois en JavaScript.
N'est-ce pas ce que fait React Native? Quelle est la différence?
Expo permet aux développeurs web de créer de véritables applications natives fonctionnant à la fois sur iOS et Android en les écrivant une seule fois en JavaScript.
N'est-ce pas ce que fait React Native? Quelle est la différence?
Les réponses sur les avantages et les inconvénients d'expo et de react-native-cli sont complètes. Je veux mentionner un autre point en fonction de mon expérience personnelle. Expo contient de nombreux modules par défaut dans le projet et facilite le travail avec lui. Mais il a un gros problème en phase de production car les versions android
et ios
construites ont une taille très grande. Par exemple, si vous avez une seule page avec un 'Bonjour le Monde'
, la taille du fichier apk
serait d'environ 19 Mo
. Avoir le même projet dans react-native-cli donnera une application d'une taille de 6 Mo
.
Par conséquent, personnellement, je ne recommande pas l'utilisation d'expo si vous souhaitez développer une application commerciale.
Je ferais remarquer ici qu'Expo utilise une version plus ancienne de react 16.5 ce qui vous empêcherait d'utiliser la nouvelle fonctionnalité hooks. Si vous décidez d'opter pour Expo, veillez à surveiller vos contrôles de version. Des versions plus anciennes de react-navigation devront être utilisées avec la version 16.5 si vous obtenez des erreurs étranges.
expo update
fait un assez bon travail pour obtenir les versions compatibles de la plupart des packages gérés par Expo. Pour autant que je sache, il ne met pas à jour React Navigation, mais cette bibliothèque est en fait sponsorisée par Expo. Personnellement, je rencontre rarement des problèmes de compatibilité entre React Navigation et Expo (j'ai rencontré quelques problèmes en utilisant des versions bêta). Cependant, vous pouvez rencontrer plus de problèmes de compatibilité avec des packages non gérés par Expo.
Expo est une chaîne d'outils construite autour de React Native pour vous aider à démarrer rapidement une application. Elle fournit un ensemble d'outils qui simplifient le développement et le test d'une application React Native et des interfaces et services qui sont généralement disponibles dans des composants React Native natifs de tiers. Avec Expo, vous pouvez tous les trouver dans l'Expo SDK.
J'ai plus d'un an d'expérience à travailler avec Expo. Si la taille de l'application n'est pas importante pour vous, utilisez Expo car il est facile d'implémenter la carte, les notifications push plus facilement que React-native. Mais à la fin du projet, si vous souhaitez publier l'application sur Google Play ou un autre magasin, vous aurez un défi pour supprimer certaines autorisations de votre APK. Avec React-native, vous pouvez tout changer mais pour importer certaines bibliothèques telles que les notifications push ou la carte, il faut également relever certains défis car vous devez ajouter ces bibliothèques manuellement aux projets Android et iOS.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.