Compose をアプリに導入する

Jetpack Compose は、確立されたビューベースの UI アプローチで動作するように設計されています。新しいアプリをビルドする場合、Compose を使用して UI 全体を実装することをおすすめします。しかし、既存のアプリを変更する場合は、すべてを一度に移行したくない場合もあるでしょう。その場合は、Compose と既存の UI デザインの実装を組み合わせることができます。

ビューベースの UI と Compose を組み合わせる方法は主に 2 つあります。

  • Compose の要素を既存の UI に追加するには、まったく新しい Compose ベースの画面を作成するか、既存のアクティビティ、フラグメントまたはビュー レイアウトに Compose 要素を追加します。

  • ビューベースの UI 要素をコンポーズ可能な関数に追加できます。これにより、Android ビューを Compose ベースのデザインに追加できます。

アプリ全体の Compose への移行を最も効果的に行うには、プロジェクトに必要な粒度に基づいて段階的に行います。一度に移行するのは、1 画面ずつでも、フラグメントなどの再利用可能な UI 要素を 1 つずつでも可能です。次のようなアプローチを取ることができます。

  • ボトムアップ アプローチでは、まず画面上の小さい UI 要素(ButtonTextView など)を移行し、次にその ViewGroup 要素を移行した後、すべてをコンポーズ可能な関数に変換します。

  • トップダウン アプローチでは、まずフラグメントやビューコンテナ(FrameLayoutConstraintLayoutRecyclerView など)を移行し、次に画面上の小さな UI 要素を移行します。

上記のアプローチは、各画面が自己完結型であることを前提としていますが、デザイン システムなどの共有 UI を JetpackCompose に移行することも可能です。詳しくは、Compose と既存の UI の統合するをご覧ください。

以下のページで、Compose を既存のアプリと統合する方法について詳しく説明します。

  • アプリに Compose を追加する: 既存のビューベースのアプリで Compose の使用を開始するための基本的な方法について確認します。
  • 相互運用 API: Compose とビューベースの UI を組み合わせるために役立つ Compose の API について確認します。
  • 既存のアーキテクチャでの Compose: アプリに Compose を導入する場合に、ビューと Compose ベースの UI を組み合わせる方法について確認します。
  • 既存の UI での Compose: アプリの UI の Compose 部分と Compose 以外の部分でビューベースの UI 要素を共有する方法について確認します。