Meteorを使用してデータが豊富なWebアプリケーションに取り組んでいます。以前は、ロードできるものはすべてできるだけ早くロードする必要があると考えていました。データに依存するページのすべての部分には、受信されていない間はローダーが必要です。
結果として、すべてのものが非常に高速に読み込まれ、ユーザーはデータの読み込み中にインターフェイスを探索できますが、いくつかの単純なスピナーがインターフェイスに表示されます。それは、私見を雑然とした感じ、またはデザインの単純さの欠如を作成します。
別のアプローチに切り替える必要があるかどうか疑問に思っています。単一の完全なページ(ナビゲーションレイアウトを除く)、ファンシーローダーを使用し、関連データを取得したら一度にすべてを表示します。最終的な結果はよりクリーンになりますが、UIは長く非表示のままで、ページの残りの部分が読み込まれてデータが読み込まれると、すべてのCDNデータ(主に画像)にローダーが含まれることは言うまでもありません。
それへの対処方法についてコンセンサスはありますか?ベストプラクティス?私の知る限り、ビッグプレーヤー(facebook、google、quoraなど)は単一のページローダーを使用しません。理由はありますか?
読み込みを「クイック」として人々に知覚させる優れた方法は、プレースホルダーのようなダミーのワイヤーフレームを表示することです。
それはユーザーに進歩感を与えます。ダミーワイヤフレームが読み込まれると(100ミリ秒未満かかります)、コンテンツがすぐに追加されるように感じます。
読み込み中のアイコンがループして進行状況が表示されないため、ユーザーにとって退屈で予測不可能になります。
特にローディングに時間がかかる場合、スピナーは人々を困らせます。読み込みにかかる時間が1秒未満の場合、ほとんどのユーザーはそれに気付かないため、読み込みアイコンを表示しても意味がありません。
ニールセンノーマングループによると、
主なガイドラインは、2〜9秒の遅延にはループインジケーターを使用し、10秒の遅延にはパーセント完了インジケーターを使用することです。
https://www.nngroup.com/articles/progress-indicators/
私のアドバイスは、まずコンテンツのプレースホルダーを使用して、ワイヤーフレームのようなレイアウトを表示することです。コンテンツの読み込みが完了すると、専用のフィールドにフェードインできます。
ソース