web-dev-qa-db-ja.com

クライアント側フィルタリングまたはサーバー側フィルタリング

だから私はウェブアプリを構築しています。アプリはherokuでホストされ、開発にはMEANスタックを使用します。このアプリの主な目的は、ユーザーがデータを検索して、探しているドキュメントを見つけられるようにすることです。

ほとんどの従業員が世界中にいて、データを簡単に見つける方法が必要なので、これは私の会社の内部ドキュメント用です。

アイデア:

私が思いついたアイデアは、データを検索およびフィルタリングできるインターフェースを提供するWebアプリを作成することです。

Webアプリで提供されるフィルタリングオプションは、eBayのフィルターオプションと同様です(以下を参照)。

enter image description here

データ:

最初はデータセットは少なくなります。しかし、時間の経過とともにそれは非常に大きくなり、拡張可能であり、長期間使用でき、データが増加しても壊れたり速度が低下したりしないようにする必要があります。

データはほとんどがテキストのみであることに注意してください。 PDF、Excel、その他の形式などのファイルは、中央のDropboxアカウントなどの外部リソースに保存され、それらのファイルへのリンクがWebアプリに追加されます。

質問:

ユーザーにデータをフィルターするオプションを提供するには、最善の方法は何ですか?ユーザーが上に添付された画像のようにフィルターフォームに記入する場合、サーバー側でフィルター処理を行ってからクライアントに送信する必要がありますか、それともクライアント側で実行する必要がありますか?

私の意見では、サーバーのシステム全体をサーバー上で維持し、クライアント側のコードをクリーンに保つことができるため、サーバー側が最善の方法です。

また、これは最初はWebアプリになりますが、将来的にはこれ用のiPhoneアプリも作成することに注意してください。

前もって感謝します。

データセットが小さいままであると予想される場合は、クライアント側をフィルタリングする方がおそらく高速です。しかし、このため:

最初はデータセットは少なくなります。しかし、時間の経過とともにそれはかなり大きくなり、スケーラブルになり、長期間使用できるようになり、データが増加しても壊れたり速度が低下したりしないようにします。

サーバー側のフィルタリングをお勧めします。それ以外の場合は、クライアントにフィルタリングするために、クライアントにデータセット全体を送信する必要があります。

1
Gabe Willard