返回文章列表

React Native 新架构与跨端性能实践

Fabric 渲染器、TurboModule、JSI 直连、Hermes 引擎与 RN 性能治理的系统化方法。

React Native 新架构(New Architecture)用 Fabric + TurboModule + JSI 替换了旧的 Bridge 异步通信,是 RN 性能质变的基础。

新架构全景

Native 层

JSI 直连

JavaScript 层

React 组件

TurboModule

C++ 桥

Fabric 渲染器

原生模块

旧 Bridge 是异步 JSON 序列化,JSI 是同步 C++ 直连,延迟从毫秒级降到微秒级。

性能治理清单

场景策略目标
启动Hermes + 预加载 + 拆包TTI < 2s
列表FlashList / 纯 JS 优化60fps 滚动
图片FastImage + 缓存内存可控
动画Reanimated 3 原生驱动不阻塞 JS 线程

原生模块开发

// iOS TurboModule 示例(简化)
@interface RCTNativeLocalStorage : NSObject <NativeLocalStorageSpec>
@end

@implementation RCTNativeStorage
RCT_EXPORT_MODULE();

- (NSString *)getItem:(NSString *)key {
  return [[NSUserDefaults standardUserDefaults] stringForKey:key];
}
@end

TurboModule 在编译期生成类型安全的接口,避免旧 NativeModule 的运行时反射开销。

RN vs Flutter 选型

维度React NativeFlutter
语言JS/TS + 原生Dart
渲染原生组件Skia 自绘
团队成本前端友好学习曲线陡
生态npm 丰富pub 增长中
适用已有 React 团队自绘一致性要求高

系列预告

  • RN 热更新与 CodePush 方案
  • Flutter 与 RN 混合开发
  • App 内存泄漏排查实战