التقسيم المعماري إلى طبقات وتسمية واجهات برمجة التطبيقات

يحدّد عارض A2UI في Jetpack Compose بنية متعددة الطبقات تتيح لك اختيار الطبقة المناسبة التي تريد الإنشاء عليها. بالإضافة إلى التقسيم الدلالي إلى طبقات، يوضّح نظام التسمية الواضح الغرض من واجهة برمجة التطبيقات ويتحكّم في مستوى الظهور لتجنُّب إدخال أنواع داخلية غير ضرورية في مسار الفئة.

يتم تنظيم واجهات برمجة التطبيقات في فئتَين أساسيتَين استنادًا إلى حالة الاستخدام وإمكانية الوصول:

  1. واجهات برمجة التطبيقات لمطوّري التطبيقات والمكوّنات: تحمل واجهات برمجة التطبيقات العامة المخصّصة للاستخدام المباشر أسماء واضحة وموجزة تبدأ بالبادئة A2ui (أو بادئات نظام التصميم والاختبار، مثل MaterialA2ui وA2uiTest). وتشمل الأمثلة A2uiCatalog وA2uiComponent وA2uiException.
  2. واجهات برمجة التطبيقات لمدمجي إطار عمل واجهة المستخدم: واجهات برمجة التطبيقات التي تستخدمها المكتبات لربط طبقة البيانات الأساسية بأُطر عمل واجهة المستخدم لها أسماء وصفية تبدأ بالبادئة A2uiCore. ولا يُقصد بهذه الواجهات أن تكون مرجعًا مباشرًا للتطبيقات، بل تبقى مخفية عن الرمز البرمجي العادي للتطبيقات. وتشمل الأمثلة A2uiCoreCatalog وA2uiCoreDataModel وA2uiCoreSurfaceModel.

بما أنّ طبقة البيانات الأساسية تحتوي على أنواع من كلتا الفئتين، يتم توزيعها على عنصرَين منفصلَين: androidx.a2ui:a2ui-model (لمطوّري التطبيقات) وandroidx.a2ui:a2ui-engine (لمطوّري إطارات العمل). يسمح هذا البناء لمكتبات إطار العمل بالاعتماد على a2ui-engine كعنصر تابع للتنفيذ، ما يمنع أنواع A2uiCore من إفساد مسارات فئات التطبيق العامة.

الفئة 1: واجهات برمجة التطبيقات لمطوّري التطبيقات

تعرض الجداول التالية واجهات برمجة التطبيقات العامة المخصّصة لمطوّري التطبيقات والمكوّنات.

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: واجهات برمجة التطبيقات الخاصة بمدمجي الأُطر

يعرض الجدول التالي واجهات برمجة التطبيقات المخصّصة لمدمجي الأُطر.

androidx.a2ui:a2ui-engine

النوع الوصف
A2uiCoreCatalog يحتوي على مجموعة من عناصر A2uiCoreComponentDefinition
A2uiCoreCatalogSerializer أداة تسلسل كتالوجات A2UI
A2uiCoreComponentDefinition يحتوي على بيانات وصفية تحدّد أحد المكوّنات
A2uiCoreSurfaceModel تنفيذ A2uiSurfaceModel، عرض قواعد بيانات المسجّلين
A2uiCoreSurfaceGroupModel تنفيذ A2uiSurfaceGroupModel
A2uiCoreMessageProcessor تنفيذ A2uiMessageProcessor
A2uiCoreDataModel حاوية نموذج البيانات التفاعلية
A2uiCoreComponentRegistry سجلّ المكوّنات
A2uiCoreValueResolver أداة الوصول إلى البيانات لاستخدامها في أداة التقييم الديناميكي
A2uiCoreSchemaValidator أداة التحقّق من صحة بيانات المخطط للمكوّنات