Lorsque je développe des applications hybrides avec React Native. Le code JavaScript que j'écris se transforme-t-il en Java-Code ou Java-Bytecode pour Dalvik / ART Runtime lorsque je crée une application Android à partir de mon code React Native? Ou simplement les composants d'interface utilisateur sont-ils compilés en composants d'interface utilisateur natifs? Ou bien une bibliothèque telle que l'API Fetch compile-t-elle le code JavaScript en Java-Code ou Java-Bytecode?
Réponses
Trop de publicités?Essentiellement, vous devez écrire du code Javascript. Le Javascript communique avec les composants natifs (Java sur Android, Objective-C pour iOS, C# sur Windows).
La communication se fait par la soi-disant "pont". Si à tout moment vous vous sentez que cette communication ralentit les choses trop, vous pouvez choisir de mettre en œuvre la fonctionnalité Javascript en Java, Objective-C ou C#, respectivement, afin d'exécuter purement indigène. Dans ce cas, on écrit directement en code natif, donc il n'y a pas de Javascript natif de la compilation.
Ce sera le sacrifice de compatibilité pour la performance. Normalement, ce n'est pas nécessaire.
Basé sur "Réagir Faite Natif Facile" livre:
Essentiellement, Réagir Natif peut être considérée comme un ensemble de Réagir composants, où chaque élément représente le natif correspondant points de vue et des composants.
Il y a aussi deux pièces de Réagir Natif de l'architecture:
Code natif/Modules: la Plupart du code natif dans le cas d'iOS est écrit en Objective C ou Swift, tandis que dans le cas d'Android, il est écrit en Java. Mais pour l'écriture de notre Réagir application Native, nous aurions à peine jamais besoin d'écrire du code natif pour iOS ou Android.
VM Javascript: La JS Machine Virtuelle qui s'exécute tous nos code JavaScript. Sur iOS/Android simulateurs et des dispositifs de Réagir Natif utilise JavaScriptCore, qui est le moteur JavaScript qui alimente Safari. JavaScriptCore est JavaScript open source du moteur à l'origine construit pour WebKit. Dans le cas d'iOS, de Réagir Natif utilise le JavaScriptCore fournis par la plate-forme iOS. Il a d'abord été introduit dans l'iOS 7 avec OS X Mavericks.
Et pour la communication entre ces parties:
Réagir Natif de Pont: Réagir Natif de pont est un C++/Java bridge qui est responsable pour la communication entre le natif et le Javascript fil de discussion. Un protocole personnalisé est utilisé pour la transmission de message.
reat native fonctionne comme un wrapper, par exemple si vous voulez mettre un bouton dans votre mise en page, vous mettez simplement une balise de bouton dans la mise en page mais ce bouton provient d'un bouton android natif et vous utilisez simplement une API spécifique du module d'interface utilisateur appelée react-native. vous pouvez créer votre module natif personnalisé et l'utiliser facilement dans votre projet natif de réaction.