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