1. React Native 的 New Architecture(Fabric/TurboModules/Hermes)
React Native 的 New Architecture 由哪几部分组成?Fabric、TurboModules 与 Hermes 各自解决了什么问题,迁移到新架构需要关注哪些工程点?
- Fabric 渲染器与旧版 ShadowTree 的区别
- TurboModules 对 Native Modules 通信的性能改进
- Hermes 引擎与 JSI 在启动与运行时的价值
New Architecture 由三部分构成:Fabric 渲染器、TurboModules 与 JSI(JavaScript Interface),并由 Hermes 作为默认引擎。Fabric 将渲染管线重构为基于 C++ 的跨平台共享实现,支持同步渲染、优先级渲染(React 并发特性)与更精确的布局提交,解决了旧架构中 JS 与原生之间"bridge 批量异步传值"导致的首帧延迟和事件抖动。TurboModules 取代旧 NativeModules 体系,通过 JSI 实现方法级懒加载与强类型接口定义(codegen 自动生成),减少启动时全量加载原生模块的开销。Hermes 作为为 RN 预编译优化的 JS 引擎,配合字节码预编译与快照显著降低启动时间。
回答本题应先明确"三件套"各自的职责边界:Fabric 管渲染、TurboModules 管模块调用、Hermes 管 JS 执行,JSI 是连接 JS 与 C++ 的无桥接通道。再补充迁移要点:新架构要求原生模块按 TurboModule 规范改造、使用 codegen 生成接口、并处理 Fabric 下自定义 View 与事件系统的差异,体现从"理解概念"到"工程落地"的完整认知。