React Native init vs Expo

image


Dans la documentation officielle React Native, dans la section Mise en route , nous apprenons que nous avons deux façons de lancer une application mobile: expo et react-native cli. Les utilisateurs de Windows et Linux, et la plupart d'entre eux, en accédant à l'onglet Projets de construction avec code natif et en choisissant Target OS: iOS, rencontrez une inscription qui les envoie au démarreur d'Expo, mais avant d'installer Expo, je vous suggère de lire les informations dans le tableau suivant et d'enregistrer ma tête ne vient pas seulement des menottes que j'ai reçues:


Nominit natif réactifExpo
Vous pouvez ajouter vos propres modules écrits en Java / Objective-COuiNon
Poids de l'application standard Hello World5 Mo25 Mo
Nécessite Android Studio et Xcode pour exécuter des projetsOuiNon
Les polices doivent être importées manuellement dans XcodeOuiNon
En partageant l'application (à l'aide d'un code QR ou d'un lien), vous n'avez pas besoin d'envoyer l'intégralité du fichier .apk ou .ipaPlus durPlus facile
Si vous souhaitez partager cette application, vous devez envoyer l'intégralité du fichier .apk / .ipaOuiNon
Fournit des API JS prêtes à l'emploi, par exemple Push-Notifications, Asset ManagerNonOui
Si vous avez toujours choisi Expo, c'est une question de temps que vous rencontrerez ses limites et voudrez utiliser des modules natifs, alors pour cela vous devrez vous détacher. D'après ma propre expérience et bon nombre de mes collègues, je sais que le détachement se fait de travers, ce qui signifie que vous devez refactoriser un tas d'erreurs.

Pour moi, Live Reloading dans le simulateur est devenu un véritable ami, mais dans Expo, il se brise constamment et il doit être redémarré en permanence, ce qui rend le processus de développement douloureux.

Expo est plein de dépendances dont vous n'aurez pas besoin personnellement pour le projet, mais vous devrez attendre plus de temps jusqu'à ce que votre ensemble JS avec les déchets excédentaires soit collecté, puis ces déchets seront ajoutés par Expo à votre version .apk et .ipa sur vos appareils mobiles les clients, en raison desquels le temps de lancement de l'application augmentera, et avec lui le temps de développement de l'application augmentera, car les bundles JS doivent être collectés très souvent.

Si les composants d'Expo fonctionnaient également avec le CLI natif, alors il n'y aurait aucun problème, et donc j'observe un écart dans la compatibilité des démarreurs et le plus triste est qu'Expo commencera à vous jeter ses erreurs supplémentaires liées à son infrastructure.

Bien sûr, tout le monde n'a pas la possibilité d'acheter un Mac, mais l'analyse comparative de deux démarreurs et mon expérience de 2,5 ans sur les deux montrent que le développement d'une application avec une interface native native, même uniquement à partir de Windows sur Android, est un meilleur investissement dans une solution plus professionnelle. , puisque React-Native utilise la même base de code pour iOS et Android.

J'espère pour vos commentaires, grâce auxquels les informations contenues dans l'article seront ajustées et complétées.

Si vous êtes intéressé par cet article, vous commencez probablement à étudier React Native, ce qui signifie que vous serez intéressé par mon cours vidéo en russe sur [React-Native basics] (react-native-village.imtqy.com), que vous pouvez suivre avec n'importe quel démarreur.

Source: https://habr.com/ru/post/fr480258/


All Articles