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