Cómo usar la lista de materiales

La lista de materiales de Compose (BoM) te permite administrar todas las versiones de tu biblioteca de Compose especificando solo la versión de la BoM. La BoM en sí tiene vínculos a las versiones estables de las diferentes bibliotecas de Compose, de modo que funcionen bien en conjunto. Cuando usas la BoM en tu app, no necesitas agregar ninguna versión a las dependencias de la biblioteca de Compose. Cuando actualizas la versión de BoM, todas las bibliotecas que usas se actualizan automáticamente a sus versiones nuevas.

Para descubrir qué versiones de la biblioteca de Compose se asignan a una versión específica de la BoM, consulta la asignación de la versión de la BoM a la biblioteca.

¿Por qué no se incluye la biblioteca del compilador de Compose en la BoM?

La extensión del compilador de Kotlin para Compose (androidx.compose.compiler) no está vinculada a las versiones de la biblioteca de Compose. En cambio, está vinculada a las versiones del complemento del compilador de Kotlin y se lanzó en una cadencia independiente del resto de Compose, así que asegúrate de usar una versión que sea compatible con tu versión de Kotlin. Puedes encontrar la versión de Kotlin que se asigna a cada versión del complemento en el mapa de compatibilidad de Compose para Kotlin.

¿Cómo uso una versión de biblioteca diferente a la designada en la BoM?

En la sección de dependencias build.gradle, mantén la importación de la plataforma BoM. En la importación de dependencias de la biblioteca, especifica la versión deseada. Por ejemplo, aquí se muestra cómo declarar dependencias si deseas usar una versión alfa de Material 3, sin importar qué versión se designe en la 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'
}

¿La BoM agrega todas las bibliotecas de Compose a mi app automáticamente?

No. Para agregar y usar bibliotecas de Compose en tu app, debes declarar cada biblioteca como una línea de dependencia separada en el archivo Gradle (generalmente app/build.gradle) de tu módulo (nivel de app).

Usar la BoM garantiza que las versiones de las bibliotecas de Compose en tu app sean compatibles, pero la BoM no agrega esas bibliotecas a tu app.

En el futuro, las versiones de las bibliotecas de Compose se controlarán de forma independiente, lo que significa que los números de versión comenzarán a aumentar a su propio ritmo. Las versiones estables más recientes de cada biblioteca se prueban y se garantiza que funcionen bien juntas. Sin embargo, encontrar las versiones estables más recientes de cada biblioteca puede ser difícil, y la BoM te ayuda a usarlas automáticamente.

¿Tengo la obligación de usar la BoM?

No. Aún puedes optar por agregar cada versión de dependencia manualmente. Sin embargo, recomendamos usar la BoM ya que facilitará el uso de todas las versiones estables más recientes al mismo tiempo.

¿La BoM funciona con catálogos de versiones?

Sí. Puedes incluir la BoM en el catálogo de versiones y omitir las otras versiones de la biblioteca de Compose:

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

No te olvides de importar la BoM en el build.gradle de tu módulo:

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

    // import Compose dependencies as usual
}

¿Cómo informo un problema o envío comentarios sobre la BoM?

Puedes informar problemas en nuestra herramienta de seguimiento de errores.