কম্পোজ বিল অফ ম্যাটেরিয়ালস (BOM) আপনাকে শুধুমাত্র BOM এর সংস্করণ নির্দিষ্ট করে আপনার সমস্ত কম্পোজ লাইব্রেরি সংস্করণ পরিচালনা করতে দেয়। BOM নিজেই বিভিন্ন কম্পোজ লাইব্রেরির স্থিতিশীল সংস্করণের সাথে লিঙ্ক করে, যাতে তারা একসাথে ভালভাবে কাজ করে। আপনার অ্যাপে BOM ব্যবহার করার সময়, আপনাকে কম্পোজ লাইব্রেরি নির্ভরতাগুলিতে কোনও সংস্করণ যুক্ত করার প্রয়োজন নেই। যখন আপনি BOM সংস্করণ আপডেট করেন, তখন আপনার ব্যবহৃত সমস্ত লাইব্রেরি স্বয়ংক্রিয়ভাবে তাদের নতুন সংস্করণে আপডেট হয়।
কোটলিন
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2025.10.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:2025.10.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 2.0 থেকে, Compose appcompiler Kotlin কম্পাইলারের পাশাপাশি পরিচালিত হয় এবং Kotlin কম্পাইলারের মতো একই সংস্করণ ব্যবহার করে। কনফিগারেশনের বিশদ বিবরণের জন্য Compose Compiler Gradle প্লাগইন দেখুন।
Kotlin 2.0 এর চেয়ে কম সংস্করণগুলিতে, আপনার Kotlin সংস্করণের সাথে সামঞ্জস্যপূর্ণ একটি কম্পাইলার সংস্করণ সনাক্ত করতে Compose to Kotlin Compatibility Map দেখুন এবং এটি কনফিগার করার নির্দেশিকা পেতে Compose Compiler দেখুন।
BOM-এ উল্লেখিত লাইব্রেরি সংস্করণের চেয়ে ভিন্ন লাইব্রেরি সংস্করণ কীভাবে ব্যবহার করব?
build.gradle dependencies বিভাগে, BOM প্ল্যাটফর্মের আমদানি রাখুন। লাইব্রেরি dependencies আমদানিতে, ওভাররাইডিং সংস্করণটি নির্দিষ্ট করুন। উদাহরণস্বরূপ, BOM-এ যে সংস্করণটিই মনোনীত করা হোক না কেন, অ্যানিমেশন লাইব্রেরির একটি নতুন সংস্করণ ব্যবহার করতে চাইলে কীভাবে নির্ভরতা ঘোষণা করবেন তা এখানে দেওয়া হল:
কোটলিন
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2025.10.00") implementation(composeBom) // Override the BOM version when needed implementation("androidx.compose.animation:animation:1.10.0-alpha04") // .. }
খাঁজকাটা
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform("androidx.compose:compose-bom:2025.10.00") implementation composeBom // Override the BOM version when needed implementation 'androidx.compose.animation:animation:1.10.0-alpha04' // .. }
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 }
যদি আমি কম্পোজ লাইব্রেরির আলফা বা বিটা রিলিজগুলি চেষ্টা করে দেখতে চাই?
তিনটি কম্পোজ বিওএম উপলব্ধ। প্রতিটি বিওএম হল কম্পোজ লাইব্রেরির সর্বশেষ উপলব্ধ সংস্করণগুলির একটি পয়েন্ট-ইন-টাইম স্ন্যাপশট।
- স্থিতিশীল - প্রতিটি লাইব্রেরির সর্বশেষ স্থিতিশীল সংস্করণ ধারণ করে।
- বিটা - প্রতিটি লাইব্রেরির সর্বশেষ বিটা, রিলিজ ক্যান্ডিডেট (RC), অথবা স্থিতিশীল সংস্করণ ধারণ করে।
- আলফা - প্রতিটি লাইব্রেরির সর্বশেষ আলফা, বিটা, আরসি, অথবা স্থিতিশীল সংস্করণ ধারণ করে।
BOM এর আলফা এবং বিটা সংস্করণগুলি BOM আর্টিফ্যাক্ট নামের সাথে -alpha এবং -beta যোগ করে নির্দিষ্ট করা হয়। স্থিতিশীল সংস্করণের কোন প্রত্যয় নেই।
কোটলিন
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom-alpha:2025.10.00") // or platform("androidx.compose:compose-bom-beta:2025.10.00") implementation(composeBom) // .. }
খাঁজকাটা
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom-alpha:2025.10.00') // or platform('androidx.compose:compose-bom-beta:2025.10.00') implementation composeBom // .. }
আমি কীভাবে কোনও সমস্যা রিপোর্ট করব বা BOM-এর উপর প্রতিক্রিয়া জানাব?
আপনি আমাদের ইস্যু ট্র্যাকারে সমস্যাগুলি দায়ের করতে পারেন।
{% অক্ষরে অক্ষরে %}আপনার জন্য প্রস্তাবিত
- দ্রষ্টব্য: জাভাস্ক্রিপ্ট বন্ধ থাকলে লিঙ্ক টেক্সট প্রদর্শিত হয়।
- কম্পোজে মেটেরিয়াল ডিজাইন ৩
- কম্পোজে সীমাবদ্ধ লেআউট
- কম্পোজে রিসোর্স