1 00:00:02,460 --> 00:00:06,610 Je ne veux pas non plus cacher que React Native est une cible qui évolue 2 00:00:06,660 --> 00:00:10,010 rapidement, nous avons de nouvelles versions publiées presque tous les mois. 3 00:00:10,110 --> 00:00:15,480 Des changements de rupture se produisent et bien sûr, je ferai de mon mieux pour maintenir ce cours à 4 00:00:15,480 --> 00:00:21,210 jour pour vous informer des changements et de la façon d'ajuster votre code, mais parfois, il vous suffit de revenir à 5 00:00:21,210 --> 00:00:26,610 une application que vous avez créée il y a six mois et vous devez changer quelque chose parce que quelque 6 00:00:26,610 --> 00:00:28,170 chose a changé dans la 7 00:00:28,170 --> 00:00:33,930 dernière version de React Native et pour continuer à travailler sur votre application, vous devez changer quelque chose dans le code 8 00:00:33,930 --> 00:00:34,800 qui fonctionnait 9 00:00:34,800 --> 00:00:35,850 auparavant, c'est normal, cela 10 00:00:35,850 --> 00:00:41,800 arrivera, pas tous les pas tous les mois, mais cela arrivera. Toujours dans React Native, vous avez généralement 11 00:00:41,820 --> 00:00:45,120 une forte dépendance à l'égard des packages tiers. 12 00:00:45,120 --> 00:00:51,600 Maintenant, la bonne chose est lorsque vous travaillez avec expo, ce n'est que partiellement vrai car expo est déjà lui-même un 13 00:00:51,600 --> 00:00:54,690 tel wrapper avec beaucoup de fonctionnalités intéressantes intégrées, donc 14 00:00:54,690 --> 00:01:00,060 vous avez une forte dépendance à expo lorsque vous travaillez avec cela, mais vous n'avez pas à trouver 15 00:01:00,060 --> 00:01:05,950 des dizaines d'autres packages tiers pour accéder à la caméra, pour travailler avec Bluetooth ou quelque chose comme ça. 16 00:01:06,030 --> 00:01:09,200 Si vous construisez une application React Native nue, ce serait 17 00:01:09,290 --> 00:01:14,060 différent, seul un ensemble de fonctionnalités de base est intégré à React Native et pour la 18 00:01:14,100 --> 00:01:19,320 plupart des choses que vous souhaitez ajouter à votre application native, vous devrez contacter d'autres packages gérés par 19 00:01:19,320 --> 00:01:21,550 la communauté pour les faire fonctionner et 20 00:01:21,570 --> 00:01:26,600 même avec expo, nous aurons besoin de quelques packages tiers pour avoir tout ce que nous voulons. 21 00:01:26,700 --> 00:01:31,350 Et c'est quelque chose que vous avez, vous avez cette dépendance et cela signifie bien sûr que 22 00:01:31,350 --> 00:01:37,300 si ces packages changent ou ne sont plus maintenus, vous devez trouver des alternatives ou vous devez mettre à jour votre code, 23 00:01:37,440 --> 00:01:44,400 c'est donc quelque chose que vous devez également être conscient de. Et React Native a également quelques bugs, pas cruciaux, vous pouvez créer 24 00:01:44,400 --> 00:01:45,360 pratiquement n'importe 25 00:01:45,390 --> 00:01:51,270 quelle application avec React Native mais parfois, les choses ne fonctionnent tout simplement pas comme vous vous attendez à ce 26 00:01:51,270 --> 00:01:56,360 qu'elles fonctionnent et vous devez faire preuve de créativité, trouver des solutions de contournement et ainsi de 27 00:01:56,430 --> 00:02:02,640 suite et dans ce cours, je vais également vous montrer certaines de ces choses étranges que React Native a, mais en 28 00:02:02,730 --> 00:02:09,420 général, lorsque vous créez des applications React Native, vous devez être prêt à rester à jour, à utiliser Google, à plonger dans les 29 00:02:09,420 --> 00:02:15,690 discussions sur les problèmes et à simplement essayer des choses. Avec expo, vous avez une expérience de développement assez 30 00:02:15,720 --> 00:02:22,770 fluide, mais la route peut être cahoteuse de temps en temps. Maintenant, cela peut sembler assez mauvais, alors ne devriez-vous 31 00:02:22,800 --> 00:02:27,100 pas apprendre React Native alors? Eh bien, jetons un œil aux alternatives. 32 00:02:27,220 --> 00:02:33,580 Bien sûr, une alternative consiste toujours à créer de véritables applications natives avec le cadre Android 33 00:02:33,580 --> 00:02:37,710 pour Java ou Kotlin ou avec Swift, ObjectiveC pour iOS. 34 00:02:38,290 --> 00:02:43,180 Vous pouvez le faire, mais bien sûr, l'inconvénient est que vous devez apprendre ces langues et l'énorme avantage de travailler 35 00:02:43,180 --> 00:02:49,330 dans un projet et de partager beaucoup de code sera totalement perdu. Dans les applications React Native, bien sûr, vous 36 00:02:49,330 --> 00:02:54,460 devrez probablement adapter votre code à la plate-forme sur laquelle vous exécutez de temps 37 00:02:54,460 --> 00:03:01,330 en temps, mais la grande majorité de votre base de code peut être partagée et réutilisée sans aucun ajustement. 38 00:03:01,330 --> 00:03:06,520 Si vous utilisez les langages natifs de la plate-forme, vous devez certainement travailler sur deux projets totalement 39 00:03:06,520 --> 00:03:12,790 différents et vous ne pourrez pas réutiliser beaucoup de code. Vous pouvez également créer une application Web progressive, c'est 40 00:03:12,790 --> 00:03:13,210 une 41 00:03:13,240 --> 00:03:19,300 application Web normale qui utilise certaines fonctionnalités qui la font ressembler à une application mobile, mais elle n'est pas 42 00:03:19,300 --> 00:03:26,230 distribuée via les magasins d'applications et dépend des utilisateurs utilisant un navigateur qui prend en charge les fonctionnalités. que vous utilisez et 43 00:03:26,230 --> 00:03:30,550 si ce n'est pas le cas, votre application ne fonctionne pas aussi bien. 44 00:03:30,560 --> 00:03:38,790 La troisième alternative est que vous utilisez Ionic ou une solution similaire, Ionic est un outil ou un framework qui vous permet de créer de vraies applications natives que 45 00:03:38,820 --> 00:03:44,790 vous distribuez via les app stores avec les technologies web. En fin de compte, Ionic prend une application 46 00:03:44,790 --> 00:03:50,550 Web normale et l'enveloppe dans une application native, donc elle ne compile rien, elle l'enveloppe simplement et c'est une 47 00:03:50,550 --> 00:03:53,700 bonne approche, j'aime Ionic en fait et il peut être 48 00:03:53,700 --> 00:03:59,320 parfait pour beaucoup d'applications mais bien sûr, un inconvénient possible est que les performances peuvent être pires parce 49 00:03:59,340 --> 00:04:03,290 que vous avez juste une application web enveloppée, vous n'avez pas d'application native 50 00:04:03,330 --> 00:04:09,030 compilée et c'est quelque chose que vous avez avec React Native bien sûr et puisque nous avons globalement 51 00:04:09,030 --> 00:04:15,060 des outils et nous pouvons acquérir des connaissances qui nous aide à surmonter les défis que React Native pose parfois, 52 00:04:15,090 --> 00:04:22,080 React Native est un excellent moyen de créer des applications natives. Vous pouvez partager un code, vous obtenez de grandes 53 00:04:22,260 --> 00:04:26,150 performances, vous pouvez le distribuer via les app stores, c'est plutôt sympa. 54 00:04:26,280 --> 00:04:32,160 Maintenant, une note latérale, vous avez également des alternatives comme Flutter ou Native Script, ces alternatives suivent 55 00:04:32,160 --> 00:04:37,770 une approche similaire à React Native, vous obtenez une application compilée là-bas, ils utilisent simplement 56 00:04:37,770 --> 00:04:43,440 différents langages de programmation, différents cadres et attachés, vous trouverez un lien vers une vidéo de 57 00:04:43,440 --> 00:04:49,050 comparaison où je compare toutes ces alternatives au cas où vous souhaiteriez approfondir ce sujet.