Jetpack Compose A2UI রেন্ডারার একটি স্তরযুক্ত আর্কিটেকচার সংজ্ঞায়িত করে, যা আপনাকে ভিত্তি হিসেবে সঠিক স্তরটি বেছে নিতে দেয়। সিমান্টিক লেয়ারিং ছাড়াও, একটি সুস্পষ্ট নামকরণ পদ্ধতি API-এর উদ্দেশ্য প্রকাশ করে এবং অপ্রয়োজনীয় অভ্যন্তরীণ টাইপ দিয়ে আপনার ক্লাসপাথ দূষিত হওয়া এড়াতে ভিজিবিলিটি নিয়ন্ত্রণ করে।
ব্যবহারের ক্ষেত্র এবং দৃশ্যমানতার উপর ভিত্তি করে এপিআইগুলোকে দুটি প্রধান শ্রেণীতে ভাগ করা হয়:
- অ্যাপ এবং কম্পোনেন্ট ডেভেলপারদের জন্য এপিআই : সরাসরি ব্যবহারের জন্য তৈরি পাবলিক এপিআইগুলোর নাম পরিচ্ছন্ন ও সংক্ষিপ্ত হয় এবং সেগুলোতে
A2ui প্রিফিক্স (অথবা ডিজাইন-সিস্টেম ও টেস্টিং প্রিফিক্স, যেমন MaterialA2ui এবং A2uiTest ) যুক্ত থাকে। উদাহরণস্বরূপ, A2uiCatalog , A2uiComponent , এবং A2uiException । - UI ফ্রেমওয়ার্ক ইন্টিগ্রেটরদের জন্য API : কোর ডেটা লেয়ার এবং UI ফ্রেমওয়ার্কের মধ্যে সংযোগ স্থাপনকারী লাইব্রেরিগুলো যে API ব্যবহার করে, সেগুলোর বর্ণনামূলক নামের শুরুতে
A2uiCore উপসর্গটি যুক্ত থাকে। এই API-গুলো সরাসরি অ্যাপ্লিকেশনে ব্যবহারের জন্য নয় এবং এগুলো সাধারণ অ্যাপ্লিকেশন কোড থেকে গোপন রাখা হয়। উদাহরণস্বরূপ, A2uiCoreCatalog , A2uiCoreDataModel , এবং A2uiCoreSurfaceModel ।
যেহেতু কোর ডেটা লেয়ারে উভয় ক্যাটাগরির টাইপই থাকে, তাই এটিকে দুটি আলাদা আর্টিফ্যাক্টে ভাগ করা হয়েছে: androidx.a2ui:a2ui-model (অ্যাপ ডেভেলপারদের জন্য) এবং androidx.a2ui:a2ui-engine (ফ্রেমওয়ার্ক ইন্টিগ্রেটরদের জন্য)। এই কাঠামোটি ফ্রেমওয়ার্ক লাইব্রেরিগুলোকে ইমপ্লিমেন্টেশন ডিপেন্ডেন্সি হিসেবে a2ui-engine উপর নির্ভর করার সুযোগ দেয়, যা A2uiCore টাইপগুলোকে পাবলিক অ্যাপ ক্লাসপাথ দূষিত করা থেকে বিরত রাখে।
বিভাগ ১: অ্যাপ ডেভেলপার এপিআই
নিম্নলিখিত সারণিগুলিতে অ্যাপ্লিকেশন এবং কম্পোনেন্ট ডেভেলপারদের জন্য উদ্দিষ্ট পাবলিক এপিআইগুলির তালিকা দেওয়া হয়েছে।
androidx.a2ui:a2ui-মডেল
| প্রকার | বর্ণনা |
|---|
A2uiSurfaceModel | একটি UI পৃষ্ঠের প্রতিনিধিত্বকারী পঠনযোগ্য ইন্টারফেস |
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 | কম্পোজ কম্পোনেন্ট ইমপ্লিমেন্টেশন সংজ্ঞায়িত করার জন্য ইন্টারফেস |
A2uiComponent (কম্পোজেবল) | একটি কম্পোনেন্টের জন্য UI নির্গত করে এমন কম্পোজেবল ফাংশন। |
androidx.compose.material3:material3-a2ui
| প্রকার | বর্ণনা |
|---|
A2uiSurface | গঠনযোগ্য প্রবেশ বিন্দু যা একটি পৃষ্ঠতল রেন্ডার করে |
materialA2uiBasicCatalogV1 | মেটেরিয়াল ৩ কম্পোনেন্ট ব্যবহার করে বেসিক ক্যাটালগের একটি ইনস্ট্যান্স তৈরি করার ফ্যাক্টরি ফাংশন। |
MaterialA2uiBasicCatalogV1Defaults | বেসিক ক্যাটালগের ডিফল্ট মেটেরিয়াল ৩ বাস্তবায়ন |
androidx.a2ui.compose:compose-ui-testing
| প্রকার | বর্ণনা |
|---|
A2uiTestController | টেস্ট এক্সিকিউশন সমন্বয় করার জন্য টেস্ট কন্ট্রোলার |
A2uiComponentStub | স্টাবড বা ওভাররাইড করা কম্পোনেন্ট বাস্তবায়ন |
A2uiTestSurface | কম্পোজেবল ফাংশন যা একটি টেস্ট সারফেস রেন্ডার করে। |
বিভাগ ২: ফ্রেমওয়ার্ক ইন্টিগ্রেটর এপিআই
নিম্নলিখিত সারণিতে ফ্রেমওয়ার্ক ইন্টিগ্রেটরদের জন্য উদ্দিষ্ট এপিআইগুলো তালিকাভুক্ত করা হয়েছে।
androidx.a2ui:a2ui-engine
| প্রকার | বর্ণনা |
|---|
A2uiCoreCatalog | A2uiCoreComponentDefinition অবজেক্টের একটি সেট ধারণ করে |
A2uiCoreCatalogSerializer | A2UI ক্যাটালগগুলির জন্য সিরিয়ালাইজার |
A2uiCoreComponentDefinition | একটি উপাদানকে সংজ্ঞায়িত করে এমন মেটাডেটা ধারণ করে |
A2uiCoreSurfaceModel | A2uiSurfaceModel বাস্তবায়ন করে, রেজিস্ট্রিগুলো উন্মুক্ত করে |
A2uiCoreSurfaceGroupModel | A2uiSurfaceGroupModel বাস্তবায়ন করে |
A2uiCoreMessageProcessor | A2uiMessageProcessor বাস্তবায়ন করে |
A2uiCoreDataModel | প্রতিক্রিয়াশীল ডেটা মডেল ধারক |
A2uiCoreComponentRegistry | উপাদান রেজিস্ট্রি |
A2uiCoreValueResolver | ডাইনামিক ইভ্যালুয়েটরে ব্যবহারের জন্য ডেটা অ্যাক্সেসর |
A2uiCoreSchemaValidator | উপাদান স্কিমা যাচাইকারী |