React native新架构组成

React Native 的新架构(New Architecture)引入了一些新的组件和概念,旨在提高性能、增强灵活性和简化跨平台开发。主要组成部分包括:

Fabric:

Fabric Renderer: Fabric 是新的渲染引擎,它旨在取代现有的渲染引擎。与现有渲染引擎相比,Fabric 更高效,并且能够更好地支持异步渲染。

Concurrent Rendering: Fabric 支持并发渲染,使得 React 能够在后台异步计算组件树,并在主线程有空闲时进行渲染。这种方式可以显著提高应用的响应速度和流畅度。

Direct Communication: Fabric 允许更直接的通信途径,从而减少 JavaScript 和原生代码之间的桥接开销。

TurboModules:

TurboModules: 这是新的模块系统,旨在取代现有的原生模块系统。TurboModules 通过 JSI(JavaScript Interface)直接访问原生代码,减少了桥的开销,提供了更高效的模块调用。

Lazy Loading: TurboModules 支持懒加载,仅在需要时加载模块,从而减少启动时间和内存使用。

JSI (JavaScript Interface):

JSI Bridge:

JSI 是一层新的接口,取代了现有的桥接机制。它允许 JavaScript 代码直接调用 C++,以及 C++ 直接调用 JavaScript 函数。这种方式提高了性能和灵活性。

Direct Memory Access: JSI 允许 JavaScript 直接访问内存中的数据,而无需通过桥进行序列化和反序列化。

Codegen:

Code Generation: Codegen 是一个工具,用于自动生成 JavaScript 和原生代码之间的绑定代码。这使得跨平台开发更加方便,并且减少了手动编写绑定代码的错误风险。

Type Safety: Codegen 利用 TypeScript 和 Flow 提供的类型系统,确保生成的代码类型安全,减少运行时错误。

Hermes:

Hermes Engine: Hermes 是一个优化的 JavaScript 引擎,专为 React Native 应用设计。它可以显著减少应用的启动时间和内存使用。

Ahead-of-Time Compilation (AOT): Hermes 支持 AOT 编译,将 JavaScript 代码提前编译成字节码,从而提高执行效率。

总结

React Native 新架构的主要部分包括:

Fabric: 新的渲染引擎,支持并发渲染和更直接的通信。

TurboModules: 新的模块系统,通过 JSI 提供更高效的模块调用。

JSI (JavaScript Interface): 新的接口层,允许 JavaScript 和 C++ 之间的直接调用。

Codegen: 自动生成 JavaScript 和原生代码之间的绑定代码。

Hermes: 一个优化的 JavaScript 引擎,支持 AOT 编译。

这些改进旨在提高 React Native 应用的性能、增强开发体验和简化跨平台开发。

相关推荐
程序员小张丶2 小时前
React Native在HarmonyOS 5.0阅读类应用开发中的实践
javascript·react native·react.js·阅读·harmonyos5.0
EndingCoder2 小时前
React Native 是什么?为什么学它?
javascript·react native·react.js
程序员小张丶3 小时前
基于React Native开发HarmonyOS 5.0主题应用技术方案
javascript·react native·react.js·主题·harmonyos5.0
wen's5 小时前
React Native 弹窗组件优化实战:解决 Modal 闪烁与动画卡顿问题
javascript·react native·react.js
程序员小刘1 天前
如何优化React Native应用以适配HarmonyOS5?
javascript·react native·react.js·华为·harmonyos
哼唧唧_2 天前
使用 React Native 开发鸿蒙(HarmonyOS)运动健康类应用的系统化准备工作
react native·react.js·harmonyos·harmony os5·运动健康
哼唧唧_4 天前
React Native开发鸿蒙运动健康类应用的项目实践记录
react native·harmonyos·harmony os5·运动健康
程序员小刘4 天前
鸿蒙【HarmonyOS 5】 (React Native)的实战教程
react native·华为·harmonyos
烈焰晴天4 天前
使用ReactNative加载Svga动画支持三端【Android/IOS/Harmony】
android·react native·ios
哼唧唧_5 天前
使用 React Native 开发鸿蒙运动健康类应用的高频易错点总结
react native·react.js·harmonyos·harmony os5·运动健康