שכבות ארכיטקטוניות ושמות של ממשקי API

רכיב ה-renderer של Jetpack Compose A2UI מגדיר ארכיטקטורה שכבתית שמאפשרת לכם לבחור את השכבה המתאימה לבנייה. בנוסף לשכבות סמנטיות, תוכנית שמות ברורה מעבירה את הכוונה של ה-API ושולטת בחשיפה כדי למנוע זיהום של נתיב המחלקה עם סוגים פנימיים מיותרים.

ממשקי ה-API מאורגנים בשתי קטגוריות עיקריות על סמך תרחיש השימוש והחשיפה:

  1. APIs למפתחי אפליקציות ורכיבים: ל-APIs ציבוריים שמיועדים לשימוש ישיר יש שמות ברורים ותמציתיים עם הקידומת A2ui (או קידומות של מערכת עיצוב ובדיקות כמו MaterialA2ui ו-A2uiTest). דוגמאות כוללות את A2uiCatalog,‏ A2uiComponent ו-A2uiException.
  2. APIs למפתחים של מסגרות ממשק משתמש: ממשקי 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 מטען ייעודי (payload) של הודעה נכנסת
A2uiSchema סוגים שמשמשים להגדרת סכימות של מאפייני רכיבים
A2uiException חריגים שמופעלים ומטופלים בשכבות שונות
A2uiUserAction Action payload created as a result of user interactions
A2uiClientToServerMessage סוג הבסיס של כל מטען ייעודי (payload) של הודעות יוצאות
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 פונקציית Factory ליצירת מופע של קטלוג בסיסי שמשתמש ברכיבי 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 Component registry
A2uiCoreValueResolver כלי לגישה לנתונים לשימוש בכלי להערכה דינמית
A2uiCoreSchemaValidator כלי לאימות סכימת רכיבים