フロントエンドまたはバックエンドのどちらでJSONを処理するほうが高速ですか?[閉まっている]


11

APIからの応答をjson応答として取得しています。私はPythonでバックエンドをコーディングしています。

フロントエンドチームは、UIに入力するために未加工のjson応答からの情報を必要とするため、jsonを注文し、情報を取得しやすくする必要があります。

これで、jsonを特定の形式で注文してフロントエンドチームにプッシュするか、生のjsonレスポンス*をフロントエンドチームに渡して、jsonの注文を処理してUIでさらに使用できるようにすることができます。

私のjsonファイルのサイズは15MBです。

どちらがより速く、より良い設計原則ですか?

バックエンドで処理してからフロントエンドにプッシュするか、フロントエンドで処理しますか?


私の意見では、通常サーバーはPCのブラウザーよりもはるかに優れたパフォーマンスを提供するので、サーバーでの処理はデータのサイズと長さのためにあなたの場合に優れています。
Umair Khan

1
理想的には、フロントエンドは単にAPI応答を消費します。UIが他の人のコンピューターで実行されると(弱くて遅い可能性があります)、データをクライアント側のcosにオフロードしたくないので、Webアプリケーションでの低速で不愉快なエクスペリエンスにつながる可能性があります。バックエンドからの応答は、多かれ少なかれ、フロントエンドに必要な形式である必要があります。理想的には、フロントエンドは実際のデータ処理(もしあれば)をあまり実行すべきではなく、サーバー側で実行する必要があります
Jayce444

2
15MBはかなりの量ですが、バックエンドで実行します。
ボリス

回答:


7

理想的には、ファイルサイズが15 mbの場合、ブラウザのメモリにロードされて遅くなるので、バックエンドでのみ操作することをお勧めします。

このリンクを参照して参照することもできます。 PythonとJavaScriptの違いと何を使用するか

  1. 重要な点の1つは、JavaScriptのデバッグが難しいことです。コードにエラーがないにもかかわらず、プログラムが機能しない(静かに失敗する)ことに気付くでしょう。

3

バックエンド自体でデータを処理する方が常に優れています。


2

これをバックエンドで実行することをお勧めします。これを提案する主な理由は次のとおりです。

  • モバイルデバイスでの処理は、バッテリーの大量消費につながります
  • フロントエンドがWebの場合、処理の実行中はJavaScriptがブロックします(これは悪い体験につながる可能性があります)
  • サーバーの応答をキャッシュして応答時間を短縮し、重複処理を減らすことができます
  • バックエンド言語は、フロントエンドデバイスができるよりも最適にタスクを実行できる場合があります

0

他の人が指摘したように、バックエンドでの処理を好むかなりの理由がいくつかあります。

  • フロントエンドに送信されるJSONからすべての不要なデータを削除できる場合、転送と解析時間の両方の面でエンドユーザーデバイスの負荷が軽減されます
  • リモートAPI呼び出しをキャッシュすることが可能な場合があるため、リモートAPIに対して多くの呼び出しを行う必要はありません(通常、キャッシュの取得に比べて非常に遅くなります)。後処理データをキャッシュすることもできるため、繰り返し提供することができます。
  • JSONの処理中に発生するエラーを検出できますが、クライアントデバイスで発生している場合はそれほど目立ちません。

バックエンドでAPI応答を処理するもう1つの大きな利点は、フロントエンドに送信する構造を選択できることです。そうすることで、時間の経過に伴う変更をAPIが使用している場合(またはデータの取得に使用しているサービスを変更している場合)、フロントエンドコードに影響を与えることなく、バックエンドでその変更を処理できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.