この記事は Jolanda Verhoef による Android Developers Blog の記事 " Independent versioning of Jetpack Compose libraries " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
2022 年 6 月 29 日より、さまざまな Jetpack Compose ライブラリが独立したバージョニング スキームに移行します。これにより、androidx.compose.compiler や androidx.compose.animation などのサブグループが個別のリリース サイクルに従えるようになります。
androidx.compose.compiler や androidx.compose.animation
これらのライブラリに独立したバージョニングを導入することで、これまで暗黙的に結合されていた依存関係が切り離されます。そのため、アプリの段階的なアップグレードがしやすくなり、最新の Compose 機能を維持できるようになります。
バージョンが 1 つになっていた Compose から最初に切り離されるライブラリは、Compose Compiler です。2022 年 6 月 29 日より、Kotlin 1.7.0 をサポートする 1.2.0 安定版をリリースしました。このリリースには、Compose UI ライブラリおよび Compose Runtime ライブラリとの下位互換性と上位互換性の両方が備わっています。つまり、Compose Compiler を 1.2.0 安定版にアップグレードして Kotlin 1.7.0 を使いつつ、他の Compose ライブラリは 1.1.0 安定版などの現行バージョンのままにすることができます。
アプリで使っている Compose Compiler のバージョンをアップグレードするには、build.gradle ファイルで kotlinCompilerExtensionVersion を指定します。
build.gradle
kotlinCompilerExtensionVersion
android { composeOptions { kotlinCompilerExtensionVersion = "1.2.0" }}
android {
composeOptions {
kotlinCompilerExtensionVersion = "1.2.0"
}
Compose と Kotlin は密接に結びついており、Kotlin のバージョンをアップグレードするために Compose Compiler のアップデートが必要になるというフィードバックがありました。Compose と Kotlin の両方で最も優れた最新の機能(とバグの修正)を使っていただけるように、Compose Compiler の安定版は頻度を上げてリリースする計画です。つまり、Compose Compiler のバージョン番号は、他のほとんどの Compose ライブラリよりも上がるペースが早くなります。Compose Compiler では上位互換性と下位互換性の両方が確保されるので、新しいバージョンがリリースされたら、すぐにアップグレードできます。
Compose Compiler は Kotlin コンパイラ プラグインなので、お使いの Kotlin のバージョンと互換性のあるバージョンの Compose Compiler を使う必要があります。Compose-Kotlin 互換性マップを参考に、プロジェクトに合ったバージョンを選んでください。
Compiler ライブラリを異なるバージョニング スキームに移行することは、Compose ライブラリ グループ間のバージョン依存を解消するための第一歩です。今後、他の Compose ライブラリでも新しい安定版リリースが公開され、Compose Compiler とは別にそれぞれのリリース サイクルに従うことになります。
独立したバージョニングに対応し、さっそく最新バージョンの Compose Compiler と Kotlin (英語) を使ってみましょう。
皆さんが Compose で作るアプリを楽しみにしています。