Alors maintenant que nous savons ce
qu'est React Native, jetons un bref coup d'œil dans les coulisses.
Maintenant, comme je l'ai mentionné, avec React et React Native, nous créons une application et notre code ressemble généralement
à ceci.
Nous construisons des composants React normaux comme vous le savez sur le Web avec Javascript car Javascript est le langage
que nous utilisons pour créer des applications React
Native, mais là-bas, nous utilisons des composants spéciaux comme la vue et le texte ici.
Ce ne sont pas vos éléments HTML normaux car les éléments HTML normaux ne sont
pas pris en charge, les plateformes natives ne savent pas comment les utiliser, donc vous utilisez des composants
spéciaux qui vous sont fournis par React Native pour lesquels React Native est capable de les traduire
en instructions les plates-formes natives comprennent, c'est ainsi que cela fonctionne.
Maintenant, il est important de comprendre que vos vues, donc les composants avec lesquels vous travaillez, sont finalement
compilés en vrais widgets natifs, en vrais éléments natifs, en vrai code natif. Votre code Javascript où vous gérez votre logique métier ne
sera pas compilé mais vos vues le seront et cela signifie également que vous obtenez
généralement de bonnes performances lors de la création d'applications React Native car le résultat est une véritable
application native où une grande partie de la le code est un vrai code natif.
Maintenant, si nous examinons de plus près ce composant, il est important de comprendre que vous
pouvez bien sûr utiliser React pour créer des applications Web, mais que vous pouvez également créer des applications natives pour Android
et iOS avec du code natif, donc sans React Native ou que vous peut utiliser React Native, ce sont donc
quatre façons différentes de créer des applications où, bien sûr, React pour le Web ne nous donnera pas une application
native, mais simplement pour comparer comment cela serait lié.
Donc, si vous utilisez React pour le Web, vous travaillez généralement avec, disons, une div pour structurer votre contenu.
Si vous travailliez directement avec Android,
donc vous créeriez votre application dans Android Studio sans React Native du tout, vous travailleriez avec une vue Android
par exemple, ce serait un widget que vous pouvez utiliser là dans l'interface utilisateur que vous construisez
directement avec les fonctionnalités de la plateforme native pour structurer votre contenu. Sur iOS, ce serait le widget de vue de l'interface utilisateur et vous n'avez
pas besoin de mémoriser ces
termes, je veux juste expliquer comment React Native traduit les choses pour vous parce que dans les applications
React Native, vous utilisez réellement l'élément view.
Maintenant, si vous regardez cet élément de vue, vous voyez bien sûr qu'il est très similaire
à l'élément div, il ressemble
à une balise HTML, la différence est bien sûr qu'il commence par un caractère majuscule et que la vue n'est
pas une balise HTML , le navigateur ne sait pas quoi faire avec une vue, mais React Native le
fait et React Native traduira cette vue vers la vue Android ou la vue de l'interface utilisateur pour vous et il le fait bien
sûr non seulement pour ce composant de wrapper général, mais par exemple, si vous récupérez une entrée utilisateur, sur le Web, vous
le feriez avec l'élément d'entrée, si vous construisez une application Android native, vous utiliserez le texte d'édition,
pour une application iOS native, vous utiliserez le champ de texte de l'interface utilisateur et dans React Native, il
y a le composant de saisie de texte, encore une fois React Native le compile pour les widgets natifs pour vous
et c'est ainsi que React Native fonctionne en arrière-plan. Bien sûr, nous ne nous soucions pas du Web dans
ce cours ici, juste pour que vous compreniez qu'il y a des similitudes, nous utilisons ces balises qui ressemblent à des balises HTML mais bien
sûr, la différence importante est que ce sont des composants spéciaux compilés au code natif. Maintenant, comme je l'ai déjà mentionné, il est important de
comprendre que pour l'interface utilisateur, React Native vous donne des composants spéciaux qui sont ensuite compilés pour
une utilisation native, pour votre autre
logique, donc si vous utilisez Redux ou si vous avez une logique métier, vous '' En envoyant
des requêtes HTTP, vous transformez des données, tous vos autres codes Javascript ne sont pas compilés en code natif mais à la place, ils
s'exécutent sur un thread spécial hébergé par React Native. Vous pouvez donc imaginer votre application React Native que vous
obtenez au final comme une véritable application native, car elle en est une, où toutes les vues ont
été compilées en widgets natifs mais où il y a une mini-application supplémentaire à l'intérieur de votre application, un mini Javascript application qui s'exécute là-bas,
hébergée et démarrée par React Native pour ainsi dire, qui exécute tout votre code Javascript et votre code Javascript peut ensuite parler à
la plate-forme native.
Vous pouvez l'imaginer comme ceci ici, vous avez votre code, votre application et vous créez une application native et qui
s'exécute sur une plate-forme native et bien sûr là-bas, vous avez certaines fonctionnalités de plate-forme disponibles comme par exemple
en utilisant l'appareil photo de l'appareil.
Maintenant, comme déjà mentionné, votre code peut être divisé en deux choses ici - vos vues
et votre logique métier, donc l'autre code Javascript. Maintenant, comme déjà mentionné plusieurs fois, vos vues
sont compilées en vues natives, en widgets natifs pour ces plates-formes et votre code est cependant conservé en tant que code Javascript et vous pouvez
exploiter les fonctionnalités de la plate-forme native comme la caméra car votre code Javascript s'exécute dans un environnement virtuel spécial
à la fin, tourné et hébergé par React Native à l'intérieur de votre application, donc la
bonne partie ici est tout à l'intérieur de notre application native que nous expédions aux app stores et que le
code Javascript, cette machine virtuelle Javascript, sait parler aux fonctionnalités de la plate-forme native, donc au système
d'exploitation sur lequel votre application s'exécute à la fin via un pont spécial
que vous pourriez dire et ce pont et cette machine virtuelle, tout cela est automatiquement fourni par React Native.
Vous n'avez pas à
vous en soucier, tout ce que vous faites est d'écrire votre application React Native avec Javascript et avec ces composants spéciaux et c'est tout ce que
vous devez savoir pour le moment,
voici comment une application React Native fonctionne en arrière-plan et je il est important d'en être conscient, car cela enlève une partie de
la magie dans un sens positif, car vous comprenez ce que vous écrivez réellement et ce qui se passera avec votre code
et comment ce code se retrouve dans une application native et bien sûr, vous comprenez
également que vous avez finalement une vraie application native. Tout votre code n'est pas compilé, ce
serait assez
impossible, mais vos vues sont compilées et bien sûr, les vues, donc la partie que l'utilisateur voit,
est la partie la plus importante en matière de performances pour une application, car le rendu de
l'interface utilisateur et tout cela, c'est
généralement la partie exigeante en performances et donc c'est très bien que cela soit compilé
et c'est l'une des grandes forces de React Native.