از صورتحساب مواد استفاده کنید

فهرست مواد اولیه (BOM) به شما امکان می‌دهد تمام نسخه‌های کتابخانه Compose خود را تنها با مشخص کردن نسخه BOM مدیریت کنید. خود BOM به نسخه‌های پایدار کتابخانه‌های مختلف Compose لینک دارد، به گونه‌ای که آنها به خوبی با هم کار کنند. هنگام استفاده از BOM در برنامه خود، نیازی به اضافه کردن هیچ نسخه‌ای به وابستگی‌های کتابخانه Compose ندارید. هنگامی که نسخه 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'
}

برای اینکه بفهمید کدام نسخه‌های کتابخانه Compose به یک نسخه BOM خاص نگاشت شده‌اند، نگاشت نسخه BOM به کتابخانه را بررسی کنید.

چرا کتابخانه Compose Compiler در BOM گنجانده نشده است؟

افزونه کامپایلر کاتلین Compose (androidx.compose.compiler) به نسخه‌های کتابخانه Compose متصل نیست. در عوض، به نسخه‌های افزونه کامپایلر کاتلین متصل است و در یک ریتم جداگانه از بقیه Compose منتشر می‌شود.

از کاتلین ۲.۰ به بعد، کامپایلر برنامه‌ی Compose در کنار کامپایلر کاتلین مدیریت می‌شود و از همان نسخه کامپایلر کاتلین استفاده می‌کند. برای جزئیات پیکربندی به افزونه‌ی Gradle کامپایلر Compose مراجعه کنید.

در نسخه‌های پایین‌تر از کاتلین ۲.۰، برای شناسایی نسخه کامپایلر سازگار با نسخه کاتلین خود، به نقشه سازگاری Compose to Kotlin مراجعه کنید و برای راهنمایی در مورد پیکربندی آن، به Compose Compiler مراجعه کنید.

چگونه می‌توانم از نسخه کتابخانه‌ای متفاوت از آنچه در BOM تعیین شده است استفاده کنم؟

در بخش وابستگی‌های build.gradle ، ورودی پلتفرم BOM را نگه دارید. در ورودی وابستگی کتابخانه، نسخه overriding را مشخص کنید. برای مثال، در اینجا نحوه اعلام وابستگی‌ها در صورتی که می‌خواهید از نسخه جدیدتری از کتابخانه انیمیشن استفاده کنید، صرف نظر از نسخه تعیین شده در 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 به طور خودکار تمام کتابخانه‌های 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" }

فراموش نکنید که BOM را در build.gradle ماژول خود وارد کنید:

کاتلین

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 را امتحان کنم، چه می‌شود؟

سه نوع BOM برای Compose وجود دارد. هر BOM یک تصویر لحظه‌ای از آخرین نسخه‌های موجود کتابخانه‌های Compose است.

  • پایدار - شامل آخرین نسخه‌های پایدار هر کتابخانه است.
  • نسخه بتا - شامل آخرین نسخه‌های بتا، نسخه‌های کاندید انتشار (RC) یا نسخه‌های پایدار هر کتابخانه است.
  • آلفا - شامل آخرین نسخه‌های آلفا، بتا، RC یا پایدار هر کتابخانه است.

نسخه‌های آلفا و بتای BOM با اضافه کردن -alpha و -beta به نام مصنوع BOM مشخص می‌شوند. نسخه پایدار پسوندی ندارد.

کاتلین

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 بازخورد ارائه دهم؟

شما می‌توانید مشکلات خود را در بخش پیگیری مشکلات ما ثبت کنید.

{% کلمه به کلمه %} {% فعل کمکی %} {% کلمه به کلمه %} {% فعل کمکی %}