Jetpack Compose A2UI रेंडरर, लेयर वाले आर्किटेक्चर को तय करता है. इससे आपको अपनी ज़रूरत के हिसाब से लेयर चुनने में मदद मिलती है. सिमेंटिक लेयरिंग के साथ-साथ, नाम रखने के लिए साफ़ तौर पर तय की गई स्कीम से, एपीआई के मकसद के बारे में पता चलता है. साथ ही, इससे यह कंट्रोल किया जा सकता है कि कौनसी चीज़ें दिखें, ताकि आपके क्लासपाथ में गैर-ज़रूरी इंटरनल टाइप न दिखें.
एपीआई को इस्तेमाल के उदाहरण और दिखने के आधार पर, दो मुख्य कैटगरी में बांटा गया है:
- ऐप्लिकेशन और कॉम्पोनेंट डेवलपर के लिए एपीआई: सीधे तौर पर इस्तेमाल किए जाने वाले सार्वजनिक एपीआई के नाम छोटे और साफ़ होते हैं. इनके नाम में
A2ui प्रीफ़िक्स होता है. इसके अलावा, डिज़ाइन-सिस्टम और टेस्टिंग प्रीफ़िक्स भी हो सकते हैं, जैसे कि MaterialA2ui और A2uiTest. उदाहरण के लिए, A2uiCatalog, A2uiComponent, और A2uiException.
- यूज़र इंटरफ़ेस (यूआई) फ़्रेमवर्क इंटिग्रेटर के लिए एपीआई: कोर डेटा लेयर और यूज़र इंटरफ़ेस (यूआई) फ़्रेमवर्क को जोड़ने वाली लाइब्रेरी, इन एपीआई का इस्तेमाल करती हैं. इनके नाम में
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 |
कॉम्पोनेंट स्कीमा की पुष्टि करने वाला टूल |