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