মেটেরিয়ালের বিল ব্যবহার করুন

Compose বিল অফ মেটেরিয়ালস (BOM) আপনাকে শুধুমাত্র BOM-এর ভার্সন উল্লেখ করে আপনার সব Compose লাইব্রেরি ভার্সন ম্যানেজ করতে দেয়। BOM-এ বিভিন্ন Compose লাইব্রেরির স্টেবল ভার্সনের লিঙ্ক থাকে, যাতে সেগুলি একসাথে ভালভাবে কাজ করে। আপনার অ্যাপে BOM ব্যবহার করার সময়, কম্পোজ লাইব্রেরি ডিপেন্ডেন্সিতে আপনাকে কোনও ভার্সন যোগ করতে হবে না। আপনি BOM ভার্সন আপডেট করলে, আপনার ব্যবহার করা সব লাইব্রেরি অটোমেটিক সেগুলির নতুন ভার্সনে আপডেট হয়ে যায়।

Kotlin

dependencies {
    // Specify the Compose BOM with a version definition
    val composeBom = platform("androidx.compose:compose-bom:2026.09.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:2026.09.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'
}

কোন Compose লাইব্রেরি ভার্সন নির্দিষ্ট BOM ভার্সনে ম্যাপ করা আছে তা জানতে, BOM থেকে লাইব্রেরি ভার্সন ম্যাপিং চেক করুন।

BOM-এ Compose Compiler লাইব্রেরি কেন অন্তর্ভুক্ত করা হয়নি?

Compose Kotlin কম্পাইলার এক্সটেনশন (androidx.compose.compiler) Compose লাইব্রেরি ভার্সনের সাথে লিঙ্ক করা নেই। পরিবর্তে, এটি Kotlin কম্পাইলার প্লাগ-ইনের ভার্সনের সাথে লিঙ্ক করা থাকে এবং Compose-এর বাকি অংশের থেকে আলাদা ক্যাডেন্সে রিলিজ করা হয়।

Kotlin 2.0 থেকে, Compose কম্পাইলার Kotlin কম্পাইলারের সাথে ম্যানেজ করা হয় এবং Kotlin কম্পাইলারের মতো একই ভার্সন ব্যবহার করে। কনফিগারেশন সংক্রান্ত বিবরণের জন্য Compose Compiler Gradle প্লাগ-ইন দেখুন।

Kotlin 2.0-এর আগের ভার্সনে, আপনার Kotlin ভার্সনের সাথে মানানসই কম্পাইলার ভার্সন শনাক্ত করতে Compose to Kotlin Compatibility Map দেখুন এবং এটি কনফিগার করার ব্যাপারে নির্দেশিকার জন্য Compose Compiler দেখুন।

BOM-এ যা উল্লেখ করা আছে তার থেকে আলাদা লাইব্রেরি ভার্সন আমি কীভাবে ব্যবহার করব?

build.gradle ডিপেন্ডেন্সি বিভাগে, BOM প্ল্যাটফর্মের ইমপোর্ট রাখুন। লাইব্রেরি ডিপেন্ডেন্সি ইমপোর্ট করার সময়, ওভাররাইডিং ভার্সন উল্লেখ করুন। যেমন, BOM-এ যে ভার্সনই উল্লেখ করা থাকুক না কেন, আপনি অ্যানিমেশন লাইব্রেরির নতুন ভার্সন ব্যবহার করতে চাইলে, ডিপেন্ডেন্সি কীভাবে ঘোষণা করবেন তা এখানে দেওয়া হল:

Kotlin

dependencies {
    // Specify the Compose BOM with a version definition
    val composeBom = platform("androidx.compose:compose-bom:2026.09.00")
    implementation(composeBom)

    // Override the BOM version when needed
    implementation("androidx.compose.animation:animation:1.13.0-alpha03")

    // ..
}

গ্ৰুভি

dependencies {
    // Specify the Compose BOM with a version definition
    Dependency composeBom = platform("androidx.compose:compose-bom:2026.09.00")
    implementation composeBom

    // Override the BOM version when needed
    implementation 'androidx.compose.animation:animation:1.13.0-alpha03'

    // ..
}

BOM কি অটোমেটিক আমার অ্যাপে সব Compose লাইব্রেরি যোগ করে?

না। আপনার অ্যাপে Compose লাইব্রেরি যোগ ও ব্যবহার করতে, আপনাকে প্রতিটি লাইব্রেরিকে আপনার মডিউল (অ্যাপ-লেভেল) Gradle ফাইলে (সাধারণত app/build.gradle) একটি আলাদা ডিপেন্ডেন্সি লাইন হিসেবে ঘোষণা করতে হবে।

BOM ব্যবহার করলে, আপনার অ্যাপে Compose লাইব্রেরির যেকোনও ভার্সন মানানসই কিনা তা যাচাই করতে সাহায্য করে, তবে BOM আসলে আপনার অ্যাপে সেইসব Compose লাইব্রেরি যোগ করে না।

এরপর থেকে, Compose লাইব্রেরির ভার্সন স্বাধীনভাবে তৈরি করা হবে, যার অর্থ হল ভার্সন নম্বর নিজস্ব গতিতে বাড়তে শুরু করবে। প্রতিটি লাইব্রেরির লেটেস্ট স্টেবল রিলিজ একসাথে পরীক্ষা করা হয়। তবে, প্রতিটি লাইব্রেরির লেটেস্ট স্টেবল ভার্সন খুঁজে পাওয়া কঠিন হতে পারে এবং BOM আপনাকে অটোমেটিক এইসব লেটেস্ট ভার্সন ব্যবহার করতে সাহায্য করে।

আমাকে কি BOM ব্যবহার করতেই হবে?

না। আপনি এখনও প্রতিটি ডিপেন্ডেন্সি ভার্সন ম্যানুয়ালি যোগ করার বিকল্প বেছে নিতে পারবেন। তবে, আমরা BOM ব্যবহার করার সাজেশন দিই কারণ এটি একই সময়ে সব লেটেস্ট স্টেবল ভার্সন ব্যবহার করা আরও সহজ করে তুলবে।

BOM কি ভার্সন ক্যাটালগের সাথে কাজ করে?

হ্যাঁ। আপনি ভার্সন ক্যাটালগে BOM অন্তর্ভুক্ত করতে পারেন এবং অন্যান্য Compose লাইব্রেরি ভার্সন বাদ দিতে পারেন:

[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 ইমপোর্ট করতে ভুলবেন না:

Kotlin

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
}

আমি যদি Compose লাইব্রেরির আলফা বা বিটা রিলিজ ব্যবহার করে দেখতে চাই, তাহলে কী করব?

তিনটি Compose BOM উপলভ্য আছে। প্রতিটি BOM হল Compose লাইব্রেরির লেটেস্ট-উপলভ্য ভার্সনের একটি পয়েন্ট-ইন-টাইম স্ন্যাপশট।

  • স্টেবল - প্রতিটি লাইব্রেরির লেটেস্ট স্টেবল ভার্সন থাকে।
  • বিটা - প্রতিটি লাইব্রেরির লেটেস্ট বিটা, রিলিজ ক্যান্ডিডেট (RC) বা স্টেবল ভার্সন থাকে।
  • আলফা - প্রতিটি লাইব্রেরির লেটেস্ট আলফা, বিটা, RC বা স্টেবল ভার্সন থাকে।

BOM-এর আলফা ও বিটা ভার্সন BOM আর্টিফ্যাক্টের নামের সাথে -alpha এবং -beta যোগ করে নির্দিষ্ট করা হয়। স্টেবল ভার্সনে কোনও সাফিক্স থাকে না।

Kotlin

dependencies {
    // Specify the Compose BOM with a version definition
    val composeBom = platform("androidx.compose:compose-bom-alpha:2026.09.00")
    //            or platform("androidx.compose:compose-bom-beta:2026.09.00")
    implementation(composeBom)
    // ..
}

গ্ৰুভি

dependencies {
    // Specify the Compose BOM with a version definition
    Dependency composeBom = platform('androidx.compose:compose-bom-alpha:2026.09.00')
    //                   or platform('androidx.compose:compose-bom-beta:2026.09.00')
    implementation composeBom
    // ..
}

BOM-এ কোনও সমস্যার বিষয়ে আমি কীভাবে অভিযোগ জানাব বা মতামত দেব?

আপনি আমাদের ইস্যু ট্র্যাকারে সমস্যা ফাইল করতে পারেন।