Vous avez donc appris à utiliser React Native CLI pour créer des projets React Native.
Ce sont des projets qui n'ont aucun lien avec l'expo et qui sont donc totalement gérés par vous et où vous pouvez donc ajouter n'importe quel package tiers en fait, y compris certains packages
expo qui sont également disponibles en dehors
du flux de travail géré, mais vous devez
tout configurer vous-même, ce qui peut être facile en fonction du package que vous utilisez, mais il peut également être plus difficile.
Maintenant, il existe une sorte de chemin intermédiaire entre le flux de travail géré par l'expo et
le pur, vous devez tout faire par vous-même, le flux de travail et c'est le flux de travail nu de l'expo.
Maintenant, quel est le flux de travail nu ici?
Le flux de travail nu comprend une application React Native comme vous le feriez avec la CLI React Native, donc
pas une application gérée avec expo comme wrapper mais une application native, qui est cependant déjà préconfigurée pour prendre en charge de nombreux packages
expo, pas tous mais l'équipe expo travaille à
rendre de plus en plus disponible en dehors du workflow géré, mais beaucoup d'entre elles
sont déjà incluses et vous pouvez consulter la page des API prises en charge ici pour
avoir une idée des fonctionnalités que vous pouvez également utiliser dans le workflow nu.
L'idée derrière le flux de travail nu est que vous avez cette expérience de développement natif brute où
vous devez utiliser Android Studio et Xcode, donc vous n'avez pas l'expo CLI et le client expo pour vous aider, vous
devez donc le faire manuellement avec le l'aide de React
Native CLI mais où l'ajout de fonctionnalités natives est plus facile, donc là
où vous avez besoin de faire moins de configuration peut-être, où vous pouvez utiliser ces puissants packages natifs
qu'expo vous offre où vous pouvez utiliser tout cela sans avoir les limitations que l'expo vous donne , bien
que je veuille mettre des limitations entre guillemets parce que vous n'avez pas vraiment beaucoup de limitations
dans le workflow géré.
Alors laissez-moi vous montrer comment démarrer avec ce flux de travail nu et bien sûr pour cela, vous pouvez également
consulter les documents officiels. Ici, vous devez
avoir l'expo CLI installé et nous l'avons installé au début du cours bien sûr
pour créer notre projet géré
et vous devez également avoir installé React Native CLI. De plus, et c'est également important, vous devriez
généralement avoir la configuration décrite ici dans les documents React Native sous React Native CLI quick
start, alors assurez-vous de configurer votre système comme décrit ici pour les différentes plates-formes, les différents systèmes
d'exploitation que vous ciblez, alors assurez-vous d'installer Android Studio et Xcode et toutes les dépendances
que vous trouverez ici parce que vous utiliserez ce flux de travail, vous obtenez juste
un peu plus que ce projet vide brut que vous avez ici. Donc, une fois que tout cela est installé, vous pouvez créer
un nouveau package de flux de travail nu avec cette commande ou en général en exécutant expo init puis tout
nom de projet de votre choix, comme RNWithExpoBare et assurez-vous que vous exécutez cette commande dans un chemin où vous souhaitez créer
ce dossier de projet.
Donc, si vous exécutez cela maintenant, cela créera un nouveau projet d'exposition et c'est également l'invite que nous avons
vue au début
du cours, là j'ai choisi
vide et veuillez noter que cela faisait bien sûr partie du workflow
géré, ce que j'ai
choisi au début du cours, nous pouvons maintenant choisir le flux de travail nu en allant
à la sélection minimale ici et appuyer sur Entrée et ce que cela fait, cela crée maintenant un
nouveau projet et nous pouvons maintenant entrer ici un nom pour l'application qui est visible sur l'écran
d'accueil, RNBare et ici aussi RNBare.
Alors choisissez ça ici, appuyez sur Entrée et maintenant cela crée un nouveau projet, je ne
veux pas utiliser de fil, je vais utiliser npm à la place.
Cela créera un nouveau projet, un nouveau projet React Native
à peu près comme le ferait React Native init, donc si vous utilisez uniquement la React Native CLI mais préconfiguré de telle sorte que vous pouvez déjà utiliser beaucoup de
ces API prises en charge ou toutes ces API prises en charge. Maintenant important, la configuration du projet que nous obtenons
ici pourrait également être réalisée avec cette configuration créée par React Native CLI où je
n'ai pas utilisé du tout l'expo CLI parce que la magie se produit avec
l'aide de ces unimodules React Native ici.
Il s'agit en fin de compte d'un package fourni par l'équipe expo qui vous aide à exploiter les fonctionnalités de l'appareil
natif que vous pouvez également obtenir dans le flux de travail géré en dehors du flux de travail géré.
Maintenant important, si vous visitez la page github des unimodules React Native et que vous pouvez
simplement rechercher ce nom pour le trouver, vous trouverez également des instructions sur la façon de l'ajouter à une application React Native existante.
Ici vous trouverez des instructions sur la façon dont vous devez configurer ceci et toute cette configuration qui
est
décrite ici, donc toutes ces choses ici à droite, que vous devez faire si vous souhaitez utiliser
ce package et donc les fonctionnalités natives de l'expo dans un React Native normal
application non expo, vous devrez les faire manuellement pour un tel projet créé avec
la React Native CLI et c'est
exactement ce que expo init avec ce flux de travail nu fait pour nous, cela nous donne un tel projet React Native comme
si nous aurions créé avec React Native CLI et il le préconfigure en suivant toutes ces étapes, donc nous
n'avons pas à le faire.
C'est donc quelque chose dont nous pouvons profiter bien
sûr, alors laissez-moi ouvrir ce projet, c'est
maintenant le projet RNWithExpoBare que je viens de créer et là, vous trouverez quelques similitudes avec le projet
React Native que nous avons créé avec la CLI,
à peu près le mêmes fichiers de configuration, même application de démarrage. js content, maintenant ici, réellement expo a utilisé une ancienne version
de React Native pour créer ce qui explique pourquoi cela semble un peu différent
mais à la fin, vous obtiendrez la même configuration
qu'avec la React Native CLI mais comme je l'ai mentionné avec le Dossier Android et iOS avec ces projets
Android et iOS préconfigurés comme décrit sur la page des unimodules afin
que vous n'ayez pas à le faire et avec cette préconfiguration, vous pouvez maintenant facilement ajouter des packages tiers, vous pouvez ajouter n'importe quel package tiers
, vous pouvez par exemple maintenant
à nouveau utiliser le sélecteur d'image React Native, donc ce
que nous avons ajouté auparavant, ce que nous ne pouvions pas ajouter à une application
de workflow managée, ce package ici, vous pouvez facilement l'ajouter à une application de workflow nue car c'est juste
une application React Native sans expo, vous pouvez donc l'ajouter, mais maintenant, contrairement à une application React Native uniquement sans expo, vous pouvez
également apporter l'une des API expo répertoriées ici, comme le package d'emplacement expo que nous avons utilisé plus tôt dans
le cours.
Vous pouvez maintenant facilement l'installer en suivant les instructions d'installation auxquelles vous êtes lié ici pour le flux de travail
nu, vous devrez ensuite suivre les instructions d'installation que vous trouverez ici sur le
package de l'emplacement de l'expo, où vous apprendrez que vous pouvez l'installer avec ce puis exécutez l'installation du port dans
le répertoire iOS et aucune configuration supplémentaire pour Android n'est requise.
Donc, assez juste, pas trop difficile et donc vous pourriez peut-être dire que vous obtenez le meilleur des deux mondes,
vous avez une application native avec React Native CLI et vous pouvez toujours utiliser certaines fonctionnalités de l'expo, mais sachez bien sûr que si
vous exécutez ce application, si vous le faites bien sûr avec run-android réactif natif par exemple et donc cela nécessite
Android Studio, il le construit localement sur votre système, vous prenez donc un peu plus de temps, vous devez tout configurer
sur votre système et pour en déployant l'application et ainsi de suite, vous devez également tout gérer
ici sur votre machine locale, de sorte que vous n'obtenez aucune fonctionnalité pratique que l'expo vous offre dans le flux de travail géré où
cette construction et ces tests sont super rapides, où vous pouvez rapidement les tester sur
un vrai appareil et ainsi de suite, tout
cela manque ici aussi.
Vous avez un projet React Native sans expo mais l'utilisation de certaines API expo est plus
facile, c'est l'idée derrière le workflow nu et puisque expo a de nombreuses API incroyables, c'est bien sûr une très
bonne raison de l'utiliser parce que ces API, ces packages sont également assez garanti pour être poursuivi et maintenu, ce qui
n'est pas nécessairement
le cas pour tous les autres packages tiers que vous pourriez ajouter
à vos applications React Native.