GaiaX的架构设计分为哪几层

阿里云服务器

GaiaX的架构设计主要分为三层,这些层次的设计旨在提升系统的可扩展性、高内聚性和低耦合性,以满足业务和技术上的需求。以下是这三层的具体介绍:

1. 基础依赖层

功能描述:基础依赖层是GaiaX架构中最底层的一层,它包含了支撑整个系统运行所必需的基础组件和库。

关键组件:在基础依赖层中,有一个重要的模块是Stretch,这是一个基于Rust语言编写的跨平台FlexBox布局计算库。Stretch通过传入节点树和视口尺寸,能够计算出各个节点的基于绝对布局的坐标信息(如宽、高、X轴Y轴偏移量),这是GaiaX实现跨平台渲染的关键技术之一。

2. 核心层

功能描述:核心层是GaiaX架构中的核心部分,它包含了处理模板数据、解析与转换模板、渲染视图等关键功能的模块。

关键模块:

模板数据管理模块:负责模板文件的读取、缓存和数据源管理。由于模板文件的读取和解析是耗时操作,该模块通过缓存机制来优化性能。

模板解析与转换模块:包含模板解析、转换、表达式处理、动画处理等子模块。该模块将模板文件(如index.json、index.css、index.databinding)解析成内部可操作的数据结构,并进行必要的转换和处理。

渲染模块:负责将解析后的模板数据转换成最终的视图组件。该模块包括节点与布局模块和视图与渲染模块,前者处理节点的定义、节点树的创建和更新等,后者则负责视图树的创建、样式设置、数据绑定等。

3. 服务层

功能描述:服务层是GaiaX架构的最上层,它提供了对外服务的接口和可扩展性支持。

关键模块:

引擎模块:包含统一对外的API,方便业务接入。例如,提供createView和bindData等核心方法,用于创建视图组件和绑定数据。

扩展模块:提供了丰富的扩展功能,如表达式扩展、Lottie动画扩展、事件扩展等,以满足不同业务场景的需求。这些扩展功能使得GaiaX更加灵活和强大。

综上所述,GaiaX的架构设计通过分层的方式,将系统的不同功能组件进行了合理的划分和组合,既保证了系统的稳定性和可扩展性,又降低了各组件之间的耦合度,提升了整体的开发效率和运行性能。