Je ne veux pas non plus cacher que React Native est une cible qui évolue
rapidement, nous avons de nouvelles versions publiées presque tous les mois.
Des changements de rupture se produisent et bien sûr, je ferai de mon mieux pour maintenir ce cours à
jour pour vous informer des changements et de la façon d'ajuster votre code, mais parfois, il vous suffit de revenir à
une application que vous avez créée il y a six mois et vous devez changer quelque chose parce que quelque
chose a changé dans la
dernière version de React Native et pour continuer à travailler sur votre application, vous devez changer quelque chose dans le code
qui fonctionnait
auparavant, c'est normal, cela
arrivera, pas tous les pas tous les mois, mais cela arrivera. Toujours dans React Native, vous avez généralement
une forte dépendance à l'égard des packages tiers.
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
tel wrapper avec beaucoup de fonctionnalités intéressantes intégrées, donc
vous avez une forte dépendance à expo lorsque vous travaillez avec cela, mais vous n'avez pas à trouver
des dizaines d'autres packages tiers pour accéder à la caméra, pour travailler avec Bluetooth ou quelque chose comme ça.
Si vous construisez une application React Native nue, ce serait
différent, seul un ensemble de fonctionnalités de base est intégré à React Native et pour la
plupart des choses que vous souhaitez ajouter à votre application native, vous devrez contacter d'autres packages gérés par
la communauté pour les faire fonctionner et
même avec expo, nous aurons besoin de quelques packages tiers pour avoir tout ce que nous voulons.
Et c'est quelque chose que vous avez, vous avez cette dépendance et cela signifie bien sûr que
si ces packages changent ou ne sont plus maintenus, vous devez trouver des alternatives ou vous devez mettre à jour votre code,
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
pratiquement n'importe
quelle application avec React Native mais parfois, les choses ne fonctionnent tout simplement pas comme vous vous attendez à ce
qu'elles fonctionnent et vous devez faire preuve de créativité, trouver des solutions de contournement et ainsi de
suite et dans ce cours, je vais également vous montrer certaines de ces choses étranges que React Native a, mais en
général, lorsque vous créez des applications React Native, vous devez être prêt à rester à jour, à utiliser Google, à plonger dans les
discussions sur les problèmes et à simplement essayer des choses. Avec expo, vous avez une expérience de développement assez
fluide, mais la route peut être cahoteuse de temps en temps. Maintenant, cela peut sembler assez mauvais, alors ne devriez-vous
pas apprendre React Native alors? Eh bien, jetons un œil aux alternatives.
Bien sûr, une alternative consiste toujours à créer de véritables applications natives avec le cadre Android
pour Java ou Kotlin ou avec Swift, ObjectiveC pour iOS.
Vous pouvez le faire, mais bien sûr, l'inconvénient est que vous devez apprendre ces langues et l'énorme avantage de travailler
dans un projet et de partager beaucoup de code sera totalement perdu. Dans les applications React Native, bien sûr, vous
devrez probablement adapter votre code à la plate-forme sur laquelle vous exécutez de temps
en temps, mais la grande majorité de votre base de code peut être partagée et réutilisée sans aucun ajustement.
Si vous utilisez les langages natifs de la plate-forme, vous devez certainement travailler sur deux projets totalement
différents et vous ne pourrez pas réutiliser beaucoup de code. Vous pouvez également créer une application Web progressive, c'est
une
application Web normale qui utilise certaines fonctionnalités qui la font ressembler à une application mobile, mais elle n'est pas
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
si ce n'est pas le cas, votre application ne fonctionne pas aussi bien.
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
vous distribuez via les app stores avec les technologies web. En fin de compte, Ionic prend une application
Web normale et l'enveloppe dans une application native, donc elle ne compile rien, elle l'enveloppe simplement et c'est une
bonne approche, j'aime Ionic en fait et il peut être
parfait pour beaucoup d'applications mais bien sûr, un inconvénient possible est que les performances peuvent être pires parce
que vous avez juste une application web enveloppée, vous n'avez pas d'application native
compilée et c'est quelque chose que vous avez avec React Native bien sûr et puisque nous avons globalement
des outils et nous pouvons acquérir des connaissances qui nous aide à surmonter les défis que React Native pose parfois,
React Native est un excellent moyen de créer des applications natives. Vous pouvez partager un code, vous obtenez de grandes
performances, vous pouvez le distribuer via les app stores, c'est plutôt sympa.
Maintenant, une note latérale, vous avez également des alternatives comme Flutter ou Native Script, ces alternatives suivent
une approche similaire à React Native, vous obtenez une application compilée là-bas, ils utilisent simplement
différents langages de programmation, différents cadres et attachés, vous trouverez un lien vers une vidéo de
comparaison où je compare toutes ces alternatives au cas où vous souhaiteriez approfondir ce sujet.