react native 实现原理
React Native 的实现原理
React Native 的核心思想是通过 JavaScript 编写跨平台移动应用,同时保持接近原生应用的性能。其实现原理主要包括以下几个关键部分:
跨平台通信机制
React Native 使用 JavaScriptCore(iOS)或 Hermes(Android)作为 JavaScript 引擎执行 JavaScript 代码。JavaScript 代码通过 Bridge 与原生模块通信,Bridge 负责将 JavaScript 调用转换为原生代码调用,并将结果返回给 JavaScript 层。
虚拟 DOM 与渲染
React Native 利用 React 的虚拟 DOM 机制,通过 JavaScript 计算 UI 变化,然后将差异部分通过 Bridge 传递给原生层。原生层根据这些差异更新实际的 UI 组件,避免了频繁操作原生 UI 带来的性能问题。

原生组件映射
React Native 提供了一套与原生组件对应的 React 组件。例如,<View> 对应 iOS 的 UIView 或 Android 的 View。这些组件在 JavaScript 层声明,最终会被转换为原生组件渲染。
线程模型
React Native 运行在三个主要线程上:UI 线程(主线程)、JavaScript 线程和 Shadow 线程。UI 线程负责原生 UI 渲染,JavaScript 线程执行 JavaScript 代码,Shadow 线程计算布局。

新架构(Fabric 和 TurboModules)
React Native 的新架构引入了 Fabric 和 TurboModules,旨在优化性能并减少 Bridge 的瓶颈。Fabric 直接控制原生 UI 层,TurboModules 提供了更高效的原生模块调用机制。
代码共享与平台特定代码
React Native 允许大部分代码在 iOS 和 Android 之间共享,同时支持通过平台特定扩展(如 .ios.js 或 .android.js)实现平台差异化功能。
这种架构设计使得开发者能够用熟悉的 React 范式开发移动应用,同时获得接近原生的性能和用户体验。






