1 00:00:02,410 --> 00:00:05,770 Si potrebbe dire che ci sono circa tre modi per 2 00:00:05,770 --> 00:00:09,420 costruire un'app React Native: uno è in mostra con il cosiddetto flusso 3 00:00:09,430 --> 00:00:14,920 di lavoro gestito, questo è l'approccio che abbiamo usato nel corso e questo ha una sorta di 4 00:00:14,920 --> 00:00:20,290 linea tratteggiata attorno ad esso perché non è proprio un'alternativa per la creazione di un'app non expo, 5 00:00:20,440 --> 00:00:21,440 questo ovviamente 6 00:00:21,450 --> 00:00:27,190 abbraccia pesantemente l'expo, è l'approccio che usiamo nel corso. È facile da usare, ha praticamente zero impostazioni, funziona immediatamente, 7 00:00:27,190 --> 00:00:33,250 puoi facilmente testare l'app su un dispositivo reale, hai un sacco di moduli nativi integrati che sono super facili da installare e da usare. 8 00:00:33,730 --> 00:00:39,610 È controllato con la CLI di expo, basta digitare npm start o expo start, hai gli strumenti di sviluppo 9 00:00:39,610 --> 00:00:46,710 expo nel browser, è facile da eseguire su simulatori e dispositivi reali e puoi ancora ottenere un'app standalone che puoi distribuire, che come ho 10 00:00:46,720 --> 00:00:53,080 spiegato contiene il client expo come wrapper per così dire. Dal momento che puoi anche testarlo 11 00:00:53,080 --> 00:00:58,510 facilmente su dispositivi reali, tecnicamente non hai nemmeno bisogno di installare Android 12 00:00:58,600 --> 00:01:05,530 Studio o Xcode per creare un'app con Expo. L'ho installato e ti ho chiesto di installarlo anche per questo 13 00:01:05,630 --> 00:01:11,320 corso in modo da poter far girare i simulatori e testarlo lì perché non volevo costantemente testarlo su un 14 00:01:11,320 --> 00:01:16,990 dispositivo reale e registrare quello schermo ma non lo fai ' Non è necessario, puoi provarlo su un 15 00:01:16,990 --> 00:01:20,360 dispositivo reale con l'app client expo installata solo lì, quindi è 16 00:01:20,410 --> 00:01:23,120 qualcosa che puoi fare. Ora questo è 17 00:01:23,200 --> 00:01:28,810 l'approccio che abbiamo usato, ma ovviamente questa è un'app pesante per l'Expo, è un'app completamente 18 00:01:28,840 --> 00:01:33,590 nell'ecosistema dell'Expo con tutte le restrizioni o gli svantaggi che ho delineato. 19 00:01:33,640 --> 00:01:39,610 Ora un'alternativa a quella è che usi ancora expo ma il cosiddetto flusso di lavoro nudo o 20 00:01:39,610 --> 00:01:44,380 che costruisci un'app React Native senza expo con la CLI React Native. 21 00:01:44,610 --> 00:01:51,720 Ora la cosa nuda del flusso di lavoro di expo può essere creata da zero o espellendo dal flusso di lavoro gestito e 22 00:01:51,720 --> 00:01:55,080 questo è qualcosa che ti mostrerò anche in questo modulo. 23 00:01:55,110 --> 00:02:01,530 Ora quando crei un'app con il flusso di lavoro nudo, ottieni un'app non expo, crei un'app nativa come 24 00:02:01,530 --> 00:02:03,490 la creeresti con la CLI 25 00:02:03,520 --> 00:02:05,950 React Native, quindi ottieni le stesse basi 26 00:02:05,970 --> 00:02:13,920 lì, la differenza è che puoi ancora utilizzare pacchetti speciali expo. L'installazione è un po 'più complessa rispetto a quando si 27 00:02:13,920 --> 00:02:20,040 è nel flusso di lavoro gestito, è necessario eseguire più lavori di cablaggio manuale, almeno per alcuni 28 00:02:20,040 --> 00:02:27,330 pacchetti ma molti, non tutti, ma molti dei pacchetti expo inclusi nel flusso di lavoro gestito sono disponibili come pacchetti standalone 29 00:02:27,420 --> 00:02:32,560 che puoi portare anche a qualsiasi app React Native e il team di expo 30 00:02:32,640 --> 00:02:38,480 sta lavorando per rendere sempre più pacchetti disponibili al di fuori del flusso di lavoro gestito. 31 00:02:38,970 --> 00:02:45,450 Quindi puoi portarlo e con il flusso di lavoro nudo, è relativamente facile aggiungere questi pacchetti, non facile e veloce come nel 32 00:02:45,450 --> 00:02:50,870 flusso di lavoro di gestione ma comunque molto semplice. Quando si crea un'app senza Expo, con la CLI 33 00:02:50,890 --> 00:02:51,900 React Native, è 34 00:02:51,930 --> 00:02:58,420 ancora possibile portare questi pacchetti, ma è necessaria una configurazione manuale maggiore. Ora, come ho detto, è relativamente facile da configurare e 35 00:02:58,420 --> 00:03:01,660 gestire nel flusso di lavoro nudo, è necessario gestire di 36 00:03:01,660 --> 00:03:04,610 più nel flusso di lavoro della CLI nativa 37 00:03:04,630 --> 00:03:12,790 di React, quindi lì si crea davvero tutto senza il supporto di expo. Per quanto riguarda i moduli nativi che usi, puoi usare 38 00:03:13,480 --> 00:03:19,540 qualsiasi modulo nativo che desideri, anche quelli non expo, puoi portare questi speciali pacchetti expo che 39 00:03:19,540 --> 00:03:23,620 devi collegare manualmente ma puoi portare qualsiasi altro modulo nativo. 40 00:03:23,620 --> 00:03:28,480 Ora, quando arriviamo a costruire l'app e distribuirla, con il flusso di lavoro gestito 41 00:03:28,480 --> 00:03:35,650 che vedrai nel modulo di distribuzione è super facile da fare, con il flusso di lavoro nudo è un po 'più "difficile" 42 00:03:35,650 --> 00:03:42,700 tra virgolette, richiede più lavoro con Android Studio e Xcode e non è facile come con il flusso di lavoro gestito 43 00:03:42,940 --> 00:03:48,670 dall'Expo, anche tu ad esempio e questa è un'importante limitazione, non sarai in grado di creare app iOS 44 00:03:48,670 --> 00:03:49,520 su Windows. 45 00:03:49,660 --> 00:03:54,910 Ciò è possibile nel flusso di lavoro gestito perché la compilazione non avverrà sul tuo computer lì ma 46 00:03:54,910 --> 00:04:00,160 nel cloud, con il flusso di lavoro nudo e con la CLI nativa React, sei responsabile della creazione 47 00:04:00,160 --> 00:04:05,260 delle app e, quindi, devi farlo localmente sul tuo computer e quindi a causa delle restrizioni di 48 00:04:05,260 --> 00:04:10,320 Apple, non sarai in grado di creare un'app iOS su Windows o Linux, quindi questa è una 49 00:04:10,330 --> 00:04:12,630 cosa da tenere a mente anche lì. 50 00:04:12,670 --> 00:04:14,820 Quindi fai tutto da solo lì, quindi 51 00:04:14,950 --> 00:04:20,320 hai bisogno di questi strumenti installati e mentre non li userai per scrivere il codice, dovrai giocarci un po 'intorno 52 00:04:20,320 --> 00:04:27,360 e li userai per poi costruire la tua app e distribuire alla fine. Queste sono le 53 00:04:27,360 --> 00:04:29,830 alternative. Ora per la distribuzione, 54 00:04:29,830 --> 00:04:35,050 avrò un modulo separato in cui darò un'occhiata a come funziona con il flusso di lavoro gestito e anche senza 55 00:04:35,050 --> 00:04:36,700 il flusso di lavoro gestito, quindi 56 00:04:36,820 --> 00:04:39,820 non è qualcosa su cui mi concentrerò in questo modulo, invece 57 00:04:39,820 --> 00:04:45,130 in questo modulo voglio per mostrare come creare un'app con l'interfaccia della riga di comando nativa di React, come crearla 58 00:04:45,140 --> 00:04:50,350 anche con expo nel flusso di lavoro nudo e come è possibile espellere dal flusso di lavoro gestito al flusso 59 00:04:50,350 --> 00:04:51,280 di lavoro nudo. 60 00:04:51,280 --> 00:04:56,560 Vedremo anche come è possibile aggiungere alcune funzionalità del dispositivo nativo in queste due alternative perché questa 61 00:04:56,590 --> 00:05:00,390 è la parte in cui differisce maggiormente dal flusso di lavoro gestito. 62 00:05:00,540 --> 00:05:05,130 Il modo in cui scrivi i tuoi componenti e così via e quali componenti usi da React Native, ciò non 63 00:05:05,130 --> 00:05:10,710 differisce affatto perché non c'era nulla di specifico sull'Expo in questo. In altre parole, se diamo un'occhiata 64 00:05:10,710 --> 00:05:14,370 al progetto a cui abbiamo lavorato in precedenza nel corso, 65 00:05:14,370 --> 00:05:20,100 questo progetto di modulo nativo, essenzialmente ciò che perderai quando non utilizzi il flusso di lavoro 66 00:05:20,460 --> 00:05:24,960 gestito sono tutte le importazioni relative all'Expo, tutto ciò che Stai importando 67 00:05:25,080 --> 00:05:31,290 da Expo, questo è fondamentalmente qualcosa che ora è più difficile o che ora devi fare diversamente. 68 00:05:31,290 --> 00:05:36,540 Se non si utilizza expo come in questo file, tale file non dovrebbe essere modificato affatto, solo i 69 00:05:36,540 --> 00:05:42,120 file in cui si utilizza qualcosa di expo devono essere modificati o devono essere implementati in modo diverso quando non 70 00:05:42,240 --> 00:05:48,190 si utilizza il flusso di lavoro gestito o preciso, potresti non essere più in grado di utilizzare determinati pacchetti o puoi 71 00:05:48,270 --> 00:05:52,810 comunque usarli e probabilmente non avrai nemmeno bisogno di toccare il tuo codice, ma per usarli 72 00:05:52,920 --> 00:05:58,020 devi fare più lavoro di installazione manuale di quello che devi fare con expo e il flusso di 73 00:05:58,020 --> 00:05:58,910 lavoro gestito.