架构分层和 API 命名

Jetpack Compose A2UI 渲染器定义了一个分层架构,可让您选择合适的层进行构建。除了语义分层之外,清晰的命名方案还可以传达 API 意图并控制可见性,从而避免不必要的内部类型污染类路径。

API 根据使用情形和可见性分为两大类:

  1. 面向应用和组件开发者的 API:旨在直接使用的公共 API 具有简洁明了的名称,并带有 A2ui 前缀(或设计系统和测试前缀,例如 MaterialA2ui 和 A2uiTest)。示例包括 A2uiCatalog、A2uiComponent 和 A2uiException。
  2. 面向界面框架集成者的 API:用于桥接核心数据层和界面框架的库所使用的 API 具有以 A2uiCore 为前缀的描述性名称。这些 API 不适合直接应用引用,并且对标准应用代码保持隐藏状态。例如,A2uiCoreCatalog、A2uiCoreDataModel 和 A2uiCoreSurfaceModel。

由于核心数据层包含这两个类别中的类型,因此它分布在两个单独的制品中:androidx.a2ui:a2ui-model(面向应用开发者)和 androidx.a2ui:a2ui-engine(面向框架集成者)。此结构允许框架库依赖于 a2ui-engine 作为实现依赖项,从而防止 A2uiCore 类型污染公共应用类路径。

类别 1:应用开发者 API

下表列出了面向应用和组件开发者的公共 API。

androidx.a2ui:a2ui-model

类型 说明
A2uiSurfaceModel 表示界面表面的只读接口
A2uiMessageProcessor 用于处理传入消息的入口点类型
A2uiMessageParser 协议消息的解析器接口
A2uiServerToClientMessage 收到的消息载荷
A2uiSchema 用于定义组件属性架构的类型
A2uiException 跨层抛出和处理的异常
A2uiUserAction 因用户互动而创建的操作载荷
A2uiClientToServerMessage 所有出站消息载荷的基本类型
A2uiActionInterceptor 数据层级用户操作拦截器
A2uiFunctionDefinition 本地客户端函数的定义
A2uiDataPath JSON 指针路径表示法

androidx.a2ui.compose:compose-runtime

类型 说明
a2uiRuntimeMessageProcessor 消息处理器的扩展构造函数
A2uiMessageParser 消息解析器的扩展构造函数
A2uiComponentState 表示响应式组件状态的接口
A2uiComponentModel 成功解析的组件的数据模型
A2uiComponentProperties 稳定属性容器优化了重组
A2uiProperty 强类型化组件属性定义
A2uiComponentScope 用于评估绑定和子组件的接收器范围
A2uiComponentReference 用于解析嵌套子组件的指针

androidx.a2ui.compose:compose-ui

类型 说明
A2uiCatalog 用于定义目录的接口和扩展构造函数
A2uiComponent 用于定义 Compose 组件实现的接口
A2uiComponent(可组合) 可组合函数,用于为组件发出界面

androidx.compose.material3:material3-a2ui

类型 说明
A2uiSurface 用于渲染界面的可组合入口点
materialA2uiBasicCatalogV1 用于创建使用 Material 3 组件的基本目录实例的工厂函数
MaterialA2uiBasicCatalogV1Defaults 基本目录的默认 Material 3 实现

androidx.a2ui.compose:compose-ui-testing

类型 说明
A2uiTestController 用于编排测试作业的测试控制器
A2uiComponentStub 存根或替换组件实现
A2uiTestSurface 用于渲染测试界面的可组合函数

类别 2:框架集成器 API

下表列出了面向框架集成者的 API。

androidx.a2ui:a2ui-engine

类型 说明
A2uiCoreCatalog 包含一组 A2uiCoreComponentDefinition 对象
A2uiCoreCatalogSerializer A2UI 目录的序列化程序
A2uiCoreComponentDefinition 包含定义组件的元数据
A2uiCoreSurfaceModel 实现 A2uiSurfaceModel,公开注册表
A2uiCoreSurfaceGroupModel 实现 A2uiSurfaceGroupModel
A2uiCoreMessageProcessor 实现 A2uiMessageProcessor
A2uiCoreDataModel 响应式数据模型持有者
A2uiCoreComponentRegistry 组件注册表
A2uiCoreValueResolver 用于动态评估器的数据访问器
A2uiCoreSchemaValidator 组件架构验证器