Jetpack Compose を使用して UI を構築します。Jetpack Compose は、Android 開発で推奨される UI ツールキットです。このプログラムの基準を満たし、ネイティブのマテリアル デザインのサポート、シームレスなシステム統合、さまざまなフォーム ファクタに対応した効率的なスケーリングを通じて、高品質な Android エクスペリエンスを実現するための最も直接的な方法です。
実装の要件
AEP の対象となるには、アプリで Jetpack Compose または同等の代替手段を使用してユーザー インターフェースを構築する必要があります。
Compose が推奨される標準ですが、同等のパフォーマンスと機能を提供する代替ツールキットを使用することもできます。React Native は承認済みの代替ツールキットですが、Jetpack エコシステムの進化に伴い、承認済みのツールキットのリストは変更される可能性があります。ツールキットは、最新の標準への準拠状況に応じて、リストに追加または削除されることがあります。
このガイドラインでは、Jetpack Compose や他の承認済みの代替手段とともに、Flutter、Android Views、WebView などの他のツールキットを補完的に使用することが許可されています。現在の基準ではこの柔軟性が認められていますが、今後のプログラムの更新では、Compose で構築されたアプリのアクティビティや UI コンポーネントの割合に基づいて、より高い使用率のしきい値が導入される可能性があります。すべてのプログラム要件の更新と同様に、これらのしきい値が更新される前に、デベロッパーに十分な通知が届きます。
ガイドラインの適用範囲
このガイドラインは、すべてのフォーム ファクタのすべてのアプリに適用されます。
除外
承認済みの代替ツールキットと並行して検討すべきだと考える場合は、代替ツールキットを評価のために提出できます。対象となるには、ツールキットが次のベンチマークを満たしている必要があります。
- パフォーマンス
- 事前コンパイルまたは同等の最適化を使用して、初期表示までの時間を 400 ミリ秒未満に抑えます。
- フレーム落ちなしで、デバイスのネイティブ リフレッシュ レートで UI をレンダリングします。
- 標準の Android UI パラダイム
- すべての要素のインタラクションにタッチ フィードバック アニメーションを提供します。
- システムバーの背後に描画し、ウィンドウのインセットを処理することで、エッジ ツー エッジのデザインをサポートします。
- スクロール境界でのオーバースクロール ストレッチ効果をサポート。
- アプリを再起動せずに、システムのライトモードとダークモードの切り替えに自動的に対応します。
- デバイスレベルのパレット API を適用して、マテリアル デザインのサポートを使用して UI トークンを動的に調整します。
- ユーザー補助機能をサポートする
- スクリーン リーダーや TalkBack のサポートなど、Android ユーザー補助フレームワークと統合します。
- ユーザーによるデータ入力を効率化するため、Android 自動入力フレームワークをサポートします。
- システム インテリジェンス サービスと統合して、アプリのアクティビティをリアルタイムでキャプチャします。
- マルチウィンドウ、折りたたみ、適応性
- コンテナを再起動せずに、セッション中にウィンドウ サイズクラス間で UI の境界をスケーリングします。
- セッションの折りたたみやサイズ変更中に、動画の再生やフォーム入力などのアクティブなセッションの状態を維持します。
機能のドキュメントとリソース
以下のリソースでは、Jetpack Compose 機能の実装ガイダンスと技術的な詳細について説明しています。これらのリソースは参考用であり、プログラムの追加要件は含まれていません。