Jetpack Compose を使ってみる

Jetpack Compose は、Android のネイティブ UI を構築するための最新のツールキットです。このページには、Compose の使用に関する最新情報が記載されています。

  • 概要: Compose を利用するデベロッパー向けに提供されているすべてのリソースをご覧ください。
  • チュートリアル: Compose の利用を開始してシンプルな UI を構築します。

基本コンセプト

  • Compose の思想: Compose の宣言型アプローチが従来のビューベースのアプローチと異なる点、Compose を使用する場合のメンタルモデルの構築方法について確認します。
  • 状態の管理: Compose アプリで状態を設定して使用する方法について確認します。
  • コンポーザブルのライフサイクル: コンポーザブルのライフサイクルと、再描画が必要かどうかを Compose が決定する仕組みについて確認します。
  • 修飾子: 修飾子を使用してコンポーザブルを装飾または拡張する方法について確認します。
  • Compose の副作用: 副作用を管理するための最適な方法について確認します。
  • Jetpack Compose のフェーズ: UI をレンダリングするために Compose を介して行う手順と、その情報を使用して効率的なコードを記述する方法について確認します。
  • アーキテクチャのレイヤリング: Jetpack Compose を構成するアーキテクチャ レイヤと、その設計に影響を与えたコア原則について確認します。
  • パフォーマンス: アプリのパフォーマンス低下の原因となる可能性がある一般的なプログラミングの落とし穴を回避する方法について確認します。
  • Compose のセマンティクス: ユーザー補助サービスとテスト フレームワークで使用できるように UI を整理する、セマンティクス ツリーについて確認します。
  • CompositionLocal でローカルにスコープ設定されたデータ: CompositionLocal を使用して Composition を介してデータを渡す方法について確認します。

開発環境

設計

  • レイアウト: Compose のネイティブ レイアウト コンポーネントと、独自のレイアウトを設計する方法について確認します。
    • レイアウトの基本: シンプルなアプリ UI のビルディング ブロックについて確認します。
    • マテリアル コンポーネントとレイアウト: Compose のマテリアル コンポーネントとレイアウトについて確認します。
    • カスタム レイアウト: アプリのレイアウトを管理する方法や、自身のカスタム レイアウトを設計する方法について確認します。
    • アダプティブ レイアウトを作成する: Compose を使用して、さまざまな画面サイズ、画面の向き、フォーム ファクタに対応するレイアウトを作成する方法について確認します。
    • アライメント ライン: カスタム アライメント ラインを作成して UI 要素を正確に配置する方法について確認します。
    • 固有の測定値: Compose では、UI 要素を 1 回のパスごとに 1 回しか測定できません。このページでは、測定前に子要素に関する情報をクエリする方法について説明します。
    • ConstraintLayout: Compose UI で ConstraintLayout を使用する方法について確認します。
  • テーマ設定: Compose ベースの UI のテーマを設定する方法について確認します。
    • マテリアル テーマ設定: プロダクトのブランドに合わせて、Compose のマテリアル デザインの実装をカスタマイズする方法について確認します。
    • カスタム デザイン システム: Compose でカスタム デザイン システムを実装する方法と、カスタム デザイン システムに合わせて既存のマテリアル コンポーザブルを調整する方法について説明します。
    • テーマの構造: MaterialTheme およびカスタム デザイン システムで使用される下位構造と API について説明します。
  • リストとグリッド: データのリストとグリッドの管理と表示を行うための Compose オプションについて説明します。
  • テキスト: テキストの表示と編集を行うための主な Compose オプションについて確認します。
  • グラフィック: カスタム グラフィックを作成して使用できる Compose の機能について確認します。
  • アニメーション: UI 要素をアニメーション化するためのさまざまな Compose オプションについて確認します。
  • 操作: ユーザーの操作を検出してやり取りを行う Compose UI をビルドする方法について確認します。
  • ユーザー操作の処理: Compose が低レベルの入力を高レベルのインタラクションに抽象化する方法について確認し、コンポーネントがユーザー アクションに応答する方法をカスタマイズできるようにします。

Compose の導入

  • 既存のアプリに Compose を導入する: 既存のアプリのアーキテクチャと UI に Compose を統合する方法について確認します。
    • アプリに Compose を追加する: 既存のビューベースのアプリで Compose の使用を開始するための基本的な方法について確認します。
    • 相互運用 API: Compose とビューベースの UI を組み合わせるために役立つ Compose の API について確認します。
    • 既存のアーキテクチャでの Compose: アプリに Compose を導入する場合に、ビューと Compose ベースの UI を組み合わせる方法について確認します。
    • 既存の UI での Compose: アプリの UI の Compose 部分と Compose 以外の部分でビューベースの UI 要素を共有する方法について確認します。
  • Compose とその他のライブラリ: Compose コンテンツでビューベースのライブラリを使用する方法について確認します。
  • Compose アーキテクチャ: Compose における単方向フローパターンの実装方法、イベントと状態ホルダーの実装方法、ViewModel の使用方法について確認します。
  • ナビゲーション: NavController を使用してナビゲーションのコンポーネントを Compose UI に統合する方法について確認します。
  • リソース: Compose コードでアプリのリソースを扱う方法について確認します。
  • ユーザー補助: さまざまなユーザー補助要件を持つユーザーに合わせて Compose UI を作成する方法について確認します。
  • テスト: Compose コードのテストについて確認します。

参考情報