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 应用的性能、增强开发体验和简化跨平台开发。

相关推荐
木西1 天前
从0到1搭建一个RN应用从开发测试到上架全流程
android·前端·react native
哇哦谢谢你2 天前
React Native环境配置
前端·react native
getapi2 天前
Flutter和React Native在开发app中,哪个对java开发工程师更适合
java·flutter·react native
武当王丶也6 天前
React Native 状态管理:用 Jotai 替代 useState
前端·react native
武当王丶也6 天前
React Native 本地缓存:react-native-mmkv
前端·react native
武当王丶也6 天前
React Native 设备屏幕尺寸适配:react-native-size-matters
前端·react native
MshengYang_lazy7 天前
React Native离线级联选择器开发手记:当SQLite遇见小区房号选择
前端·react native·sqlite
No Silver Bullet9 天前
React Native进阶(六十一): WebView 替代方案 react-native-webview 应用详解
javascript·react native·react.js
武当王丶也9 天前
React Native 路由导航:React Navigation
react native
ThinkPet10 天前
【003安卓开发方案调研】之ReactNative技术开发安卓
android·react native·react.js