1 00:00:02,180 --> 00:00:06,790 Vous avez donc appris à utiliser React Native CLI pour créer des projets React Native. 2 00:00:12,260 --> 00:00:19,880 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 3 00:00:19,940 --> 00:00:21,710 expo qui sont également disponibles en dehors 4 00:00:22,160 --> 00:00:23,980 du flux de travail géré, mais vous devez 5 00:00:24,020 --> 00:00:28,850 tout configurer vous-même, ce qui peut être facile en fonction du package que vous utilisez, mais il peut également être plus difficile. 6 00:00:28,850 --> 00:00:34,150 Maintenant, il existe une sorte de chemin intermédiaire entre le flux de travail géré par l'expo et 7 00:00:34,160 --> 00:00:40,120 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. 8 00:00:40,130 --> 00:00:42,820 Maintenant, quel est le flux de travail nu ici? 9 00:00:42,980 --> 00:00:49,880 Le flux de travail nu comprend une application React Native comme vous le feriez avec la CLI React Native, donc 10 00:00:49,890 --> 00:00:58,040 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 11 00:00:58,310 --> 00:01:01,470 expo, pas tous mais l'équipe expo travaille à 12 00:01:01,490 --> 00:01:06,770 rendre de plus en plus disponible en dehors du workflow géré, mais beaucoup d'entre elles 13 00:01:07,190 --> 00:01:12,560 sont déjà incluses et vous pouvez consulter la page des API prises en charge ici pour 14 00:01:12,560 --> 00:01:17,230 avoir une idée des fonctionnalités que vous pouvez également utiliser dans le workflow nu. 15 00:01:17,240 --> 00:01:23,150 L'idée derrière le flux de travail nu est que vous avez cette expérience de développement natif brute où 16 00:01:23,150 --> 00:01:30,140 vous devez utiliser Android Studio et Xcode, donc vous n'avez pas l'expo CLI et le client expo pour vous aider, vous 17 00:01:30,140 --> 00:01:33,610 devez donc le faire manuellement avec le l'aide de React 18 00:01:34,040 --> 00:01:38,420 Native CLI mais où l'ajout de fonctionnalités natives est plus facile, donc là 19 00:01:38,450 --> 00:01:44,390 où vous avez besoin de faire moins de configuration peut-être, où vous pouvez utiliser ces puissants packages natifs 20 00:01:44,420 --> 00:01:50,700 qu'expo vous offre où vous pouvez utiliser tout cela sans avoir les limitations que l'expo vous donne , bien 21 00:01:50,750 --> 00:01:56,480 que je veuille mettre des limitations entre guillemets parce que vous n'avez pas vraiment beaucoup de limitations 22 00:01:56,480 --> 00:01:57,900 dans le workflow géré. 23 00:01:58,100 --> 00:02:03,530 Alors laissez-moi vous montrer comment démarrer avec ce flux de travail nu et bien sûr pour cela, vous pouvez également 24 00:02:03,530 --> 00:02:06,250 consulter les documents officiels. Ici, vous devez 25 00:02:06,290 --> 00:02:11,750 avoir l'expo CLI installé et nous l'avons installé au début du cours bien sûr 26 00:02:11,750 --> 00:02:13,830 pour créer notre projet géré 27 00:02:14,030 --> 00:02:20,810 et vous devez également avoir installé React Native CLI. De plus, et c'est également important, vous devriez 28 00:02:20,900 --> 00:02:26,660 généralement avoir la configuration décrite ici dans les documents React Native sous React Native CLI quick 29 00:02:26,660 --> 00:02:32,780 start, alors assurez-vous de configurer votre système comme décrit ici pour les différentes plates-formes, les différents systèmes 30 00:02:32,780 --> 00:02:38,300 d'exploitation que vous ciblez, alors assurez-vous d'installer Android Studio et Xcode et toutes les dépendances 31 00:02:38,300 --> 00:02:43,700 que vous trouverez ici parce que vous utiliserez ce flux de travail, vous obtenez juste 32 00:02:43,700 --> 00:02:52,720 un peu plus que ce projet vide brut que vous avez ici. Donc, une fois que tout cela est installé, vous pouvez créer 33 00:02:52,960 --> 00:03:01,850 un nouveau package de flux de travail nu avec cette commande ou en général en exécutant expo init puis tout 34 00:03:01,850 --> 00:03:11,390 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 35 00:03:11,390 --> 00:03:13,640 ce dossier de projet. 36 00:03:13,880 --> 00:03:20,600 Donc, si vous exécutez cela maintenant, cela créera un nouveau projet d'exposition et c'est également l'invite que nous avons 37 00:03:20,600 --> 00:03:22,110 vue au début 38 00:03:22,250 --> 00:03:24,090 du cours, là j'ai choisi 39 00:03:24,260 --> 00:03:28,670 vide et veuillez noter que cela faisait bien sûr partie du workflow 40 00:03:28,670 --> 00:03:30,500 géré, ce que j'ai 41 00:03:30,620 --> 00:03:36,500 choisi au début du cours, nous pouvons maintenant choisir le flux de travail nu en allant 42 00:03:36,500 --> 00:03:42,980 à la sélection minimale ici et appuyer sur Entrée et ce que cela fait, cela crée maintenant un 43 00:03:42,980 --> 00:03:49,310 nouveau projet et nous pouvons maintenant entrer ici un nom pour l'application qui est visible sur l'écran 44 00:03:49,630 --> 00:03:51,870 d'accueil, RNBare et ici aussi RNBare. 45 00:03:51,900 --> 00:03:55,260 Alors choisissez ça ici, appuyez sur Entrée et maintenant cela crée un nouveau projet, je ne 46 00:03:55,260 --> 00:03:57,920 veux pas utiliser de fil, je vais utiliser npm à la place. 47 00:03:58,050 --> 00:04:01,090 Cela créera un nouveau projet, un nouveau projet React Native 48 00:04:01,170 --> 00:04:09,480 à 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 49 00:04:09,870 --> 00:04:16,930 ces API prises en charge ou toutes ces API prises en charge. Maintenant important, la configuration du projet que nous obtenons 50 00:04:17,500 --> 00:04:23,170 ici pourrait également être réalisée avec cette configuration créée par React Native CLI où je 51 00:04:23,280 --> 00:04:28,660 n'ai pas utilisé du tout l'expo CLI parce que la magie se produit avec 52 00:04:28,900 --> 00:04:31,710 l'aide de ces unimodules React Native ici. 53 00:04:31,870 --> 00:04:38,440 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 54 00:04:38,440 --> 00:04:44,680 natif que vous pouvez également obtenir dans le flux de travail géré en dehors du flux de travail géré. 55 00:04:44,680 --> 00:04:50,230 Maintenant important, si vous visitez la page github des unimodules React Native et que vous pouvez 56 00:04:50,230 --> 00:04:58,140 simplement rechercher ce nom pour le trouver, vous trouverez également des instructions sur la façon de l'ajouter à une application React Native existante. 57 00:04:58,190 --> 00:05:03,620 Ici vous trouverez des instructions sur la façon dont vous devez configurer ceci et toute cette configuration qui 58 00:05:03,620 --> 00:05:03,980 est 59 00:05:03,980 --> 00:05:09,170 décrite ici, donc toutes ces choses ici à droite, que vous devez faire si vous souhaitez utiliser 60 00:05:09,170 --> 00:05:13,450 ce package et donc les fonctionnalités natives de l'expo dans un React Native normal 61 00:05:13,610 --> 00:05:17,880 application non expo, vous devrez les faire manuellement pour un tel projet créé avec 62 00:05:18,160 --> 00:05:20,050 la React Native CLI et c'est 63 00:05:20,060 --> 00:05:26,930 exactement ce que expo init avec ce flux de travail nu fait pour nous, cela nous donne un tel projet React Native comme 64 00:05:26,930 --> 00:05:32,720 si nous aurions créé avec React Native CLI et il le préconfigure en suivant toutes ces étapes, donc nous 65 00:05:32,750 --> 00:05:34,480 n'avons pas à le faire. 66 00:05:34,640 --> 00:05:37,580 C'est donc quelque chose dont nous pouvons profiter bien 67 00:05:37,580 --> 00:05:40,460 sûr, alors laissez-moi ouvrir ce projet, c'est 68 00:05:40,510 --> 00:05:46,660 maintenant le projet RNWithExpoBare que je viens de créer et là, vous trouverez quelques similitudes avec le projet 69 00:05:46,690 --> 00:05:49,660 React Native que nous avons créé avec la CLI, 70 00:05:49,690 --> 00:05:57,400 à 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 71 00:05:57,400 --> 00:06:01,990 de React Native pour créer ce qui explique pourquoi cela semble un peu différent 72 00:06:01,990 --> 00:06:05,170 mais à la fin, vous obtiendrez la même configuration 73 00:06:05,160 --> 00:06:11,230 qu'avec la React Native CLI mais comme je l'ai mentionné avec le Dossier Android et iOS avec ces projets 74 00:06:11,560 --> 00:06:15,440 Android et iOS préconfigurés comme décrit sur la page des unimodules afin 75 00:06:15,730 --> 00:06:24,010 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 76 00:06:24,010 --> 00:06:26,030 , vous pouvez par exemple maintenant 77 00:06:26,050 --> 00:06:29,260 à nouveau utiliser le sélecteur d'image React Native, donc ce 78 00:06:29,260 --> 00:06:34,030 que nous avons ajouté auparavant, ce que nous ne pouvions pas ajouter à une application 79 00:06:34,030 --> 00:06:40,330 de workflow managée, ce package ici, vous pouvez facilement l'ajouter à une application de workflow nue car c'est juste 80 00:06:40,360 --> 00:06:47,770 une application React Native sans expo, vous pouvez donc l'ajouter, mais maintenant, contrairement à une application React Native uniquement sans expo, vous pouvez 81 00:06:47,770 --> 00:06:54,220 é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 82 00:06:54,220 --> 00:06:55,320 le cours. 83 00:06:55,420 --> 00:07:01,600 Vous pouvez maintenant facilement l'installer en suivant les instructions d'installation auxquelles vous êtes lié ici pour le flux de travail 84 00:07:01,600 --> 00:07:05,950 nu, vous devrez ensuite suivre les instructions d'installation que vous trouverez ici sur le 85 00:07:05,950 --> 00:07:12,340 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 86 00:07:12,340 --> 00:07:16,240 le répertoire iOS et aucune configuration supplémentaire pour Android n'est requise. 87 00:07:16,290 --> 00:07:22,360 Donc, assez juste, pas trop difficile et donc vous pourriez peut-être dire que vous obtenez le meilleur des deux mondes, 88 00:07:22,570 --> 00:07:30,060 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 89 00:07:30,070 --> 00:07:36,370 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 90 00:07:36,370 --> 00:07:42,900 Android Studio, il le construit localement sur votre système, vous prenez donc un peu plus de temps, vous devez tout configurer 91 00:07:42,930 --> 00:07:48,130 sur votre système et pour en déployant l'application et ainsi de suite, vous devez également tout gérer 92 00:07:48,130 --> 00:07:55,360 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ù 93 00:07:55,390 --> 00:08:00,370 cette construction et ces tests sont super rapides, où vous pouvez rapidement les tester sur 94 00:08:00,370 --> 00:08:02,760 un vrai appareil et ainsi de suite, tout 95 00:08:02,860 --> 00:08:04,560 cela manque ici aussi. 96 00:08:04,690 --> 00:08:10,450 Vous avez un projet React Native sans expo mais l'utilisation de certaines API expo est plus 97 00:08:10,450 --> 00:08:17,580 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 98 00:08:17,580 --> 00:08:25,050 bonne raison de l'utiliser parce que ces API, ces packages sont également assez garanti pour être poursuivi et maintenu, ce qui 99 00:08:25,050 --> 00:08:26,340 n'est pas nécessairement 100 00:08:26,400 --> 00:08:30,660 le cas pour tous les autres packages tiers que vous pourriez ajouter 101 00:08:30,660 --> 00:08:32,700 à vos applications React Native.