Compose Bill of Materials (BOM) به شما امکان می دهد تمام نسخه های کتابخانه Compose خود را با مشخص کردن نسخه BOM مدیریت کنید. خود BOM دارای پیوندهایی به نسخه های پایدار کتابخانه های مختلف Compose است، به گونه ای که به خوبی با هم کار می کنند. هنگام استفاده از BOM در برنامه خود، نیازی به افزودن هیچ نسخه ای به خود وابستگی های کتابخانه Compose ندارید. هنگامی که نسخه BOM را به روز می کنید، تمام کتابخانه هایی که استفاده می کنید به طور خودکار به نسخه های جدید خود به روز می شوند.
کاتلین
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2024.09.03") 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.09.03') 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 Kotlin (androidx.compose.compiler) به نسخه های کتابخانه Compose پیوند داده نشده است. در عوض، به نسخههای افزونه کامپایلر Kotlin پیوند داده شده و در آهنگی جداگانه از بقیه Compose منتشر میشود.
از Kotlin 2.0، کامپایلر Compose در کنار کامپایلر Kotlin مدیریت می شود و از همان نسخه کامپایلر Kotlin استفاده می کند. برای جزئیات پیکربندی به افزونه Compose Compiler Gradle مراجعه کنید.
قبل از Kotlin 2.0، باید مطمئن شوید که از نسخه ای استفاده می کنید که با نسخه Kotlin شما سازگار است. میتوانید نسخه Kotlin را که به هر نسخه از افزونه نقشه میدهد در Compose to Kotlin Compatibility Map و نحوه پیکربندی آن را در Compose Compiler بیابید.
چگونه از نسخه کتابخانه ای متفاوت از آنچه در BOM تعیین شده است استفاده کنم؟
در بخش build.gradle
dependencies، واردات پلت فرم BOM را حفظ کنید. در واردات وابستگی کتابخانه، نسخه اصلی را مشخص کنید. به عنوان مثال، اگر میخواهید از نسخه جدیدتری از کتابخانه انیمیشن استفاده کنید، صرف نظر از اینکه چه نسخهای در BOM تعیین شده است، در اینجا نحوه اعلام وابستگی آورده شده است:
کاتلین
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2024.09.03") implementation(composeBom) // Override the BOM version when needed implementation("androidx.compose.animation:animation:1.8.0-alpha03") // .. }
شیار
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform("androidx.compose:compose-bom:2024.09.03") implementation composeBom // Override the BOM version when needed implementation 'androidx.compose.animation:animation:1.8.0-alpha03' // .. }
آیا BOM به طور خودکار همه کتابخانه های Compose را به برنامه من اضافه می کند؟
خیر. برای افزودن و استفاده از کتابخانه های Compose در برنامه خود، باید هر کتابخانه را به عنوان یک خط وابستگی جداگانه در فایل Gradle ماژول (سطح برنامه) خود (معمولا app/build.gradle) اعلام کنید.
استفاده از BOM تضمین میکند که نسخههای هر کتابخانه Compose در برنامه شما سازگار هستند، اما 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 را امتحان کنم چه می شود؟
سه Compose BOM موجود است. هر 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:2024.09.03") // or platform("androidx.compose:compose-bom-beta:2024.09.03") implementation(composeBom) // .. }
شیار
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom-alpha:2024.09.03') // or platform('androidx.compose:compose-bom-beta:2024.09.03') implementation composeBom // .. }
چگونه می توانم یک مشکل یا بازخورد را در مورد BOM گزارش کنم؟
می توانید مشکلات را در ردیاب مشکل ما ثبت کنید.
{% کلمه به کلمه %}برای شما توصیه می شود
- توجه: وقتی جاوا اسکریپت خاموش است، متن پیوند نمایش داده می شود
- متریال دیزاین 3 در Compose
- ConstraintLayout در Compose
- منابع در Compose