Così hai imparato come utilizzare la CLI di React Native per creare progetti React Native.
Si tratta di progetti che non hanno alcun legame con Expo e che sono quindi totalmente gestiti da te e dove puoi quindi aggiungere qualsiasi pacchetto di terze parti effettivamente, inclusi alcuni pacchetti
expo che sono disponibili anche al di
fuori del flusso di lavoro gestito ma devi
configurare tutto da solo, che può essere facile a seconda del pacchetto che stai usando ma anche può essere più difficile.
Ora c'è una via di mezzo tra il flusso di lavoro gestito dall'Expo e il puro,
è necessario fare tutto da soli, il flusso di lavoro e questo è il flusso di lavoro nudo dell'Expo.
Ora qual è il flusso di lavoro nudo qui?
Il flusso di lavoro nudo include un'app React Native come quella creata con la CLI React Native, quindi non
un'app gestita con expo come wrapper ma un'app nativa, che tuttavia è già preconfigurata per supportare molti pacchetti expo, non tutti ma
il team di expo sta lavorando per rendere
sempre più disponibili al di fuori del flusso di lavoro gestito, ma molti di
questi sono già inclusi e puoi controllare la pagina API supportata qui per avere
un'idea di quali funzionalità puoi usare anche nel flusso di lavoro nudo.
L'idea alla base del flusso di lavoro semplice è che hai questa esperienza di sviluppo nativo
non elaborata in cui devi utilizzare Android Studio e Xcode, quindi non hai la CLI expo e il client expo
che ti aiutano, quindi devi farlo manualmente con aiuto
della CLI nativa di React ma dove l'aggiunta di funzionalità native è
più semplice, quindi dove è necessario fare meno configurazione, dove puoi usare questi potenti pacchetti nativi
che Expo ti offre dove puoi usare tutto ciò senza le limitazioni che ti dà Expo , anche
se voglio mettere le limitazioni tra virgolette perché in realtà non hai molte limitazioni nel flusso
di lavoro gestito.
Quindi lascia che ti mostri come iniziare con quel flusso di lavoro nudo e, naturalmente, puoi anche
controllare i documenti ufficiali. Qui è necessario
disporre della CLI di expo installata e l'abbiamo installata all'inizio del corso per la creazione del
nostro progetto gestito e inoltre è
necessario che sia installata la CLI di React Native. Inoltre, e questo è anche importante, dovresti generalmente avere
la configurazione che è descritta qui sui documenti di React Native sotto l'avvio rapido di React
Native CLI, quindi assicurati di impostare il tuo sistema come descritto qui per le diverse piattaforme, i
diversi sistemi operativi che stai prendendo di mira, quindi assicurati di installare Android Studio e Xcode
e tutte le dipendenze che troverai qui perché utilizzerai questo flusso di lavoro, otterrai solo
un po 'di più di questo progetto vuoto grezzo che hai qui. Quindi, una volta installato tutto ciò, puoi creare un
nuovo pacchetto di flusso di lavoro nudo con questo comando o in generale eseguendo expo init e quindi qualsiasi
nome di progetto a tua scelta, come RNWithExpoBare e assicurati di eseguire questo comando in un percorso dove vuoi creare
questa cartella di progetto.
Quindi, se lo esegui ora, questo creerà un nuovo progetto expo e questo è anche il prompt
che abbiamo visto
all'inizio del corso, lì
ho scelto vuoto e tieni presente che questo ovviamente faceva parte
del flusso di lavoro
gestito, quello che ho scelto all'inizio del corso, ora possiamo scegliere il flusso di lavoro
nudo andando alla selezione minima nuda qui e premere invio e ciò che fa è ora crea
un nuovo progetto e ora possiamo inserire un nome qui per l'app visibile su la schermata
principale, RNBare e qui anche RNBare.
Quindi scegli quello qui, premi invio e ora questo crea un nuovo
progetto, non voglio usare il filato, userò invece npm.
Questo creerà un nuovo progetto, un nuovo progetto React
Native più o meno come farebbe React Native init, quindi se hai usato solo la CLI React Native ma hai preconfigurato in modo tale da poter
già utilizzare molte di queste API supportate o tutte queste supportate. Ora importante, la configurazione del progetto che stiamo
ottenendo qui potrebbe essere raggiunta anche con questa CLI React Native creata dove
non ho usato la CLI expo perché la magia avviene con l'aiuto
di questi unimoduli React Native qui.
Questo è un pacchetto alla fine fornito dal team di Expo che ti aiuta a sfruttare le funzionalità del dispositivo
nativo che puoi ottenere nel flusso di lavoro gestito anche al di fuori del flusso di lavoro gestito.
Ora importante, se visiti la pagina github degli unimoduli di React Native e
puoi semplicemente cercare questo nome per trovarlo, troverai anche le istruzioni su come aggiungerlo a un'app React Native esistente.
Qui trovi le istruzioni su come configurare questa e tutta questa configurazione che è descritta
qui, quindi tutte queste cose qui a destra, che devi fare se vuoi usare questo pacchetto
e quindi le funzionalità native di expo in un normale React Native
app non expo, dovresti eseguirli manualmente per un progetto simile creato con
la CLI React Native ed
è esattamente quello che fa expo init con questo flusso di lavoro nudo per noi, ci dà un progetto React
Native come se avessimo creato con la CLI React Native e la preconfigura seguendo tutti questi passaggi,
quindi non dobbiamo farlo.
Quindi è qualcosa di cui possiamo approfittare ovviamente,
quindi lasciami aprire questo progetto, questo
è ora il progetto RNWithExpoBare che ho appena creato e lì, troverai alcune somiglianze con il progetto
React Native che abbiamo creato con la CLI,
praticamente il stessi file di configurazione, la stessa app di partenza. js content, ora qui expo ha usato una versione precedente di
React Native per creare questo, motivo per cui questo sembra un po 'diverso ma
alla fine, otterrai la stessa configurazione della CLI React
Native ma come ho già detto con il Cartella Android e iOS con questi progetti Android e iOS
preconfigurati come descritto nella pagina unimodules in modo da non doverlo
fare e con questa preconfigurazione, ora puoi aggiungere facilmente pacchetti di terze parti, puoi aggiungere qualsiasi pacchetto di terze parti , ad esempio, ora puoi
anche utilizzare di nuovo il selettore
di immagini Native di React, quindi ciò che abbiamo
aggiunto prima, ciò che non potevamo aggiungere a un'app per flusso di lavoro gestita,
questo pacchetto qui, puoi facilmente aggiungerlo a un'app per flusso di lavoro semplice perché questo è solo un'app React
Native senza expo, quindi puoi aggiungere questa, ma ora diversamente da una normale app React Native solo senza expo, puoi anche portare
una qualsiasi delle API expo elencate qui, come il pacchetto di location expo che abbiamo usato in precedenza in
il corso.
Ora puoi installarlo facilmente seguendo le istruzioni di installazione a cui sei collegato qui per il flusso di
lavoro nudo, dovresti quindi seguire le istruzioni di installazione che trovi qui sul
pacchetto della posizione dell'expo, lì impari che puoi installarlo con questo comando, quindi eseguire l'installazione della porta nella directory
iOS e non è necessaria alcuna configurazione aggiuntiva per Android.
Abbastanza giusto, non troppo difficile e quindi potresti forse dire di avere il meglio da entrambi i mondi,
hai un'app nativa con React Native CLI e puoi ancora attingere ad alcune funzionalità di esposizione, anche se ovviamente tieni presente che
se lo esegui app, se lo fai, ovviamente, con run-android React-native per esempio e quindi questo richiede Android
Studio, lo costruisce localmente sul tuo sistema, quindi impieghi un po 'più a lungo, devi impostare tutto sul tuo
sistema e per distribuendo l'app e così via devi anche gestirla tutta qui sul tuo
computer locale, in modo da non avere alcuna funzionalità di convenienza che Expo ti offre nel flusso di lavoro gestito in
cui questo edificio e test è super veloce, dove puoi testarlo rapidamente su un
dispositivo reale e così via, tutto
ciò manca anche qui.
Hai un progetto React Native senza expo ma l'utilizzo di determinate API expo è più semplice,
questa è l'idea alla base del flusso di lavoro nudo e poiché expo ha molte API sorprendenti, questo ovviamente è
un buon motivo per usarlo perché queste API, questi pacchetti sono anche abbastanza garantito per essere continuato e mantenuto, il che
non è necessariamente
il caso di tutti gli altri pacchetti di terze parti che potresti
aggiungere alle tue app React Native.