文章目录
React Native(RN)是 Meta 开源的 跨平台移动应用开发框架,基于 JavaScript 和 React 生态,通过 原生组件渲染 和 桥接通信机制 实现接近原生的性能与体验,核心价值在于 开发效率高、跨端代码复用率高 和 生态完善,适用于快速迭代的中复杂度移动应用。
一、核心架构与运行机制
1. 跨平台原理
- JS 线程与原生线程分离:
- JS 线程:运行 JavaScript 逻辑(如事件处理、状态管理)。
- 原生线程:处理 UI 渲染、系统 API 调用(如相机、传感器)。
- 通信桥梁:通过 Bridge 异步序列化 JSON 消息实现跨线程通信。
2. 渲染流程
- 虚拟 DOM 差异计算:React 生成组件树差异(Diffing)。
- Shadow Tree:转换为平台无关的布局描述(Yoga 引擎计算布局)。
- 原生视图更新:通过 UIManager 调用 iOS/Android 原生组件渲染。
3. 新架构(Fabric/TurboModules)
- JSI(JavaScript Interface):替代 Bridge,实现 JS 与原生直接通信(同步调用,性能提升)。
- TurboModules:延迟加载原生模块,减少启动时间。
- Fabric 渲染器:多线程渲染优化,列表滚动更流畅。
二、核心优势与适用场景
优势 | 技术实现 | 典型场景 |
---|---|---|
跨平台代码复用 | 共享 80%+ 代码(业务逻辑、组件) |