88 votes

Est-ce que React Native compile JavaScript en Java pour Android?

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?

117voto

Marc Points 739

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.

26voto

Gurdev Singh Points 1454

Le code reste le code JavaScript natif et n'est converti dans aucun autre format. Les applications hybrides s'exécutent dans le conteneur natif, qui appelle le moteur d'exécution JavaScript, qui prend en charge l'exécution du code JavaScript. J'espère que cela clarifie la question.

10voto

Morteza Points 354

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:

  1. 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.

  2. 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.

1voto

N.SH Points 1

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X