Android エコシステムは、スマートフォン、折りたたみ式デバイス、タブレット、ウェアラブル、車載ディスプレイ、XR、Googlebook にまたがるマルチデバイスの現実です。このような状況において、アダプティブ開発は、ユーザーがどこにいてもリーチするための基盤となります。
Jetpack Compose は、Android 全体で UI を構築するための標準です。従来の View システムから移行することで、開発ターゲットが 1 つに統合され、さまざまなフォーム ファクタにわたって断片化したコードベースを維持する手間がなくなります。しかし、アダプティブ レイアウトの構築は、全体像の半分にすぎません。画面の折りたたみ、ウィンドウのサイズ変更、フォーム ファクタ間のアプリの移行などにより、従来のレイアウトの前提が崩れ、アプリの状態が失われたり、アプリがまとまりを欠いているように感じられたりすることがあります。
Android Developer Summit では、Jetpack AppState を使用して Compose をデータレイヤに深く組み込むことで、UI とアーキテクチャの両方でアプリの基盤を強化する方法をご紹介しました。また、FlexBox や Grid などのアダプティブなビルディング ブロックや、あらゆる画面にスケーリングできるエージェント対応のツールもご紹介しました。
最近の発表のハイライトを以下でご紹介します。また、Android デベロッパー サイトでは、アプリの基盤に関するベスト プラクティスなど、50 以上のオンデマンド セッションをご覧いただけます。
コア基盤の進化と UI を超えた Compose の実現
近日リリース予定の Compose 1.13 安定版では、Grid と Flexbox によるアダプティブ レイアウトの組み込みサポートや、プログレッシブ ブラーやフォーマット済みテキストなどの新機能により、ツールキットが拡張されます。バッテリー駆動時間やフレームレートを犠牲にすることなく、メッシュ グラデーションやプログレッシブ ブラーなどのグラフィックの最新機能を確認するには、Jetpack Compose と Android の最新のグラフィック機能でアプリを強化するをご覧ください。
Compose のテキスト編集では、ビジュアル レンダリングに加えて、バッファ駆動型アーキテクチャと TextFieldState を使用して完全に書き直された BasicTextField が導入され、IME の競合状態が解消され、リッチテキスト形式の編集メカニズムがサポートされるようになりました。この移行の詳細については、Compose で信頼性の高いテキスト編集エクスペリエンスを構築するをご覧ください。
このようなリッチなビジュアルとインタラクティブなエクスペリエンスを導入する際には、スムーズなフレームレートと低い起動レイテンシを維持することが重要です。Compose でパフォーマンスを向上させるでは、Perfetto と再コンポーズ トレースを使用してプロファイリングする方法、コストのかかるアンチパターンを特定する方法、UI をスムーズに実行し続ける方法について説明しています。
Compose は、Jetpack AppState(現在アルファ版)により、アーキテクチャ レイヤにも拡張されています。AppState は、Compose のスナップショット システムをアプリのアーキテクチャに組み込みます。Transform を使用すると、自動読み取りトラッキングとプレーンな Kotlin 制御フローを使用して、State 入力と Flow 入力からリアクティブな状態を導出できます。StateStore は、アクティビティ、バックグラウンド サービス、ウィジェット、App Functions 間でオブザーバブルな状態を共有するためのキー付きコンテナを提供します。DataStore 永続化はオプションです。Jetpack AppState で Compose の状態を UI の枠を超えて活用するでは、Compose の状態をスタックの上位に移動することで、複雑な状態パイプラインを簡素化し、アプリのすべてのサーフェスを同期する方法を説明しています。
さまざまなフォーム ファクタに対応する堅牢なナビゲーション システムと入力システムの設計
アプリのモジュール化が進むにつれて、ナビゲーションとユーザー入力は、すべてのエントリ ポイントと画面サイズで予測可能な状態を維持する必要があります。バージョン 1.2 では、Jetpack Navigation 3 により、デベロッパーが所有するバックスタックに、組み込みのタイプセーフなディープリンクが導入されています。Kotlin Serialization を使用すると、受信 URI とインテントを、強く型付けされたナビゲーション キーに直接マッピングできます。また、複雑な引数の解析方法をカスタマイズしたり、合成バックスタックを遅延ビルドしたりできるため、戻るナビゲーションが常に自然に感じられます。これらの API の実際の動作については、Jetpack Navigation 3 を使用したタイプセーフなディープリンクの構築をご覧ください。
入力処理も進化し、デバイス間でのマルチモーダルなインタラクションをサポートするようになりました。Compose の階層化された入力システムは、タッチ操作だけでなく、トラックパッド、マウス、物理的なコントロールもシームレスにサポートします。さまざまなフォーム ファクタでポインタのライフサイクル、ホバー状態、ハードウェア イベントを管理する方法については、Jetpack Compose を使用してタッチスクリーン以外の入力操作をスケーリングするをご覧ください。
大画面、デスクトップ、その他のインターフェースのスケーリング
折りたたみ式デバイス、タブレット、ノートパソコン間で移動する際、インターフェースは、単にコンテンツを拡大して大きなディスプレイに合わせるのではなく、自然に適応する必要があります。Compose 開発でアダプティブに構築すると、Navigation 3、WindowManager、Agentic Workflows が組み合わされ、モバイル レイアウトをレスポンシブなマルチペイン エクスペリエンスにリファクタリングする際の手動オーバーヘッドを最小限に抑えることができます。既存のレイアウトをさらに発展させたいデベロッパー向けに、Compose を使用してあらゆる画面に合わせてアプリをスケーリングするでは、これらのマルチペイン アーキテクチャ パターンを詳しく説明し、ウィンドウ サイズの変化に合わせてナビゲーション フローを最適化する方法を紹介しています。
モバイル フォーム ファクタ以外にも対応することで、Googlebook のような新しい機会も生まれます。デスクトップ クラスのエクスペリエンスを構築するには、物理的な周辺機器のサポート、ウィンドウ環境などが必要です。Inside the first wave on Googlebook with Notability and Logitech では、初期のパートナーが、ポインタ操作、外部ハードウェア、デスクトップ グレードのワークフローを最適化するための実用的なエンジニアリング戦略を共有しています。
Android スキルを身につける
これらのパターンをさらに迅速に実装できるように、Android スキルを活用してコーディング エージェントを支援できます。Gemini in Android Studio を使用する場合でも、他のエージェントで Android CLI を実行する場合でも、これらのスキルが面倒な作業を代行し、品質に関するガイドラインに準拠します。 Compose については、現在、以下のコースが用意されています。
- 更新されたアダプティブ スキルは、エージェントがコンパクトな画面をレスポンシブなマルチペイン レイアウトに変換し、状態と構成の変更を処理するのに役立ちます。折りたたみ式デバイスとデスクトップのサポートが追加され、ウィンドウ表示、キーボード ショートカット、ツールチップ、トラックパッドのホバー状態が自動的に処理されるようになりました。
- コードベースの最適化に役立つ新しい Compose のパフォーマンス スキル
- XML から Compose への移行スキル
- 新しいインクスキル
コア アーキテクチャとアダプティブ レイアウト以外にも、Media3 再生、CameraX パイプライン、車内エクスペリエンス、リッチ グラフィック、Google Play を Compose に大規模に移行した際の教訓など、技術的な特集を学ぶことができます。Android Developer Summit のアプリ基盤セッションの再生リストで、技術的なチュートリアルの全コレクションをチェックして、アーキテクチャ、コードのチュートリアル、実践的なガイダンスを確認してください。
-
イベントとプログラム今年の Android Dev Summit では、Android のデベロッパー ツールがどのように進化し、エージェントとともに生産性を高めることができるかをご紹介しました。
Adarsh Fernando • 所要時間: 10 分 -
イベントとプログラムAndroid XR デベロッパー Catalyst プログラムへの応募受付を開始しました。このプログラムは、来年中にリリース可能な Android XR アプリの開発を加速させるための専用の取り組みです。
所要時間: 1 分 -
イベントとプログラムGoogle I/O のスケジュールが公開されました。
所要時間: 1 分
Android 開発に関する最新の分析情報を毎週メールでお届けします。