不安定なネットワーク環境でもアプリがスムーズに動くことは、ユーザー体験を大きく左右する。
オフラインでも快適なUXを実現するには大きく以下の3つのアプローチが有効。
データの永続化: オフラインでも情報の閲覧・入力ができるように、デバイス内にデータを保存する。HiveやSQFliteライブラリが役立つ。
バックグラウンド同期: ネットワーク回復時に、ユーザーに意識させず自動でデータを送受信する。Workmanager活用すればアプリがバックグラウンドにいても定期的に、あるいはネットワーク状態の変化を検知して同期処理を実行できる。
UI/UXのオフライン最適化: オフライン時でも違和感なくアプリを操作できるよう、UI設計が鍵。例えば、データのローディング表示、オンライン/オフライン状態の明示、入力データのオフラインキューイングなどで、ユーザーはストレスなくアプリを使い続けられる。