AEP ガイドライン: 品質 - Jetpack Compose

Jetpack Compose を使用して UI を構築します。Jetpack Compose は、Android 開発で推奨される UI ツールキットです。このプログラムの基準を満たし、ネイティブのマテリアル デザインのサポート、シームレスなシステム統合、さまざまなフォーム ファクタに対応した効率的なスケーリングを通じて、高品質な Android エクスペリエンスを実現するための最も直接的な方法です。

実装の要件

AEP の対象となるには、アプリで Jetpack Compose または同等の代替手段を使用してユーザー インターフェースを構築する必要があります。

Compose が推奨される標準ですが、同等のパフォーマンスと機能を提供する代替ツールキットを使用することもできます。React Native は承認済みの代替ツールキットですが、Jetpack エコシステムの進化に伴い、承認済みのツールキットのリストは変更される可能性があります。ツールキットは、最新の標準への準拠状況に応じて、リストに追加または削除されることがあります。

このガイドラインでは、Jetpack Compose や他の承認済みの代替手段とともに、Flutter、Android Views、WebView などの他のツールキットを補完的に使用することが許可されています。現在の基準ではこの柔軟性が認められていますが、今後のプログラムの更新では、Compose で構築されたアプリのアクティビティや UI コンポーネントの割合に基づいて、より高い使用率のしきい値が導入される可能性があります。すべてのプログラム要件の更新と同様に、これらのしきい値が更新される前に、デベロッパーに十分な通知が届きます。

ガイドラインの適用範囲

このガイドラインは、すべてのフォーム ファクタのすべてのアプリに適用されます。

除外

承認済みの代替ツールキットと並行して検討すべきだと考える場合は、代替ツールキットを評価のために提出できます。対象となるには、ツールキットが次のベンチマークを満たしている必要があります。

  1. パフォーマンス
    1. 事前コンパイルまたは同等の最適化を使用して、初期表示までの時間を 400 ミリ秒未満に抑えます。
    2. フレーム落ちなしで、デバイスのネイティブ リフレッシュ レートで UI をレンダリングします。
  2. 標準の Android UI パラダイム
    1. すべての要素のインタラクションにタッチ フィードバック アニメーションを提供します。
    2. システムバーの背後に描画し、ウィンドウのインセットを処理することで、エッジ ツー エッジのデザインをサポートします。
    3. スクロール境界でのオーバースクロール ストレッチ効果をサポート。
    4. アプリを再起動せずに、システムのライトモードとダークモードの切り替えに自動的に対応します。
    5. デバイスレベルのパレット API を適用して、マテリアル デザインのサポートを使用して UI トークンを動的に調整します。
  3. ユーザー補助機能をサポートする
    1. スクリーン リーダーや TalkBack のサポートなど、Android ユーザー補助フレームワークと統合します。
    2. ユーザーによるデータ入力を効率化するため、Android 自動入力フレームワークをサポートします。
    3. システム インテリジェンス サービスと統合して、アプリのアクティビティをリアルタイムでキャプチャします。
  4. マルチウィンドウ、折りたたみ、適応性
    1. コンテナを再起動せずに、セッション中にウィンドウ サイズクラス間で UI の境界をスケーリングします。
    2. セッションの折りたたみやサイズ変更中に、動画の再生やフォーム入力などのアクティブなセッションの状態を維持します。

機能のドキュメントとリソース

以下のリソースでは、Jetpack Compose 機能の実装ガイダンスと技術的な詳細について説明しています。これらのリソースは参考用であり、プログラムの追加要件は含まれていません。