تتيح لك قائمة مواد Compose (BOM) إدارة جميع إصدارات مكتبة Compose من خلال تحديد إصدار قائمة مواد BOM فقط. ويحتوي BOM نفسه على روابط إلى الإصدارات الثابتة لمكتبات Compose المختلفة، بطريقة تتيح لها العمل معًا بشكل جيد. عند استخدام ملف قائمة المكوّنات في تطبيقك، ليس عليك إضافة أي إصدار إلى مكتبة Compose التي تعتمد عليها. عند تحديث إصدار BOM، يتم تلقائيًا تحديث جميع المكتبات التي تستخدمها إلى إصداراتها الجديدة.
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2025.02.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.02.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 معيّن، اطّلِع على ربط قائمة بمواد العرض بإصدار المكتبة.
لماذا لا يتم تضمين مكتبة Compose Compiler في قائمة مواد العرض؟
لا تكون إضافة مُجمِّع Compose Kotlin (androidx.compose.compiler) مرتبطة بإصدارات مكتبة Compose. بل يتم ربطها بإصدارات المكوّن الإضافي لبرنامج تجميع Kotlin وإصدارها بوتيرة منفصلة عن باقي أداة Compose.
اعتبارًا من الإصدار 2.0 من Kotlin، يتمّ إدارة مُجمِّع تطبيقات Compose إلى جانب مُجمِّع Kotlin ويستخدم الإصدار نفسه المستخدَم في مُجمِّع Kotlin. اطلِع على Compose Compiler Gradle الإضافي للحصول على تفاصيل حول عملية الضبط.
قبل الإصدار 2.0 من Kotlin، يجب التأكد من استخدام إصدار متوافق مع إصدار Kotlin. يمكنك العثور على إصدار Kotlin المرتبط بكل إصدار من المكوِّن الإضافي من خلال Compose to Kotlin Compiler، وكيفية إعداده في Compose Compiler.
كيف يمكنني استخدام إصدار مكتبة مختلف عن الإصدار المحدّد في قائمة مواد العرض؟
في قسم الموارد التابعة build.gradle
، احتفظ باستيراد منصة BOM. في استيراد تبعية المكتبة، حدد إصدار الإلغاء. على سبيل المثال، إليك كيفية تحديد التبعيات إذا كنت تريد استخدام إصدار أحدث من مكتبة الرسوم المتحركة، بغض النظر عن الإصدار المحدّد في قائمة مواد العرض:
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2025.02.00") implementation(composeBom) // Override the BOM version when needed implementation("androidx.compose.animation:animation:1.8.0-beta02") // .. }
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform("androidx.compose:compose-bom:2025.02.00") implementation composeBom // Override the BOM version when needed implementation 'androidx.compose.animation:animation:1.8.0-beta02' // .. }
هل يضيف BOM جميع مكتبات Compose تلقائيًا إلى تطبيقي؟
لا. لإضافة مكتبات Compose واستخدامها في تطبيقك، عليك تحديد كل مكتبة باعتبارها سطر تبعية منفصل في ملف Gradle للوحدة (على مستوى التطبيق) (عادةً ما يكون app/build.gradle).
ويضمن استخدام BOM توافق إصدارات أي مكتبات Compose في تطبيقك، ولكنّه لا يضيف مكتبات Compose هذه إلى تطبيقك.
لماذا يُنصح باستخدام قائمة مواد العرض لإدارة إصدارات مكتبة Compose؟
ومن الآن فصاعدًا، سيتم إصدار مكتبات Compose بشكل مستقل، وهو ما يعني أن أرقام الإصدارات ستبدأ في الزيادة بالوتيرة التي تناسبها. يتم اختبار أحدث الإصدارات الثابتة من كل مكتبة معًا. ومع ذلك، قد يكون من الصعب العثور على أحدث الإصدارات الثابتة من كل مكتبة، ويساعدك مخطّط إدارة المكونات في استخدام هذه الإصدارات الأحدث تلقائيًا.
هل عليّ استخدام 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 متاحة. كل قائمة بمواد العرض هي لقطة زمنية لأحدث إصدارات متاحة من مكتبات Compose.
- الإصدار الثابت: يحتوي على أحدث الإصدارات الثابتة من كل مكتبة
- الإصدار التجريبي: يحتوي على أحدث إصدار تجريبي أو إصدار مرشح للإصدار (RC) أو إصدار ثابت من كل مكتبة
- الإصدار الأولي: يحتوي على أحدث إصدار أولي أو تجريبي أو إصدار لاحق أو إصدار ثابت من كل مكتبة
يتم تحديد الإصدارَين الأولي والتجريبي من BOM عن طريق إضافة -alpha
و-beta
إلى اسم عناصر BOM. ما مِن لاحقة في الإصدار الثابت.
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom-alpha:2025.02.00") // or platform("androidx.compose:compose-bom-beta:2025.02.00") implementation(composeBom) // .. }
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom-alpha:2025.02.00') // or platform('androidx.compose:compose-bom-beta:2025.02.00') implementation composeBom // .. }
كيف يمكنني الإبلاغ عن مشكلة أو تقديم ملاحظات حول قائمة مواد العرض؟
يمكنك الإبلاغ عن المشاكل في أداة تتبُّع المشاكل.
ما من اقتراحات في الوقت الحالي.
يُرجى محاولة تسجيل الدخول إلى حسابك على Google.