web-dev-qa-db-ja.com

アイテムリストが非常に大きい場合(Webアプリ)、ページ分割を回避するにはどうすればよいですか?

翻訳ドキュメントで自動的に検出された間違いを修正するためのWebアプリケーションがあります。それらは文に分割され、その量は最大で数十万になる可能性があり(通常の場合とは異なりますが、発生する可能性があります)、今日のブラウザが大幅に遅れます(アクションはミリ秒ではなく数秒かかります)。ドキュメント全体がプリロードされているので、ネットワーク操作は問題ではなく、レンダリングそのものです。

元のデザインでは、すべてのアイテムを含む1つのスクロール可能な領域がありました。ユーザーは最終的にすべての項目を通過する必要があり、翻訳のコンテキストを確認する必要があるため、つまり、いくつかの文を前後にスクロールできるため、便利です。

非常に多くのアイテムをレンダリングする際のパフォーマンスの問題について説明するとき、ページネーションが頭に浮かびます。ただし、この場合はUXが失敗すると考えます。次のページに切り替えるたびに、キーボードだけを使用してユーザーが上から下にチェックするワークフローが中断されるためです。コンテキストを探すときのシナリオはさらに悪いでしょう。

「無限スクロール」も解決策ではありません。しばらくすると、パフォーマンスの問題も発生するからです。さらに、この使用例では、スクロールバーの位置はユーザーにとって重要です-彼は自分がドキュメントの真ん中。

ユーザーが通過しなければならない膨大な数のアイテムを処理するための他のいくつかのオプションを提案できますか?

現在のデザインのスクリーンショット。ユーザーは常に1つのアイテムしか編集できず、すべてのアイテムで上から下に機能します。 enter image description here

7
Tomas Grosup

すべての仮定が正しいかわかりません。ページネーションの問題の1つは、ユーザーがキーボードだけを使用して作業プロセスを続行できないことですが、キーボードがページネーションを制御しない理由はありません。同様に。また、無限スクロールは必ずしもロードされたすべてのページがロードされたままであることを意味しません-仮想スクロールを使用できます。つまり、基本的に現在のページ、次のページ、前のページがロードされますが、ページN + 2とN-2はロードされますページN + 1またはN-1にそれぞれ到達したときにのみロードします。したがって、必ずしもパフォーマンスの問題を意味するわけではありません。これは、基本的には、連続した垂直方向のページ付けであり、水平方向の個別のページ付けではありません(「クラシック」アプローチ)。 Google画像は垂直方向のページ付けを使用します。無限のスクロールとして認識されますが、実際にはタイトルのあるページに分割されています。

そして、スクロールバーに関しては、あなたはすでにドキュメントのサイズを知っているので、私はこの場合問題ではないと思います。これは、新しいコンテンツが次々と登場し、長さが伸び続ける無限スクロールの問題です。あなたの場合、長さは固定されており、無限スクロールを使用して、より多くの部分を表示します。したがって、スクロールバーのサイズと位置は、ドキュメントの長さに直接関連するため、動的である必要はありません。

2

すべてのアイテムをすぐに読み込む必要がなくなるとすぐに、次の一連の文を動的に読み込むことが役立つ場合があります。ページネーションのように機能するはずですが、ページ全体を更新するのではなく、ユーザーが文章をウォークスルーして、各束でどれだけ見たいかを選択できるようにすることをお勧めします。

sentences

必要に応じて、元のドキュメントの関連部分を表示して、編集者が全文を認識できるようにすることもできます。このページは完全に更新されているわけではなく、文章ブロックとドキュメントのコンテキスト部分のみが更新されていることに注意してください。

また、ある種の意味解析を実行して類似の文をリンクし、ユーザーが以前の文をすばやく確認できるようにすることもできます(これはグループ化として機能し、表示される項目の数を減らすこともできます)。

インスタントプレビューを使用した検索は、ユーザーが前の文を確認し、ページ分割やスクロールを最小限に抑えるのにも役立ちます。

5
alexeypegov

これが可能かどうかはわかりませんが、UIをそのまま維持し、必要に応じて作業ユニットを章ごとに分割することが最善の解決策だと思います。チャプターへの分割は、エンドユーザーには表示されません。ワークユニットを生成するプロセスによって実行されます。

私はページネーションと無限スクロールの否定的な側面を十分に理解しており、可能であればそれらを回避すべきであることに同意します。

1
obelia

垂直方向のページ付けをしていただけますか?または、ページネーションと無限スクロールの組み合わせですか?

文章がいっぱいのページがあり、下にスクロールするとします。無限スクロールでは、より多くの質問が読み込まれます。代わりにpage2をロードし、page1をアンロードするとどうなりますか?十分に上にスクロールすると1ページに戻ります-下にスクロールすると3ページになります。

それは理にかなっていますか?

1
Ryan King