لایه‌بندی معماری و نامگذاری API

رندرکننده Jetpack Compose A2UI یک معماری لایه‌بندی‌شده را تعریف می‌کند که به شما امکان می‌دهد لایه مناسب را برای ساخت انتخاب کنید. علاوه بر لایه‌بندی معنایی، یک طرح نامگذاری واضح، هدف API را منتقل می‌کند و قابلیت مشاهده را کنترل می‌کند تا از آلوده شدن مسیر کلاس شما با انواع داخلی غیرضروری جلوگیری شود.

APIها بر اساس مورد استفاده و قابلیت مشاهده به دو دسته اصلی تقسیم می‌شوند:

  1. APIها برای توسعه‌دهندگان اپلیکیشن و کامپوننت : APIهای عمومی که برای استفاده مستقیم در نظر گرفته شده‌اند، نام‌های واضح و مختصری با پیشوند A2ui (یا پیشوندهای design-system و testing مانند MaterialA2ui و A2uiTest ) دارند. نمونه‌هایی از آنها شامل A2uiCatalog ، A2uiComponent و A2uiException است.
  2. APIهایی برای یکپارچه‌سازهای چارچوب رابط کاربری : APIهایی که توسط کتابخانه‌هایی که لایه داده اصلی و چارچوب‌های رابط کاربری را به هم متصل می‌کنند، استفاده می‌شوند، نام‌های توصیفی با پیشوند A2uiCore دارند. این APIها برای ارجاع مستقیم به برنامه در نظر گرفته نشده‌اند و از کد استاندارد برنامه پنهان می‌مانند. نمونه‌هایی از آنها عبارتند از A2uiCoreCatalog ، A2uiCoreDataModel و A2uiCoreSurfaceModel .

از آنجا که لایه داده اصلی شامل انواعی از هر دو دسته است، در دو مصنوع جداگانه توزیع شده است: androidx.a2ui:a2ui-model (برای توسعه‌دهندگان برنامه) و androidx.a2ui:a2ui-engine (برای یکپارچه‌سازان چارچوب). این ساختار به کتابخانه‌های چارچوب اجازه می‌دهد تا به a2ui-engine به عنوان یک وابستگی پیاده‌سازی وابسته باشند و از آلوده شدن انواع A2uiCore به مسیرهای کلاس عمومی برنامه جلوگیری کنند.

دسته ۱: رابط‌های برنامه‌نویسی کاربردی (API) توسعه‌دهندگان اپلیکیشن

جداول زیر APIهای عمومی در نظر گرفته شده برای توسعه‌دهندگان برنامه‌ها و مؤلفه‌ها را فهرست می‌کنند.

androidx.a2ui:مدل-a2ui

نوع توضیحات
A2uiSurfaceModel رابط فقط خواندنی که نمایانگر یک سطح رابط کاربری است
A2uiMessageProcessor نوع نقطه ورود برای پردازش پیام‌های دریافتی
A2uiMessageParser رابط تجزیه‌گر برای پیام‌های پروتکل
A2uiServerToClientMessage بار مفید پیام ورودی
A2uiSchema انواع مورد استفاده برای تعریف طرحواره‌های ویژگی کامپوننت
A2uiException استثنائات ایجاد شده و در لایه‌ها مدیریت می‌شوند
A2uiUserAction بار عملیاتی ایجاد شده در نتیجه تعاملات کاربر
A2uiClientToServerMessage نوع پایه برای همه بارهای پیام خروجی
A2uiActionInterceptor رهگیر اقدام کاربر در سطح لایه داده
A2uiFunctionDefinition تعریف یک تابع کلاینت محلی
A2uiDataPath نمایش مسیر اشاره‌گر در JSON

androidx.a2ui.compose:compose-runtime

نوع توضیحات
a2uiRuntimeMessageProcessor سازنده افزونه برای پردازنده پیام
A2uiMessageParser سازنده افزونه برای تجزیه‌کننده پیام
A2uiComponentState رابطی که حالت کامپوننت واکنشی را نشان می‌دهد
A2uiComponentModel مدل داده برای یک جزء با موفقیت حل شده
A2uiComponentProperties Recompositions بهینه سازی ظرف دارایی پایدار
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:تست-رابط-کاربری-کامپوزیت

نوع توضیحات
A2uiTestController کنترل‌کننده تست برای هماهنگ‌سازی اجرای تست
A2uiComponentStub پیاده‌سازی کامپوننت‌های ناقص یا بازنویسی‌شده
A2uiTestSurface تابع ترکیبی که یک سطح آزمایشی را رندر می‌کند

دسته ۲: رابط‌های برنامه‌نویسی یکپارچه‌ساز چارچوب

جدول زیر APIهای در نظر گرفته شده برای یکپارچه‌سازان چارچوب را فهرست می‌کند.

androidx.a2ui:موتور-a2ui

نوع توضیحات
A2uiCoreCatalog شامل مجموعه‌ای از اشیاء A2uiCoreComponentDefinition است.
A2uiCoreCatalogSerializer سریالایزر برای کاتالوگ‌های A2UI
A2uiCoreComponentDefinition شامل ابرداده‌هایی است که یک جزء را تعریف می‌کنند
A2uiCoreSurfaceModel A2uiSurfaceModel را پیاده‌سازی می‌کند، رجیستری‌ها را نمایش می‌دهد
A2uiCoreSurfaceGroupModel پیاده‌سازی A2uiSurfaceGroupModel
A2uiCoreMessageProcessor پیاده‌سازی A2uiMessageProcessor
A2uiCoreDataModel دارنده مدل داده واکنشی
A2uiCoreComponentRegistry رجیستری کامپوننت
A2uiCoreValueResolver دسترسی‌دهنده داده برای استفاده در ارزیاب پویا
A2uiCoreSchemaValidator اعتبارسنج طرحواره مؤلفه