本日、Jetpack Compose 1.0 のリリースから 5 周年を迎えました。2021 年 7 月 28 日に発表されたバージョン 1.0 から最新の 1.11 リリースまで、API は長年にわたって大幅に進化してきました。この機会に、その進化を祝いたいと思います。
1.0 リリースを正式に発表した際、Android でネイティブ インターフェースを構築するためのよりシンプルで高速かつ直感的な方法を提供することを約束しました。振り返ってみると、Compose はその約束を果たしただけでなく、Android エコシステムを完全に変革したと言えます。現在、上位 1,000 個のアプリの 68% 以上が本番環境で使用しています。
履歴
過去 5 年間、Compose は着実に成長してきました。初期のブログ投稿では、基本的な Box、Row、Column を使用してレイアウトを構築する方法を紹介しました。現在、Compose はモバイル デバイスだけでなく、Compose for TV、WearOS、Glance for Widgets、さらには Jetpack Compose Glimmer を搭載したディスプレイ グラスなど、さまざまなフォーム ファクタで動作するように拡張されています。
Android Developers Backstage のエピソードでは、Jetpack のエンジニアリング リードである Clara Bayarri と、チームの元リードである Romain Guy と Chet Haase、シニア エンジニアリング ディレクターの Tor Norbye が出演しました。このエピソードでは、Compose の歴史と開発の初期について語っています。
振り返り
Compose の初期は、現在とは大きく異なっていました。Android チーム内では 2 つのプロジェクトが並行して進行していました。
当時、Views ツールキット チームは、開発スピードを向上させ、デベロッパーがアップデートを簡単に導入して制御できるように、UI ツールキットをライブラリにアンバンドルすることを検討していました。一方、あるチームは Kotlin 内に XML を埋め込んで宣言型レイアウトを構築するという斬新なアイデアに取り組んでいました。そのアイデアは次のようなものでした。
この 2 つの取り組みが統合され、現在の Compose が誕生しました。これは、コンパイラ プラグイン、ランタイム、Kotlin の機能を活用した、完全に宣言型の UI ツールキットです。
@Composable fun Newsfeed(stories: List<Story>) { LazyColumn { items(stories) { story -> Card { val author = story.author Image(painterResource(author.profilePhoto), contentDescription = author.name) Text(author.name) Text(story.content) if (story.hasCommentsEnabled()) { for(comment in story.comments) { Text(comment.mainContent) } } } } } }
そして、コミュニティの皆様には、早い段階からご協力いただきました。2021 年以前、Compose にはプレアルファ フェーズがあり、Compose がデベロッパーの問題を解決するのに適していることを確認するのに役立ちました。
特に印象に残っているのは、Android Dev Challenge です。Google はコミュニティに Compose を使用して 4 つの異なるタスクを構築するよう依頼し、フィードには子犬アプリ、時計、天気アプリが投稿されました。また、1.0 リリースに役立つ直接的なフィードバックも多数寄せられました。
Compose は、マテリアル 2 コンポーネントのセットでリリースされてから、Material 3 Expressive をサポートするまでに進化を続けています。
今後の対応
本日現在、Compose 1.11 が最新バージョンであり、1.12 がまもなくリリースされます。5 年前の 1.0 と比較して、大幅な機能強化が施されています。今年、FlexBox、Grid、MediaQuery、Styles など、より適応性の高い API を導入しました。これらの API を使用すると、Compose でプレミアムなアダプティブ UI 開発の次のレベルに進むことができます。
Google I/O 2026 で、Google は Compose ファーストになったことを発表しました。つまり、今後のすべての UI 開発は Compose でのみ行われ、Views ツールキットはメンテナンス モードに入ります。マテリアル デザインも 焦点を完全に Compose に移し、findViewById era の終了を告げています。
Compose の中心にあるのはコミュニティ
長年にわたり、Compose のクリエイティブな使用例を教えていただき、ありがとうございます。ここでは、特に優れた成果を挙げている例をいくつかご紹介します。JetBrains は、Compose の優れたパートナーとして、Compose マルチプラットフォームで Compose をさまざまなプラットフォームで動作するように拡張し、パソコン、iOS、ウェブの開発者も Compose のメリットを享受できるようにしました。
JetpackCompose.app の Dispatch、AndroidWeekly、jetc など、Android デベロッパーが Compose と Android の最新情報を把握するのに役立つ、人気のニュースレターをフォローしてきました。
もう 1 人の優れた貢献者は、sinasamaki です。Compose を使用して、楽しいリボン修飾子やグリッチ効果など、多くの魅力的なエクスペリエンスが作成されています。
Saket Narayan 氏も、Compose の便利なツール(telephoto など)の作成において常にインスピレーションの源となっています。telephoto は、パンとズームのジェスチャーのサポートと、大きな画像の自動サブサンプリングを特徴とするライブラリです。また、最新のライブラリである Touch Robot を使用すると、インタラクション アニメーションを簡単にテストできます。
paparazzi.gif(end = 3_000) { DebitCard( Modifier.testTag("card") ) val touchRobot = rememberTouchRobot() LaunchedEffect(Unit) { touchRobot.onNode(hasTestTag("card")).performGesture { draw( path = createAndroidHeadPath(), duration = 3.seconds, ) } } } /** A path drawing the Android head. */ fun createAndroidHeadPath(bounds: Rect): Path = TODO() |
|
Jake Wharton 氏(molecule などの革新的な方法で Compose を使用し、mosaic を使用してターミナル用の UI を Compose でビルドしています)。長年にわたって多くの Compose ライブラリを構築してきた Chris Banes(最近のお気に入りは背景のぼかし用の Haze)や、Compose の成功に貢献してきた Android Google Developer Experts(Akshay Chordiya、Huyen Tue Dao、Katie Barnett など)もその一例です。これは個人を選ぶものではありません。Compose コードベースには多くの優れたコントリビューターがおり、楽しいサンプル、ライブラリ、詳細な講演で私たちにインスピレーションを与え続けてくれています。 コミュニティがなければ、Jetpack Compose は今日ほど成功していなかったでしょう。
今後 5 年間、そしてそれ以降も、どうぞよろしくお願いいたします。
Jetpack Compose は、試験運用版のアイデアから Android UI 開発の標準へと成長しました。Google の Toolkit チーム全体と、ライブラリの作成、バグの報告、宣言型 UI の可能性の拡大に貢献してくれた世界中の素晴らしいデベロッパー コミュニティに感謝します。
今週は、世界各地で対面式の誕生日パーティーを開催するほか、7 月 30 日午後 1 時(UTC)に Android Developers YouTube チャンネルで「誕生日パーティー」のライブ配信を行います。この時間には、Compose について話し合ったり、質問に答えたりします。
今後 5 年間のご活躍を応援しています。作曲をお楽しみください。
-
プロダクト ニュースGooglebook は、共有 Android 基盤上に構築された新しいカテゴリのノートパソコンです。HP、Dell、Lenovo、Acer、Asus などのパートナーの高性能ハードウェアは、モバイルの利便性とデスクトップのパワーを兼ね備えています。
Fahd Imtiaz, Loryn Hairston • 所要時間: 4 分 -
プロダクト ニュース本日、Jetpack Compose の 2026 年 8 月リリースが安定版になりました。
Nick Butcher • 所要時間: 5 分 -
プロダクト ニュースGoogle Pixel 11 Pro Fold、Google Pixel Watch 5、Google Pixel ファミリー全体の導入により、ユーザーはさまざまな画面サイズ、独自の姿勢、インテリジェントなエクスペリエンスをシームレスに移動できるようになります。
Android 開発に関する最新の分析情報を毎週メールでお届けします。