आर्किटेक्चरल लेयरिंग और एपीआई का नामकरण

Jetpack Compose A2UI रेंडरर, लेयर वाले आर्किटेक्चर को तय करता है. इससे आपको अपनी ज़रूरत के हिसाब से लेयर चुनने में मदद मिलती है. सिमेंटिक लेयरिंग के साथ-साथ, नाम रखने के लिए साफ़ तौर पर तय की गई स्कीम से, एपीआई के मकसद के बारे में पता चलता है. साथ ही, इससे यह कंट्रोल किया जा सकता है कि कौनसी चीज़ें दिखें, ताकि आपके क्लासपाथ में गैर-ज़रूरी इंटरनल टाइप न दिखें.

एपीआई को इस्तेमाल के उदाहरण और दिखने के आधार पर, दो मुख्य कैटगरी में बांटा गया है:

  1. ऐप्लिकेशन और कॉम्पोनेंट डेवलपर के लिए एपीआई: सीधे तौर पर इस्तेमाल किए जाने वाले सार्वजनिक एपीआई के नाम छोटे और साफ़ होते हैं. इनके नाम में A2ui प्रीफ़िक्स होता है. इसके अलावा, डिज़ाइन-सिस्टम और टेस्टिंग प्रीफ़िक्स भी हो सकते हैं, जैसे कि MaterialA2ui और A2uiTest. उदाहरण के लिए, A2uiCatalog, A2uiComponent, और A2uiException.
  2. यूज़र इंटरफ़ेस (यूआई) फ़्रेमवर्क इंटिग्रेटर के लिए एपीआई: कोर डेटा लेयर और यूज़र इंटरफ़ेस (यूआई) फ़्रेमवर्क को जोड़ने वाली लाइब्रेरी, इन एपीआई का इस्तेमाल करती हैं. इनके नाम में A2uiCore प्रीफ़िक्स होता है. इन एपीआई का इस्तेमाल, सीधे तौर पर ऐप्लिकेशन के रेफ़रंस के लिए नहीं किया जाता है. साथ ही, ये स्टैंडर्ड ऐप्लिकेशन कोड से छिपे रहते हैं. उदाहरण के लिए, A2uiCoreCatalog, A2uiCoreDataModel, और A2uiCoreSurfaceModel.

कोर डेटा लेयर में, दोनों कैटगरी के टाइप शामिल होते हैं. इसलिए, इसे दो अलग-अलग आर्टफ़ैक्ट में बांटा गया है: androidx.a2ui:a2ui-model (ऐप्लिकेशन डेवलपर के लिए) और androidx.a2ui:a2ui-engine (फ़्रेमवर्क इंटिग्रेटर के लिए). इस स्ट्रक्चर की मदद से, फ़्रेमवर्क लाइब्रेरी, a2ui-engine पर लागू करने की डिपेंडेंसी के तौर पर निर्भर हो सकती हैं. इससे a2ui-engine टाइप, सार्वजनिक ऐप्लिकेशन क्लासपाथ को खराब होने से रोकते हैं.A2uiCore

पहली कैटगरी: ऐप्लिकेशन डेवलपर एपीआई

यहां दी गई टेबल में, ऐप्लिकेशन और कॉम्पोनेंट डेवलपर के लिए उपलब्ध सार्वजनिक एपीआई की सूची दी गई है.

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 यह फ़ैक्ट्री फ़ंक्शन, Basic Catalog का एक ऐसा इंस्टेंस बनाता है जो Material 3 कॉम्पोनेंट का इस्तेमाल करता है
MaterialA2uiBasicCatalogV1Defaults बेसिक कैटलॉग के लिए, Material 3 के डिफ़ॉल्ट तौर पर लागू किए गए वर्शन

androidx.a2ui.compose:compose-ui-testing

प्रकार ब्यौरा
A2uiTestController टेस्ट के एक्ज़ीक्यूशन को व्यवस्थित करने के लिए टेस्ट कंट्रोलर
A2uiComponentStub स्टब किए गए या बदले गए कॉम्पोनेंट को लागू करना
A2uiTestSurface Composable फ़ंक्शन, जो टेस्ट सर्फ़ेस रेंडर करता है

दूसरी कैटगरी: फ़्रेमवर्क इंटिग्रेटर एपीआई

यहां दी गई टेबल में, फ़्रेमवर्क इंटिग्रेटर के लिए बनाए गए एपीआई की सूची दी गई है.

androidx.a2ui:a2ui-engine

प्रकार ब्यौरा
A2uiCoreCatalog इसमें A2uiCoreComponentDefinition ऑब्जेक्ट का सेट होता है
A2uiCoreCatalogSerializer A2UI कैटलॉग के लिए सीरियलाइज़र
A2uiCoreComponentDefinition इसमें कॉम्पोनेंट को तय करने वाला मेटाडेटा होता है
A2uiCoreSurfaceModel A2uiSurfaceModel लागू करता है, रजिस्ट्री दिखाता है
A2uiCoreSurfaceGroupModel A2uiSurfaceGroupModel लागू करता है
A2uiCoreMessageProcessor A2uiMessageProcessor लागू करता है
A2uiCoreDataModel डेटा मॉडल होल्डर की भूमिका
A2uiCoreComponentRegistry कॉम्पोनेंट रजिस्ट्री
A2uiCoreValueResolver डाइनैमिक इवैल्यूएटर में इस्तेमाल करने के लिए डेटा ऐक्सेस करने वाला
A2uiCoreSchemaValidator कॉम्पोनेंट स्कीमा की पुष्टि करने वाला टूल