UI の同期性

UI の同期性では、ユーザーインターフェイスがユーザー操作に反応する方法を、ブロックする/しないやり方のいずれも、記述します。

同期 UI

同期 UI はバックグラウンドデータの状態や処理と固く結ばれたユーザーインターフェイスです。同期 UI のいくつかの例としては、読み込みのスピナーやモーダルダイアログがあります。同期 UI の意図は、関連した処理や状態変化が完了するまで、ユーザーの継続した操作をブロックする事です。同期 UI は、次の操作が、今の操作の完了に依存している状況で使われるべきです。

非同期 UI

非同期 UI は、いかなる処理やバックグラウンドデータの状態とも切り離されたユーザーインターフェイスです。非同期 UI には同期 UI と比して、知覚できる利点があります。

  • ユーザーインターフェイスがフィードバックに対し即座に反応し、応答性が良く感じられる
  • 処理がバックグラウンドで生じる
  • UI 継続性がインターフェイスをブロックしない

続いた操作をブロックしない UI は、活動をブロックする UI よりも、もっと応答性が良く感じられます。非同期 UI を使うと、ユーザーはアプリが "速く動作し" たり "キビキビして" いると感じると報告します。バックグラウンド処理が変更されていると気付かれない場合でもそうです。

UI の継続

非同期 UI では、ネットワークエラーや、入力検証や、単純な通知などののために操作が停止する問題があります。すでに UI の操作が完了したと認識された場合、どうやって何かがおかしくなったことをユーザーに通知するのでしょうか。 UI の継続は、こうした通知を届けるテクニックを参照します。 UI の継続の例がいくつかあります。

  • ユーザー変更をそっと巻き戻す
  • 非侵入型の通知バー
  • 音や知覚のフィードバック

非同期 UI を適用した時、賢い UI 継続を操作に組み入れる事が重要です。頻繁な UI の継続は、同期/非同期UIになりうる事を忘れないで下さい。つまり、それぞれの状況にあったツールを使います。

非同期ファースト(Async First)

同期UIに対する非同期UIの利点があって、非同期ファースト の様式が推奨されます。非同期ファーストでは以下のようになります。

  1. 既定では非同期 UI を使用するように UI を構築してみる
  2. 操作のやり取りが論理的でなかったり、ビジネスルールを破ったりする場合のみ、同期 UI に切り替える。

非同期 UI は全ての状況に適用できるわけでなく、非同期ファースト戦略を適用すると、アプリのどの部分で、処理とデータを密に結びつける必要があるか、どこが切り離したままにできるかを決定する手助けとなります。

その他の情報

ドキュメントのタグと貢献者

このページの貢献者: mfuji09, Uemmra3
最終更新者: mfuji09,