web-dev-qa-db-fra.com

Réagir natif vs créer réagir réactif application native

Je souhaite commencer par réagir au développement d'applications natives et j'ai besoin d'aide pour décider de la voie à suivre.

La principale question est la suivante: dois-je utiliser réact native ou créer une application native?

D'après ce que j'ai compris, CRNA réagit vraiment de manière native en utilisant le client et les outils expo, avec une utilisation plus confortable (aucun compte dev requis, etc.).

Je peux voir les avantages de l’utilisation de CRNA par rapport à réagit natif (inutile d’instaurer des dépendances, plus de temps pour commencer à se développer, plus besoin d’un compte iPhone ou d’un combi xcode + Android, etc.

Cependant, comme toutes les bibliothèques natives ne sont pas incluses, je me vois néanmoins obligé d'exporter mon application ultérieurement et de continuer à travailler avec xcode et Android Studio comme avant.

Donc, si CRNA est juste un bon moyen de commencer avec tout, alors je choisirais Vanilla réagit tout de suite, car je ne vois aucun intérêt à une solution temporaire du tout.

Aussi, et peut-être que vous pourrez me corriger à ce sujet, je n'aime pas l'idée d'avoir juste une autre enveloppe au-dessus de mon application, à moins que certains avantages plus cruciaux ne me fassent défaut.

Alors pourriez-vous s'il vous plaît partager votre opinion à ce sujet? Si vous avez développé des applications avec react native dans le passé, quel chemin avez-vous emprunté et quel chemin allez-vous emprunter à l'avenir? Réagir natif, CRNA ou faire réagir un environnement natif et expo?

Merci d'avance.

29
CoffeeCups

Bonjour, je vais également partager une partie de mon expérience sur le sujet.

Étant donné que j'ai un arrière-plan frontal et que je ne connaissais pas XCode ou Android Studio, j'ai décidé de lancer le développement de mon application native à partir de CRNA. 

En effet, avec juste un éditeur de texte, purement avec javascript et utilisant les composants du SDK expo intégrés, j'ai rapidement été capable de mettre en œuvre et de publier sur Play Store une application assez simple . Que je trouve vraiment incroyable :)

Cependant, après la publication de l'application, j'ai réalisé qu'il y avait des pièges qui l'empêchaient de concurrencer des applications Java rivales similaires:

La plus grande OMI est la taille de l'apk généré avec exp Service. Pour l'application avec seulement 3 écrans et pas beaucoup de logique commerciale, 25 Mo et environ 60 Mo après l'installation est vraiment beaucoup. Selon expo devs les applications plus complexes seront approximativement de la même taille ou légèrement plus grandes en raison de l’importance de la taille étant les dépendances natives, et non du côté javascript actuel . gros problème et je devrai de toute façon eject l’application pour optimiser la taille de la compilation

Donc, en général, CRNA est un moyen rapide et efficace de démarrer et de faire fonctionner quelque chose, mais avant de publier l'application pour les utilisateurs, vous ne pourrez pas éviter de configurer votre version personnalisée et toutes les dépendances comme Android Studio.

18
tomekz

Je pense que créer-réagir-native-application est un bon moyen de commencer afin que vous puissiez vous concentrer sur la partie React de réagit natif, surtout si vous n'êtes pas familier avec React. Et quand vous êtes prêt à faire des choses en natif, vous pouvez simplement éjecter avec npm run eject

Lorsque j'ai démarré un nouveau projet avec react native natif à la fin de l'année dernière, il n'y avait pas d'application create-react-native-native et j'ai d'abord évalué expo. Je n’aimais pas cela, car il n’existait pas d’intégration native facile à moins d’éjecter quand je sais avec certitude que nous aurons besoin d’une intégration native. Par conséquent, je suis allé avec Vanilla Rea natif. De plus, j'avais déjà une expérience de React sur le Web et du développement natif pour iOS et Android. 

8
hyb175

TLDR

si vous créez un projet aveccreate_react_native_app myproject

alors il contient expo setting (non recommandé)

si vous créez un projet avecreact-native myproject

puis sa nature natale (recommandée pour les projets de taille petite, moyenne ou grande)

Note: utiliser la commande react-native dans le terminal utiliser ce lien

0
vijay

J'aimerais partager mon expérience du développement d'applications. Comme j'étais nouveau avec Rea, j'ai commencé avec CRNA et tout s'est bien passé. Expo propose de nombreuses fonctionnalités telles que les notifications Push, les animations (Lottie recommandé par Airbnb) et la tranquillité d'esprit de pouvoir éjecter votre application à tout moment si vous souhaitez utiliser des bibliothèques natives avec cette application. La meilleure partie est que vous n’avez pas à réécrire de code et que toutes les fonctionnalités exclusives à expo fonctionneront également ..___ Par conséquent, CRNA (utilisez autant que vous pouvez) + eject (lorsque vous avez besoin de bibliothèques natives) = point idéal.

0
ASHISH BHARDWAJ