新旧架构的核心区别
“新架构把原来基于 Bridge 的异步 JSON 通信,变成了基于 JSI 的同步直接调用,并拆掉了启动时全量初始化、按需加载模块”。
下面从 6 个维度把差异展开说明。
| 维度 | 旧架构(≤0.67) | 新架构(Fabric + TurboModules) |
|---|---|---|
| 通信模型 | Bridge:JS → JSON → 原生,异步、串行、易阻塞 | JSI:JS 直接持有 C++ HostObject 引用,可同步调用 |
| 渲染管线 | JS 线程 → Shadow 线程 → UI 线程;批量提交,瀑布式延迟 | Fabric 在 C++ 侧维护 ShadowTree,支持增量、并发渲染,接近 60 fps |
| 原生模块加载 | 启动时一次性初始化全部 Native Modules,无论是否用到 | TurboModules 按需懒加载,首次调用时才初始化,启动时间显著缩短 |
| 线程模型 | JS / Shadow / UI 三线程,频繁跨线程通信 | 去掉 Shadow 线程,JS 与 UI 线程可直接同步交互 |
| 类型安全 & 开发体验 | 手写桥接代码,易出类型不匹配;调试靠远程 JS 调试 | Codegen 自动生成类型安全的绑定代码;Flipper 调试链路更清晰 |

最低0.47元/天 解锁文章
893

被折叠的 条评论
为什么被折叠?



