স্থাপত্য স্তরবিন্যাস এবং এপিআই নামকরণ

Jetpack Compose A2UI রেন্ডারার একটি স্তরযুক্ত আর্কিটেকচার সংজ্ঞায়িত করে, যা আপনাকে ভিত্তি হিসেবে সঠিক স্তরটি বেছে নিতে দেয়। সিমান্টিক লেয়ারিং ছাড়াও, একটি সুস্পষ্ট নামকরণ পদ্ধতি API-এর উদ্দেশ্য প্রকাশ করে এবং অপ্রয়োজনীয় অভ্যন্তরীণ টাইপ দিয়ে আপনার ক্লাসপাথ দূষিত হওয়া এড়াতে ভিজিবিলিটি নিয়ন্ত্রণ করে।

ব্যবহারের ক্ষেত্র এবং দৃশ্যমানতার উপর ভিত্তি করে এপিআইগুলোকে দুটি প্রধান শ্রেণীতে ভাগ করা হয়:

  1. অ্যাপ এবং কম্পোনেন্ট ডেভেলপারদের জন্য এপিআই : সরাসরি ব্যবহারের জন্য তৈরি পাবলিক এপিআইগুলোর নাম পরিচ্ছন্ন ও সংক্ষিপ্ত হয় এবং সেগুলোতে A2ui প্রিফিক্স (অথবা ডিজাইন-সিস্টেম ও টেস্টিং প্রিফিক্স, যেমন MaterialA2ui এবং A2uiTest ) যুক্ত থাকে। উদাহরণস্বরূপ, A2uiCatalog , A2uiComponent , এবং A2uiException
  2. 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 উপাদান স্কিমা যাচাইকারী