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.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' }
برای اینکه بدانید کدام نسخه های کتابخانه Compose به یک نسخه BOM خاص نگاشت شده اند، نگاشت نسخه BOM به کتابخانه را بررسی کنید.
چرا کتابخانه Compose Compiler در BOM گنجانده نشده است؟
پسوند کامپایلر Compose Kotlin (androidx.compose.compiler) به نسخه های کتابخانه Compose پیوند داده نشده است. در عوض، به نسخههای افزونه کامپایلر Kotlin پیوند داده شده و در آهنگی جداگانه از بقیه Compose منتشر میشود، بنابراین مطمئن شوید که از نسخهای استفاده کنید که با نسخه Kotlin شما سازگار باشد. میتوانید نسخه Kotlin را که به هر نسخه از افزونه نگاشت میشود، در Compose to Kotlin Compatibility Map پیدا کنید.
چگونه از نسخه کتابخانه ای متفاوت از آنچه در BOM تعیین شده است استفاده کنم؟
در بخش build.gradle
dependencies، واردات پلت فرم 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 به طور خودکار همه کتابخانه های 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 }
چگونه می توانم یک مشکل یا بازخورد را در مورد BOM گزارش کنم؟
می توانید مشکلات را در ردیاب مشکل ما ثبت کنید.
{% کلمه به کلمه %}برای شما توصیه می شود
- توجه: وقتی جاوا اسکریپت خاموش است، متن پیوند نمایش داده می شود
- متریال دیزاین 3 در Compose
- ConstraintLayout در Compose
- منابع در Compose