يوفّر عارض A2UI من Jetpack Compose تنفيذًا لبروتوكول A2UI، ما يتيح لوكلاء الذكاء الاصطناعي إنشاء واجهات مستخدم تفاعلية وغنية تعرض مكونات Compose الأصلية بدون تنفيذ أي رموز برمجية عشوائية. تربط هذه المكتبة بروتوكول A2UI JSON بعناصر Compose الأساسية مع الالتزام بإدارة الحالة الاصطلاحية وتوفير تفاعلية دقيقة استنادًا إلى نظام حالة Compose Snapshot.
توفّر مكتبة عارض Compose A2UI الإمكانات التالية:
- التفاعل العالي الأداء
(
androidx.a2ui.compose:compose-runtime): يتيح إجراء تعديلات دقيقة على واجهة المستخدم من خلال الاستفادة من نظام حالة Compose Snapshot، ما يضمن إعادة إنشاء المكوّنات المحدّدة فقط التي تتأثر بتعديلات الوكيل المتدفّق أو تفاعلات المستخدم. - واجهات برمجة التطبيقات المرنة للمكوّنات والتخصيص
(
androidx.a2ui.compose:compose-ui): توفّر نمطًا منظَّمًا لتحديد فهارس عمليات تنفيذ المكوّنات التي تربط مخططات بروتوكول JSON بواجهة مستخدم Compose الأصلية. يتيح لك ذلك إنشاء مكوّنات تتوافق مع العرض التدريجي وحالات التحميل المخصّصة للمكوّنات الفرعية والانتقالات المتحركة وعمليات ربط البيانات الثنائية الاتجاه التي يمكنها إعادة البيانات إلى الوكيل. - النظام الأساسي المستقل عن نظام التصميم: يحافظ على استقلالية طبقتَي وقت التشغيل وعرض واجهة المستخدم عن أي نظام تصميم محدّد، ما يتيح لك إنشاء كتالوجات مخصّصة لنظام تصميم تطبيقك أو استخدام الكتالوج الأساسي المتوفّر.
- التعامل السلس مع الهلوسات التي يقدّمها الذكاء الاصطناعي (
androidx.a2ui:a2ui-modelوandroidx.a2ui:a2ui-engine): يوفّر هذا الخيار التحقّق من صحة المخطط للتصدّي للحمولات المشوّهة قبل وصولها إلى نماذج الحالة، والتعامل السلس مع الأخطاء من خلال حالات أخطاء المكوّنات، وإعداد تقارير تلقائية عن الأخطاء لإرسالها إلى وكيل بهدف التصحيح الذاتي. - الكتالوج الأساسي المضمّن
(
androidx.compose.material3:material3-a2ui): يوفّر تنفيذًا جاهزًا للاستخدام للكتالوج الأساسي باستخدام مكوّنات Material 3، ويتيح العرض التدريجي وتطبيق سمات Material على أداة العرض في Compose.
البنية العالية المستوى
تستند كل واجهة A2UI إلى كتالوج مكونات. بدلاً من أن ينشئ الوكيل رمزًا برمجيًا عشوائيًا لواجهة المستخدم أو يبتكر مكوّنات غير مسجّلة، يعمل الكتالوج كعقد يحدّد عناصر واجهة المستخدم والخصائص والوظائف المحدّدة المتاحة للوكيل. يحدّد الكتالوج المكوّنات، ويستخدمها الوكيل لإنشاء واجهات المستخدم.
ولدعم هذا النموذج، يفصل عارض Compose A2UI محرك العرض الأساسي الذي لا يعتمد على نظام التصميم عن عمليات التنفيذ المحددة للكتالوجات في جميع عناصر Jetpack التي تم وصفها سابقًا، كما يوفّر واجهات برمجة تطبيقات مخصصة للاختبار في androidx.a2ui.compose:compose-ui-testing.
تطوّر البروتوكول والتوافق مع واجهة برمجة التطبيقات
يتوافق عارض A2UI في Compose حاليًا مع الإصدار 0.9.1 من مواصفات A2UI.
توفّر واجهة المستخدم (androidx.a2ui.compose:compose-ui) وطبقات وقت التشغيل (androidx.a2ui.compose:compose-runtime) مساحة لواجهة برمجة التطبيقات لتطبيقاتك وفهارس المكوّنات، بينما تدير طبقة البيانات الأساسية (androidx.a2ui:a2ui-model وandroidx.a2ui:a2ui-engine) عملية تحليل البيانات ومعالجة الرسائل الخاصة بإصدار البروتوكول. وبما أنّ هذه المكتبات تشكّل جزءًا من AndroidX، تسري عليها قواعد صارمة بشأن التوافق الثنائي. على سبيل المثال، بعد أن يصل الإصدار العام من واجهة برمجة التطبيقات إلى الإصدار الثابت 1.0.0، لن تحدث أي تغييرات غير متوافقة في مساحات واجهة برمجة التطبيقات العامة، مثل الفئات والواجهات.
يستخدم عارض A2UI في Compose الاستراتيجيات التالية لتوفير إمكانية تطوّر البروتوكول.
تطوير واجهات برمجة التطبيقات الخاصة بواجهة المستخدم وعارض وقت التشغيل
مع تطوّر بروتوكول A2UI أو إضافة إمكانات جديدة إليه، تتيح واجهات برمجة التطبيقات الخاصة بعارض المحتوى إجراء هذه التغييرات من خلال الطرق التالية:
- إضافات غير متوافقة مع الإصدارات السابقة لواجهة برمجة التطبيقات: عند تقديم إمكانية جديدة، تصبح جزءًا من واجهة أساسية متاحة للجميع (مثل
A2uiComponentأوA2uiCatalog) مع تنفيذ تلقائي. يتيح ذلك لمكوّنات تطبيقك مواصلة التجميع والعمل بدون تعديل. - تؤدي التغييرات غير المتوافقة إلى إيقاف الواجهات القديمة نهائيًا: إذا تضمّن تحديث مستقبلي للبروتوكول تغييرًا غير متوافق، سيتم إيقاف الواجهات القديمة غير المتوافقة نهائيًا (مثل
A2uiComponent)، وسيتم طرح واجهات جديدة، مثلA2uiComponentV2، وإتاحتها إلى جانب الواجهات القديمة.
مخططات كتالوج الإصدارات والمكونات
يرتبط تعريف مخطط الفهرس بإصدار بروتوكول معيّن. عندما يتطوّر البروتوكول، يتطوّر تعريف الكتالوج وفقًا لذلك ويتم تحديث إصداره. يمكن أن تستخدم عمليات تنفيذ المكوّنات لهذا الإصدار "التالي" واجهات برمجة التطبيقات المعدَّلة الخاصة بأداة العرض.
للمساعدة في إتاحة عمليات نقل البيانات السلسة، يمكن للعميل تحديد إصدارات متعددة من الكتالوج متوافقة، ويحصل عليها الوكيل خلال مرحلة التفاوض على الإمكانات.