কম্পোজ বিল অফ ম্যাটেরিয়ালস (BOM) আপনাকে শুধুমাত্র BOM-এর সংস্করণ নির্দিষ্ট করে আপনার সমস্ত রচনা লাইব্রেরি সংস্করণ পরিচালনা করতে দেয়। BOM-এরই বিভিন্ন কম্পোজ লাইব্রেরির স্থিতিশীল সংস্করণের লিঙ্ক রয়েছে, যাতে তারা একসঙ্গে ভালোভাবে কাজ করে। আপনার অ্যাপে BOM ব্যবহার করার সময়, কম্পোজ লাইব্রেরি নির্ভরতাগুলিতে আপনাকে কোনো সংস্করণ যোগ করতে হবে না। আপনি যখন BOM সংস্করণ আপডেট করেন, আপনি যে সমস্ত লাইব্রেরি ব্যবহার করছেন সেগুলি স্বয়ংক্রিয়ভাবে তাদের নতুন সংস্করণে আপডেট হয়৷
কোটলিন
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2024.06.00") implementation(composeBom) testImplementation(composeBom) androidTestImplementation(composeBom) // Specify Compose library dependencies without a version definition implementation("androidx.compose.foundation:foundation") // .. testImplementation("androidx.compose.ui:ui-test-junit4") // .. androidTestImplementation("androidx.compose.ui:ui-test") }
গ্রোভি
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom:2024.06.00') implementation composeBom testImplementation composeBom androidTestImplementation composeBom // Specify Compose library dependencies without a version definition implementation 'androidx.compose.foundation:foundation' // .. testImplementation 'androidx.compose.ui:ui-test-junit4' // .. androidTestImplementation 'androidx.compose.ui:ui-test' }
কোন কম্পোজ লাইব্রেরি সংস্করণগুলি একটি নির্দিষ্ট BOM সংস্করণে ম্যাপ করা হয়েছে তা খুঁজে বের করতে, BOM থেকে লাইব্রেরি সংস্করণ ম্যাপিং দেখুন৷
কম্পোজ কম্পাইলার লাইব্রেরি কেন BOM-তে অন্তর্ভুক্ত করা হয় না?
কম্পোজ কোটলিন কম্পাইলার এক্সটেনশন (androidx.compose.compiler) কম্পোজ লাইব্রেরি সংস্করণের সাথে সংযুক্ত নয়। পরিবর্তে, এটি Kotlin কম্পাইলার প্লাগইনের সংস্করণগুলির সাথে লিঙ্ক করা হয়েছে এবং কম্পোজের বাকি অংশ থেকে একটি পৃথক ক্যাডেন্সে প্রকাশ করা হয়েছে, তাই আপনার Kotlin-এর সংস্করণের সাথে সামঞ্জস্যপূর্ণ একটি সংস্করণ ব্যবহার করা নিশ্চিত করুন৷ আপনি Kotlin সংস্করণটি খুঁজে পেতে পারেন যা প্লাগইনের প্রতিটি সংস্করণের মানচিত্র কম্পোজ টু কোটলিন সামঞ্জস্য মানচিত্র এ।
BOM-এ যা মনোনীত করা হয়েছে তার চেয়ে আমি কীভাবে একটি ভিন্ন লাইব্রেরি সংস্করণ ব্যবহার করব?
build.gradle
নির্ভরতা বিভাগে, BOM প্ল্যাটফর্মের আমদানি রাখুন। লাইব্রেরি নির্ভরতা আমদানিতে, পছন্দসই সংস্করণটি নির্দিষ্ট করুন। উদাহরণস্বরূপ, আপনি যদি অ্যানিমেশন লাইব্রেরির একটি নতুন সংস্করণ ব্যবহার করতে চান তবে কীভাবে নির্ভরতা ঘোষণা করবেন তা এখানে রয়েছে, BOM-তে যে সংস্করণটি মনোনীত করা হোক না কেন:
কোটলিন
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2024.06.00") implementation(composeBom) // Override the BOM version when needed implementation("androidx.compose.animation:animation:1.7.0-beta05") // .. }
গ্রোভি
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform("androidx.compose:compose-bom:2024.06.00") implementation composeBom // Override the BOM version when needed implementation 'androidx.compose.animation:animation:1.7.0-beta05' // .. }
BOM কি স্বয়ংক্রিয়ভাবে আমার অ্যাপে সমস্ত রচনা লাইব্রেরি যোগ করে?
না। আসলে আপনার অ্যাপে কম্পোজ লাইব্রেরি যোগ করতে এবং ব্যবহার করতে, আপনাকে অবশ্যই প্রতিটি লাইব্রেরিকে আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত app/build.gradle) একটি পৃথক নির্ভরতা লাইন হিসাবে ঘোষণা করতে হবে।
BOM ব্যবহার করা নিশ্চিত করে যে আপনার অ্যাপের যেকোনো রচনা লাইব্রেরির সংস্করণগুলি সামঞ্জস্যপূর্ণ, কিন্তু BOM আসলে আপনার অ্যাপে সেই রচনা লাইব্রেরিগুলিকে যোগ করে না।
কম্পোজ লাইব্রেরি সংস্করণ পরিচালনা করার জন্য BOM কেন প্রস্তাবিত উপায়?
সামনের দিকে, রচনা লাইব্রেরিগুলি স্বাধীনভাবে সংস্করণ করা হবে, যার অর্থ সংস্করণ সংখ্যাগুলি তাদের নিজস্ব গতিতে বৃদ্ধি পেতে শুরু করবে। প্রতিটি লাইব্রেরির সর্বশেষ স্থিতিশীল প্রকাশগুলি পরীক্ষিত এবং একসাথে সুন্দরভাবে কাজ করার গ্যারান্টি দেওয়া হয়। যাইহোক, প্রতিটি লাইব্রেরির সর্বশেষ স্থিতিশীল সংস্করণগুলি খুঁজে পাওয়া কঠিন হতে পারে, এবং BOM আপনাকে এই সর্বশেষ সংস্করণগুলি স্বয়ংক্রিয়ভাবে ব্যবহার করতে সহায়তা করে।
আমি কি BOM ব্যবহার করতে বাধ্য হচ্ছি?
না। আপনি এখনও প্রতিটি নির্ভরতা সংস্করণ ম্যানুয়ালি যোগ করতে বেছে নিতে পারেন। যাইহোক, আমরা BOM ব্যবহার করার পরামর্শ দিই কারণ এটি একই সময়ে সমস্ত সর্বশেষ স্থিতিশীল সংস্করণ ব্যবহার করা সহজ করে তুলবে।
BOM সংস্করণ ক্যাটালগ সঙ্গে কাজ করে?
হ্যাঁ। আপনি সংস্করণ ক্যাটালগে BOM নিজেই অন্তর্ভুক্ত করতে পারেন এবং অন্যান্য রচনা লাইব্রেরি সংস্করণগুলি বাদ দিতে পারেন:
[libraries]
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidxComposeBom" }
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }
আপনার মডিউলের build.gradle
এ BOM আমদানি করতে ভুলবেন না:
কোটলিন
dependencies { val composeBom = platform(libs.androidx.compose.bom) implementation(composeBom) androidTestImplementation(composeBom) // import Compose dependencies as usual }
গ্রোভি
dependencies { Dependency composeBom = platform(libs.androidx.compose.bom) implementation composeBom androidTestImplementation(composeBom) // import Compose dependencies as usual }
আমি কীভাবে একটি সমস্যা প্রতিবেদন করব বা BOM-এ প্রতিক্রিয়া জানাব?
আপনি আমাদের ইস্যু ট্র্যাকারে সমস্যা ফাইল করতে পারেন।
{% শব্দার্থে %}আপনার জন্য প্রস্তাবিত
- দ্রষ্টব্য: জাভাস্ক্রিপ্ট বন্ধ থাকলে লিঙ্ক টেক্সট প্রদর্শিত হয়
- কম্পোজে মেটেরিয়াল ডিজাইন 3
- কম্পোজে সীমাবদ্ধতা লেআউট
- কম্পোজ সম্পদ