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. React native架构组成

    2024-06-14 11:46:08       26 阅读
  2. Web组成架构

    2024-06-14 11:46:08       27 阅读
  3. Python爬虫---Scrapy架构组成

    2024-06-14 11:46:08       64 阅读
  4. 能源汽车结构组成

    2024-06-14 11:46:08       49 阅读
  5. react 为什么要重构架构

    2024-06-14 11:46:08       54 阅读
  6. ReactReact表单组件

    2024-06-14 11:46:08       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-14 11:46:08       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-14 11:46:08       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-14 11:46:08       82 阅读
  4. Python语言-面向对象

    2024-06-14 11:46:08       91 阅读

热门阅读

  1. hive split 特殊用法

    2024-06-14 11:46:08       28 阅读
  2. k8s 证书更新

    2024-06-14 11:46:08       32 阅读
  3. Cesium4Unreal - # 009 直接加载显示shapefile

    2024-06-14 11:46:08       35 阅读
  4. 对iOS开发中的链接器ld64和-ld_classic的深入理解

    2024-06-14 11:46:08       39 阅读
  5. 策略模式(设计模式)

    2024-06-14 11:46:08       28 阅读
  6. apex触发器满足条件时弹出对话框

    2024-06-14 11:46:08       30 阅读
  7. TCP标志

    2024-06-14 11:46:08       33 阅读
  8. ISBN查询图书api接口

    2024-06-14 11:46:08       30 阅读
  9. XXE漏洞详解:从基础到防御

    2024-06-14 11:46:08       32 阅读
  10. Python爬虫获取古诗文网中的古诗文

    2024-06-14 11:46:08       26 阅读