Menggunakan Bill of Materials

Compose Bill of Material (BOM) memungkinkan Anda mengelola semua versi library Compose dengan hanya menentukan versi BOM. BOM memiliki link ke versi stabil library Compose yang berbeda, sedemikian rupa sehingga dapat digunakan bersama. Saat menggunakan BOM di aplikasi, Anda tidak perlu menambahkan versi apa pun ke dependensi library Compose itu sendiri. Saat Anda mengupdate versi BOM, semua library yang digunakan akan otomatis diupdate ke versi terbaru.

Untuk mengetahui versi library Compose mana yang dipetakan ke versi BOM tertentu, lihat Pemetaan BOM ke versi library.

Mengapa library Compose Compiler tidak disertakan dalam BOM?

Ekstensi compiler Kotlin Compose (androidx.compose.compiler) tidak ditautkan ke versi library Compose. Sebagai gantinya, ekstensi ini ditautkan ke versi plugin compiler Kotlin dan dirilis dalam ritme yang terpisah dari Compose lainnya, jadi pastikan untuk menggunakan versi yang kompatibel dengan versi Kotlin Anda. Anda dapat menemukan versi Kotlin yang dipetakan ke setiap versi plugin di Peta Kompatibilitas Compose ke Kotlin.

Bagaimana cara menggunakan versi library yang berbeda dari yang ditetapkan di BOM?

Di bagian dependensi build.gradle, pertahankan impor platform BOM. Pada impor dependensi library, tentukan versi yang diinginkan. Misalnya, berikut cara mendeklarasikan dependensi jika Anda ingin menggunakan versi alfa Material 3, apa pun versi yang ditetapkan di BOM:

dependencies {
    // Import the Compose BOM
    implementation platform('androidx.compose:compose-bom:2024.03.00')

    // Import Material Design 3 library
    implementation 'androidx.compose.material3:material3:1.1.2'

    // Import other Compose libraries without version numbers
    // ..
    implementation 'androidx.compose.foundation:foundation'
}

Apakah BOM secara otomatis menambahkan semua library Compose ke aplikasi saya?

Tidak. Untuk menambahkan dan menggunakan library Compose di aplikasi, Anda harus mendeklarasikan setiap library sebagai baris dependensi terpisah dalam file Gradle modul (level aplikasi) (biasanya app/build.gradle).

Penggunaan BOM akan memastikan bahwa versi library Compose di aplikasi Anda kompatibel, tetapi BOM tidak benar-benar menambahkan library Compose tersebut ke aplikasi Anda.

Ke depannya, library Compose akan diberi versi secara independen, yang berarti nomor versi akan mulai bertambah seiring waktu. Rilis stabil terbaru dari setiap library diuji dan dijamin berfungsi dengan baik bersama-sama. Namun, menemukan versi stabil terbaru dari setiap library bisa jadi tidak mudah, dan BOM membantu Anda untuk menggunakan versi terbaru secara otomatis.

Apakah saya dipaksa menggunakan BOM?

Tidak. Anda masih dapat memilih untuk menambahkan setiap versi dependensi secara manual. Namun, sebaiknya gunakan BOM karena akan mempermudah penggunaan semua versi stabil terbaru secara bersamaan.

Apakah BOM dapat digunakan dengan katalog versi?

Ya. Anda dapat menyertakan BOM itu sendiri dalam katalog versi, dan menghapus versi library Compose lainnya:

[libraries]
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidxComposeBom" }
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }

Jangan lupa untuk mengimpor BOM dalam build.gradle modul Anda:

dependencies {
    val composeBom = platform(libs.androidx.compose.bom)
    implementation(composeBom)
    androidTestImplementation(composeBom)

    // import Compose dependencies as usual
}

Bagaimana cara melaporkan masalah atau menawarkan masukan tentang BOM?

Anda dapat melaporkan masalah di issue tracker kami.