01|旧桥接时代,后来到底补了多少票?
主线第三篇里,
React Native 最重要的一句已经立住了:
它真正成熟的地方,不是更像原生,而是主动承认原生差异不会消失。
可如果只写到那里, 还是少了一层很关键的后续历史。
因为 React Native 自己后来也承认了:
就算你接受差异,旧中间层的代价还是太高。
这里说的代价, 最典型的就是旧桥接时代长期暴露出来的那些老问题:
- JavaScript 和 native 之间的异步桥接
- 序列化与往返成本
- 高频交互的性能压力
- 渲染与布局相关能力的限制
也就是说, 这篇番外真正要问的已经不是:
“React Native 可不可行?”
而是:
React Native 后来为什么不得不承认:旧桥接本身就是问题。
02|新架构最重要的,不是那堆新名词
后来大家会接触到很多新词:
FabricTurboModulesJSIBridgeless
这些名词当然都重要。
可如果一篇文章只是解释术语, 它就还是停在文档层。
真正更值得写的, 是这些术语背后的历史意味。
你去看 React Native 官方 About the New Architecture, 它说得已经很直接了:
- 旧架构存在限制
- New Architecture unlocks capabilities impossible in the legacy architecture
- asynchronous bridge 被移除,改为基于
JSI
这说明什么?
说明新架构最值得记住的, 不是某个性能跑分。
而是:
官方自己也承认,旧跨端中间层的形态已经成了瓶颈。
这很关键。
因为它等于给主线第三篇做了一个很强的回声:
React Native 当年是靠“收缩承诺”成熟起来的。
而新架构则说明:
光收缩承诺还不够,旧中间层自己的税率也得重写。
03|新架构是在把“桥”降级成问题
写到这里最值得立住的一句, 其实是:
新架构不是让桥更好用,而是让桥不再继续当主角。
旧时代的 React Native,
很多问题最后都会绕回桥接:
- JS 和 native 的调用如何过桥
- 数据如何过桥
- 渲染和布局如何过桥
- 高频操作为什么一过桥就变慢
而新架构最关键的一步, 恰恰就是在慢慢改变这个格局。
官方给出的叙述很明确:
JSI用来替代旧异步 bridgeFabric是新的 rendererTurboModules改写原生模块的交互方式
这代表什么?
代表 React Native 自己终于把一个很深的现实讲明白了:
跨端真正贵的,不只是宿主差异。
还有那层负责把两边世界缝起来的中间管道。
所以新架构最深的历史意义, 不是“更现代”。
而是:
它把旧桥接从解决方案,重新命名成了问题本身。
04|性能上来了,新账也跟着来了
如果把这一篇写成:
“新架构来了,旧问题解决了。”
那也还是会失真。
因为跨端史从来没有这种圆满。
新架构当然带来了很重要的变化:
- 更快的 JS / native 交互
- 对并发渲染等更现代 React 能力的支持
- 某些过去难以实现的体验成为可能
可与此同时, 它也会带来新的账单:
- 应用迁移成本
- 生态库适配成本
- 社区理解门槛变高
- 旧世界和新世界并存一段时间的复杂度
这其实非常符合整套《跨端江湖》的母线。
因为它再次证明:
复杂度没有消失。
它只是从:
“旧桥接如何扛性能账”
挪到了:
“整个生态如何升级到新的中间层结构”
所以新架构不是神奇翻篇。
它只是:
把旧账重写成了新账。
05|回头看,新架构到底在承认什么?
回头看 React Native 新架构, 最不该只记住的, 不是它默认开启于哪个版本。
更该记住的是这句:
React Native 新架构不是简单变快,而是官方终于承认:旧桥接时代本身就是一个阶段性妥协。
这件事最有历史意味的地方,
不是 Fabric、TurboModules 这些名字本身。
而是 Meta 终于等于亲口承认:
旧桥不是修修补补就能继续扛下去,它已经从解决方案变成问题本身了。
所以新架构当然是在提速, 但它更深一层其实是在补票。
它是在给早年那套“JavaScript 和原生世界可以靠一座桥稳定缝很久”的想象补票。
桥没完全消失, 只是再也不能像从前那样被当成理所当然了。
编者注(事实核对):文中关于 React Native 新架构、旧异步 bridge 的限制、JSI、Fabric、TurboModules 和新架构带来的能力变化,主要依据 React Native 官方文档 About the New Architecture。其中“新架构并非只是性能优化,而是对旧中间层结构的重写”属于基于官方问题定义与架构变化作出的历史判断。
参考与延伸阅读
About the New Architecture · React Native
https://reactnative.dev/architecture/landing-pageFabric Native Components Introduction
https://reactnative.dev/architecture/fabric-rendererTurbo Native Modules Introduction
https://reactnative.dev/architecture/turbo-modulesJavaScript Interface (JSI) overview
https://reactnative.dev/architecture/glossary#javascript-interfaces-jsi