Como usar a Lista de materiais

A Lista de materiais (BoM) do Compose permite gerenciar todas as versões da biblioteca do Compose especificando apenas a versão da BoM. A BoM tem links para as versões estáveis das diferentes bibliotecas do Compose de maneira que elas funcionem bem juntas. Ao usar a BoM no app, não é necessário adicionar nenhuma versão às dependências de biblioteca do Compose. Quando você atualiza a versão da BoM, todas as bibliotecas que você está usando são atualizadas de forma automática para as novas versões.

Para descobrir quais versões de bibliotecas do Compose correspondem a uma versão específica da BoM, confira a seção Mapeamento de versão da BoM e de bibliotecas.

Por que a biblioteca Compose Compiler não está inclusa na BoM?

A extensão do compilador Kotlin do Compose (androidx.compose.compiler) não está vinculada às versões de biblioteca do Compose. Em vez disso, ela está vinculada a versões do plug-in do compilador Kotlin e foi lançada em outra cadência do Compose. Portanto, use uma versão compatível com a versão do Kotlin. Você encontra a versão do Kotlin que corresponde a cada versão do plug-in no Mapa de compatibilidade do Compose para Kotlin.

Como usar uma versão de biblioteca diferente da que é designada na BoM?

Na seção de dependências do build.gradle, mantenha a importação da plataforma BoM. Na importação das dependências da biblioteca, especifique a versão preferida. Por exemplo, veja como declarar dependências se você quer usar uma versão Alfa do Material 3, independente da versão designada na BoM:

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

    // 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'
}

A BoM adiciona de forma automática todas as bibliotecas do Compose ao meu app?

Não. Para adicionar e usar bibliotecas do Compose no seu app, é necessário declarar cada biblioteca como uma linha de dependência separada no arquivo Gradle do módulo no nível do app, geralmente em app/build.gradle.

O uso da BoM garante que as versões de qualquer biblioteca do Compose no seu app sejam compatíveis, mas ela não adiciona essas bibliotecas ao seu app.

A partir de agora, as bibliotecas do Compose serão criadas de maneira independente, o que significa que os números de versão vão começar a ser incrementados no próprio ritmo. As versões mais estáveis de cada biblioteca são testadas, e é garantido que elas vão funcionar bem juntas. No entanto, encontrar as versões estáveis mais recentes de cada biblioteca pode ser difícil. Por isso, a BoM ajuda você a usar essas versões de forma automática.

O uso da BoM é obrigatório?

Não. Você ainda pode adicionar cada versão de dependência manualmente. No entanto, recomendamos a BoM, porque ela facilita o uso de todas as versões estáveis mais recentes ao mesmo tempo.

A BoM funciona com os catálogos de versões?

Sim. É possível incluir a BoM no catálogo de versões e omitir as outras versões de biblioteca do Compose:

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

Não se esqueça de importar a BoM no build.gradle do módulo:

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

    // import Compose dependencies as usual
}

Como posso informar um problema ou enviar feedback sobre a BoM?

Você pode registrar problemas no nosso Issue Tracker.