React Native 是否将 JavaScript 编译为 Java for Android?

当我使用 React Native 开发混合应用程序时。当我从我的 React Native 代码创建 Android-App 时,我编写的 JavaScript 代码是否会转换为 Dalvik/ART 运行时的 Java-Code 或 Java-Bytecode?或者只是将 UI 组件编译为本机 UI 组件?或者像Fetch API这样的库是否将JavaScript代码编译为Java-Code或Java-Bytecode?


答案 1

基本上,你写Javascript。Javascript与原生组件(Android上的Java,iOS上的Objective C,Windows上的C#)进行通信。

通信通过所谓的“桥梁”进行。如果在任何时候你觉得这种沟通太慢了,你可以选择分别在Java、Objective C或C#中实现Javascript功能,以便纯粹运行原生。在本例中,您直接在本机代码中编写,因此没有 Javascript 到本机编译。

这将牺牲性能的兼容性。通常,这不是必需的。

  • 进一步阅读

了解 React Native 桥接器概念


答案 2

该代码仍然是 JavaScript 本机代码,不会转换为任何其他格式。混合应用程序在本机容器应用程序内运行,该应用程序调用JavaScript运行时引擎,该引擎负责执行JavaScript代码。我希望这能澄清这个问题。