1 00:00:02,410 --> 00:00:05,770 On pourrait dire qu'il y a environ trois façons de construire 2 00:00:05,770 --> 00:00:09,420 une application React Native - l'une est avec expo avec le soi-disant workflow 3 00:00:09,430 --> 00:00:14,920 géré, c'est l'approche que nous avons utilisée dans le cours et cela a une sorte de ligne pointillée autour 4 00:00:14,920 --> 00:00:20,290 d'elle parce que ce n'est pas vraiment une alternative pour créer une application non-expo, cela embrasse bien sûr fortement 5 00:00:20,440 --> 00:00:21,440 expo à la 6 00:00:21,450 --> 00:00:27,190 place, c'est l'approche que nous utilisons dans le cours. Il est facile à utiliser, a une configuration à peu près nulle, il 7 00:00:27,190 --> 00:00:33,250 fonctionne prêt à l'emploi, vous pouvez facilement tester l'application sur un vrai appareil, vous avez beaucoup de modules natifs intégrés qui sont super faciles à installer et à utiliser. 8 00:00:33,730 --> 00:00:39,610 Il est contrôlé avec l'expo CLI, vous tapez simplement npm start ou expo start, vous avez les outils de développement expo dans le 9 00:00:39,610 --> 00:00:46,710 navigateur, il est facile à exécuter sur des simulateurs et de vrais appareils et vous pouvez toujours obtenir une application autonome que vous pouvez déployer, qui, comme je 10 00:00:46,720 --> 00:00:53,080 l'ai expliqué, contient le client expo comme un wrapper pour ainsi dire. Comme vous pouvez également le tester 11 00:00:53,080 --> 00:00:58,510 facilement sur de vrais appareils, vous n'avez même pas besoin d'installer Android Studio 12 00:00:58,600 --> 00:01:05,530 ou Xcode pour créer une application avec expo. Je l'ai installé et je vous ai demandé de l'installer également pour ce cours 13 00:01:05,630 --> 00:01:11,320 afin que nous puissions faire tourner des simulateurs et le tester là-bas parce que je ne voulais pas constamment le tester sur un 14 00:01:11,320 --> 00:01:16,990 vrai appareil et enregistrer cet écran, mais vous ne le faites pas '' t besoin de le faire, vous pouvez le tester sur 15 00:01:16,990 --> 00:01:20,360 un appareil réel avec l'application client expo installée uniquement là, c'est donc quelque 16 00:01:20,410 --> 00:01:23,120 chose que vous pouvez faire. Maintenant, c'est l'approche 17 00:01:23,200 --> 00:01:28,810 que nous avons utilisée, mais bien sûr, il s'agit alors d'une application expo lourde, c'est une application 18 00:01:28,840 --> 00:01:33,590 entièrement dans l'écosystème expo avec toutes les restrictions ou les inconvénients que j'ai décrits. 19 00:01:33,640 --> 00:01:39,610 Maintenant, une alternative à cela est que vous utilisez toujours expo mais le soi-disant flux de travail nu ou 20 00:01:39,610 --> 00:01:44,380 que vous créez une application React Native sans expo avec la CLI React Native. 21 00:01:44,610 --> 00:01:51,720 Maintenant, le flux de travail expo peut être créé à partir de zéro ou en éjectant du flux de travail géré et c'est quelque 22 00:01:51,720 --> 00:01:55,080 chose que je vais également vous montrer dans ce module. 23 00:01:55,110 --> 00:02:01,530 Maintenant, lorsque vous créez une application avec le flux de travail nu, vous obtenez une application non expo, vous créez une application native 24 00:02:01,530 --> 00:02:03,490 comme vous le feriez avec la 25 00:02:03,520 --> 00:02:05,950 CLI React Native, donc vous obtenez la même 26 00:02:05,970 --> 00:02:13,920 base là-bas, la différence est que vous pouvez toujours utilisez des packages d'expositions spéciaux. Leur installation est un peu plus complexe que lorsque vous êtes 27 00:02:13,920 --> 00:02:20,040 dans le flux de travail géré, vous devez effectuer plus de travaux de câblage manuel, au moins pour certains 28 00:02:20,040 --> 00:02:27,330 packages, mais beaucoup, pas tous, mais de nombreux packages d'expo qui sont inclus dans le flux de travail géré. sont disponibles en tant 29 00:02:27,420 --> 00:02:32,560 que packages autonomes que vous pouvez également apporter à n'importe quelle application React Native et l'équipe 30 00:02:32,640 --> 00:02:38,480 expo travaille à rendre de plus en plus de packages disponibles en dehors du flux de travail géré. 31 00:02:38,970 --> 00:02:45,450 Vous pouvez donc apporter cela et avec le flux de travail nu, il est relativement facile d'ajouter ces packages, pas aussi faciles et rapides que dans le 32 00:02:45,450 --> 00:02:50,870 flux de travail de gestion, mais tout de même, très facile. Lors de la création d'une application sans expo, avec la 33 00:02:50,890 --> 00:02:51,900 CLI React Native, 34 00:02:51,930 --> 00:02:58,420 vous pouvez toujours apporter ces packages, mais une configuration plus manuelle est nécessaire. Maintenant, comme je l'ai dit, il est relativement facile à configurer 35 00:02:58,420 --> 00:03:01,660 et à gérer dans le flux de travail nu, vous 36 00:03:01,660 --> 00:03:04,610 devez gérer davantage dans le flux de travail React 37 00:03:04,630 --> 00:03:12,790 Native CLI, donc là, vous construisez vraiment tout sans aucun support par expo. En ce qui concerne les modules natifs que vous utilisez, vous pouvez utiliser 38 00:03:13,480 --> 00:03:19,540 n'importe quel module natif que vous souhaitez, également des modules non expo, vous pouvez apporter ces packages d'expositions spéciaux que 39 00:03:19,540 --> 00:03:23,620 vous devez câbler manuellement mais vous pouvez apporter n'importe quel autre module natif. 40 00:03:23,620 --> 00:03:28,480 Maintenant, lorsque nous arrivons à créer l'application et à la distribuer, avec le flux de travail 41 00:03:28,480 --> 00:03:35,650 géré que vous verrez dans le module de déploiement qui est super facile à faire, avec le flux de travail nu, c'est un peu 42 00:03:35,650 --> 00:03:42,700 "plus difficile" entre guillemets, cela nécessite plus de travail avec Android Studio et Xcode et ce n'est pas aussi facile qu'avec le workflow 43 00:03:42,940 --> 00:03:48,670 géré par expo, vous aussi par exemple et c'est une restriction importante, vous ne pourrez pas créer d'applications iOS 44 00:03:48,670 --> 00:03:49,520 sur Windows. 45 00:03:49,660 --> 00:03:54,910 Cela est possible dans le flux de travail géré, car la génération ne se fera pas sur votre machine, 46 00:03:54,910 --> 00:04:00,160 mais dans le cloud, avec le flux de travail nu et avec la CLI React Native, vous êtes responsable 47 00:04:00,160 --> 00:04:05,260 de la création des applications et, par conséquent, vous devez le faire localement. sur votre machine et donc en 48 00:04:05,260 --> 00:04:10,320 raison des restrictions d'Apple, vous ne pourrez pas créer une application iOS sur Windows ou Linux, c'est donc 49 00:04:10,330 --> 00:04:12,630 une chose à garder à l'esprit également. 50 00:04:12,670 --> 00:04:14,820 Donc, vous faites tout cela par vous-même, vous avez 51 00:04:14,950 --> 00:04:20,320 donc besoin que ces outils soient installés et bien que vous ne les utilisiez pas pour écrire du code, vous devrez les tripoter un 52 00:04:20,320 --> 00:04:27,360 peu et vous les utiliserez pour ensuite créer votre application et déployer à la fin. Ce sont les 53 00:04:27,360 --> 00:04:29,830 alternatives. Maintenant, pour le déploiement, je 54 00:04:29,830 --> 00:04:35,050 vais avoir un module distinct où j'examine comment cela fonctionne avec le flux de travail géré et également sans le flux de 55 00:04:35,050 --> 00:04:36,700 travail géré, donc ce n'est pas quelque 56 00:04:36,820 --> 00:04:39,820 chose sur lequel je vais me concentrer dans ce module, mais plutôt 57 00:04:39,820 --> 00:04:45,130 dans ce module que je veux pour vous montrer comment vous créez une application avec React Native CLI, comment vous la créez 58 00:04:45,140 --> 00:04:50,350 également avec expo dans le flux de travail nu et comment vous pouvez éjecter du flux de travail géré vers le flux 59 00:04:50,350 --> 00:04:51,280 de travail nu. 60 00:04:51,280 --> 00:04:56,560 Nous verrons également comment vous pouvez ajouter des fonctionnalités de périphérique natif dans ces deux alternatives, car 61 00:04:56,590 --> 00:05:00,390 c'est la partie où il diffère principalement du flux de travail géré. 62 00:05:00,540 --> 00:05:05,130 La façon dont vous écrivez vos composants et ainsi de suite et les composants que vous utilisez à partir de React Native, cela ne diffère 63 00:05:05,130 --> 00:05:10,710 pas du tout car il n'y avait rien de spécifique à propos de l'expo. En d'autres termes, si nous jetons un coup 64 00:05:10,710 --> 00:05:14,370 d'œil au projet sur lequel nous avons travaillé plus tôt dans 65 00:05:14,370 --> 00:05:20,100 le cours, ce projet de module natif, essentiellement ce que vous perdrez lorsque vous n'utiliserez pas le flux 66 00:05:20,460 --> 00:05:24,960 de travail géré, ce sont toutes les importations liées à l'expo, tout ce que 67 00:05:25,080 --> 00:05:31,290 vous 'importe de l'expo, c'est quelque chose qui est maintenant plus difficile ou que vous devez maintenant faire différemment. 68 00:05:31,290 --> 00:05:36,540 Si vous n'utilisez pas expo comme dans ce fichier, un tel fichier n'aurait pas besoin de changer du tout, 69 00:05:36,540 --> 00:05:42,120 seuls les fichiers où vous utilisez quelque chose d'expo doivent être ajustés ou doivent être implémentés différemment lorsque vous n'utilisez 70 00:05:42,240 --> 00:05:48,190 pas le flux de travail géré ou pour être précis, vous pourriez ne plus être en mesure d'utiliser certains packages ou vous 71 00:05:48,270 --> 00:05:52,810 pouvez toujours les utiliser et vous n'avez probablement même pas besoin de toucher votre code, mais 72 00:05:52,920 --> 00:05:58,020 pour les utiliser, vous devez effectuer plus de travail de configuration manuelle que nécessaire. faire avec expo et 73 00:05:58,020 --> 00:05:58,910 le workflow géré.