아키텍처 레이어링 및 API 이름 지정

Jetpack Compose A2UI 렌더러는 빌드할 적절한 레이어를 선택할 수 있는 계층화된 아키텍처를 정의합니다. 시맨틱 레이어링 외에도 명확한 명명 규칙은 API 의도를 전달하고 가시성을 제어하여 불필요한 내부 유형으로 클래스 경로가 오염되지 않도록 합니다.

API는 사용 사례와 가시성에 따라 두 가지 기본 카테고리로 구성됩니다.

  1. 앱 및 구성요소 개발자를 위한 API: 직접 사용하기 위한 공개 API는 A2ui 접두사(또는 디자인 시스템 및 테스트 접두사(예: MaterialA2ui, A2uiTest))가 있는 명확하고 간결한 이름을 사용합니다. 예로는 A2uiCatalog, A2uiComponent, A2uiException이 있습니다.
  2. UI 프레임워크 통합자를 위한 API: 핵심 데이터 영역과 UI 프레임워크를 연결하는 라이브러리에서 사용하는 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 UI 표시를 나타내는 읽기 전용 인터페이스
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 (구성 가능) 구성요소의 UI를 내보내는 컴포저블 함수

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 구성요소 스키마 검사기