Jetpack Composeは、 GoogleがKotlinでのクロスプラットフォームソフトウェア開発向けに開発したオープンソースのリアクティブユーザーインターフェース(UI)フレームワークです。最初のプレビュー版は2019年5月に発表され、2021年7月に本番環境での使用が可能になりました。
Compose では、アノテーションが付与された関数を使用してユーザー インターフェイスが定義されます。@Composableこれらの関数はコンポーザブル関数と呼ばれ、画面の状態を定義します。 Jetpack Compose は Kotlin コンパイラ プラグインを使用して、コンポーザブル関数を UI 要素に変換します。[ 2 ]例えば、次のコードはシンプルな UI 要素を定義します。
@Composable fun Greeting ( name : String ) { Text ( text = "こんにちは$ name " ) }Jetpack Compose の最初のプレビューは、2019 年 5 月に開催されたGoogle I/Oカンファレンスで発表されました。 [ 3 ]開発者プレビューは 2019 年 10 月にリリースされ、[ 4 ]アルファ版は2020年 8 月にリリースされました。[ 5 ]
Jetpack Compose はAndroid 5.0以降をサポートしています。[ 7 ] Kotlinプログラミング言語を使用し、Flutter、Vue.js、React Nativeなどの他の UI フレームワークと同様のリアクティブ プログラミングモデルを提供します。[ 3 ] Compose は既存の Android アプリやライブラリとシームレスに統合するように設計されており、開発者はアプリを Compose に段階的に移行できます。[ 6 ]
Compose では、アノテーションが付与された関数を使用してユーザー インターフェイスが定義されます。@Composableこれらの関数はコンポーザブル関数と呼ばれ、画面の状態を定義します。[ 8 ] [ 9 ]アノテーションは Compose コンパイラによって UI の定型コードを生成するために使用されます。[ 9 ]状態が更新されると、コンポーザブル関数が新しいデータとともに再度呼び出され、それによって、再合成と呼ばれるプロセスで、それらが出力するウィジェットが再描画されます。再合成は更新が必要なコンポーザブル関数に対してのみ実行されるため、UI の効率が向上します。[ 10 ]
1.0 リリースでは Compose Preview が導入され、 Arctic Fox 以降Android Studioに組み込まれています。これにより、アプリをデバイスにデプロイすることなく、さまざまな構成を使用してコンポーザブルをプレビューできます。[ 11 ]
Jetpack Glanceは、Android向けウィジェット開発のためのJetpack Composeベースのフレームワークです。[ 12 ] Glanceの最初の安定版リリースは2023年9月に行われました。[ 13 ]
2024年9月、 Material 3でアダプティブUIを構築するためのJetpack Composeアプリケーションプログラミングインターフェース(API )の安定版1.0がリリースされました。[ 14 ]
Jetpack Compose 1.0 がリリースされたとき、Google は「 Play ストアではすでに 2,000 を超えるアプリがCompose を使用しています。実際、Play ストア アプリ自体も Compose を使用しています。」と述べています。 [ 8 ] 2022 年 10 月の時点で、Play ストアの上位 1,000 個のアプリのうち 16% が Compose を含んでいました。これらのアプリには、Airbnb、Lyft、Squareなどの企業のものが含まれていました。[ 15 ] 2024 年 5 月には、この数字は 40% に増加しました。[ 16 ]
2022年、GoogleはPlayストアアプリの書き換えの一環としてJetpack Composeをどのように利用したかを詳しく説明し、「UIの記述に必要なコードが大幅に減り、場合によっては最大50%削減できた」と述べ、開発者はアプリのパフォーマンスを向上させることができたとしました。[ 17 ] [ 18 ] GoogleはAndroid 14でJetpack Composeを使用してAndroidの設定アプリの一部を書き直しました。[ 19 ] Meta PlatformsはJetpack Composeを使用して5か月でThreadsソーシャルメディアアプリを開発しました。 [ 20 ] [ 21 ] Android版InstagramアプリもJetpack Composeを使用して書かれています。[ 22 ]
Compose MultiplatformはJetBrainsが開発したマルチプラットフォーム UI フレームワークで、Jetpack Compose をベースにしています。Windows 、macOS、Linux、および Web用の Jetpack Compose の移植版です。 [ 23 ] [ 24 ] [ 25 ]バージョン 1.0 アルファは 2021 年 8 月にリリースされました。[ 8 ] iOSのサポートは 2023 年 5 月に追加されました。[ 26 ]