5

PHPチャートLibとJavaScriptチャートLibのどちらかを選択するのに少し行き詰まっています。サーバー側の場合はPHP、クライアント側の場合はJavascriptであることを理解しています。私の問題は、チャートライブラリを使用するときにどのような違いが生じるかです。それはパフォーマンスの問題ですか、それとも何ですか?

PHPチャートライブラリとJavaScriptチャートライブラリの使用の違いを理解したいと思います。彼らのチャートライブラリの例を探していないでください。なぜどちらかを選ぶべきなのかを探しています。

「phpチャートとjavascriptチャート」をグーグルで検索しようとしましたが、違いをもたらすリンクが見つかりませんでした。

編集1

1)

この質問に以前に回答したことがある場合は、そこに私を向けてください。

2)

インターネット用のアプリケーションを開発しています

編集2

1)

PHPのソースコードとJavaScriptのソースコードの両方を備えたPHPChartPHPChartについて知りました。そのライブラリの経験があれば、サーバー側の負荷(帯域幅の問題)などの問題は解決するかもしれません。PHPとJavaScriptの両方のソースがあるので、使用するのが最適かもしれません。ただ仮定しています。:-)

どうもありがとうございます

4

5 に答える 5

5

グラフを作成する両方の方法には、独自の長所と短所があります。

PHPを使用してこれを行う場合は、最初に、必要なすべてのグラフィカルライブラリがインストールされていることを確認する必要があります(たとえば、GDは、共有ホストで常に使用できるとは限りません)。

あなたがそれらを持っていると仮定すると、私の意見で最初の否定的なことは、あなたが静止画像になってしまうということです。もちろん、JavaScriptのサポートの有無にかかわらず、すべてのクライアントとの互換性を保証するため、必ずしも悪いことではありませんが、JavaScriptを使用してクライアント側で生成されたグラフのダイナミクスを取り除きます。ユーザーは、ズーム、移動、スライド、全画面表示など、HighchartsやFlotなどでできることは何もできなくなります。

もう1つの欠点は、画像がJSONなどよりも多くの帯域幅を使用することです。グラフを大きくしたいほど、グラフに含まれる色が多くなり、ページが読み込まれるまでクライアントが待機する時間が長くなります。また、これらの読み込みが非同期ではないという理由だけで、ページの残りの部分が表示される前に、画像が読み込まれるのを待つ必要があります。

ただし、javascriptライブラリではすべてが異なります。グラフに必要なデータのみをリクエストし、ページが読み込まれたときにのみリクエストします。データの量は通常、画像よりも少なくなります。さらに、GZを使用して出力を圧縮し、さらに小さくすることができます。ユーザーには、不完全なWebページではなく、グラフが読み込まれていることを通知する優れたスピナーが表示されます。

考慮すべきもう1つのことは、各グラフの下にデータを含む素敵な表を表示することにした場合はどうなるでしょうか。サーバー上で画像をレンダリングすることを選択した場合、データを取得するためだけに新しい機能を追加する必要があります。ただし、JSONを使用すると、1回の呼び出しでグラフをレンダリングし、テーブルを表示するだけです。たぶん、合計を計算するか、それを使ってやりたいことを何でもします。結局のところ、必要に応じてAPIとして人々に配布してください:)

最近のほとんどのデバイスはHTML5をサポートしており、Androidスマートフォン、iPhone、iPadでグラフを表示できるので、問題はないはずです。画像のみが必要で、元のデータを公開したくない場合は、PHPを使用してください。

于 2012-05-08T17:17:43.757 に答える
1

これが私が見るものです:

PHPの使用

  • リクエストに対するサーバーの負荷を増やします
  • どこでも動作します
  • また、誰かがここで言って私にそれを考えさせたように、PHPが提供する画像をキャッシュして、帯域幅を減らし(ダウンロードするライブラリがない)、負荷を減らす(キャッシュ)ことができます

Javascriptを使用する

  • ロードを減らしますが、バンドウィッチと追加のhttpリクエストを増やします(JSライブラリをロードするため)
  • JSが利用可能な場所で機能します

ただし、PHPはHTTPリクエストよりも多くの負荷をかけることを忘れないでください。

また、Javascriptは、表示する必要のあるエフェクトや特別なもののために作成されていることを常に忘れないでください。

于 2012-05-08T16:08:43.430 に答える
1

私の意見では、サーバー側のソリューション(つまり、php)を使用すると、クライアント側のソリューション(つまり、javascript)で発生する可能性のあるブラウザーの互換性の問題がなくなり、サポートの問題が解消されます。

JSを使用する利点は、サーバーからクライアントにリソースをオフロードすることです。これは、軽量データ(JSON、XMLなど)を生成するだけで済み、レンダリングがクライアントで行われるためです。リソースがPHPまたはJSで使用されているかどうかを判断するには、サーバーが取得する可能性のあるヒット数などを調査する必要があります。

ただし、Phpを使用してグラフの画像を作成すると、新しい画像を生成する代わりに、画像ファイルのキャッシュを使用してキャッシュ(画像の単なるフォルダー)から提供することで、パフォーマンス/リソースの問題を常に回避できます。キャッシュを使用するかどうかは、使用状況によって異なります。クライアントが最大2番目のデータを必要とし、そのデータが常に変化する場合は、明らかにキャッシュが役に立たない可能性があります。

于 2012-05-08T16:11:33.817 に答える
0

誰も言わなかったPHPレンダリングの利点が1つあります。チャートを画像としてPDF、DOC、XLSなどのファイルに含めるか、電子メールで送信する必要がある場合があるため、チャートをサーバーにレンダリングして挿入する画像として保存する以外に方法はありません。

于 2013-09-08T10:03:26.627 に答える
-2

データ操作にはPHPを使用します。
視覚的および行動的効果には、JavaScriptを使用します。

そのため、視覚的な動作のために設計されたJavascriptを使用する必要があります。さらに、すべての処理がクライアント側で行われるため、サーバーへの負荷が少なくなります。より多くの人が同時にアプリケーションを使用するにつれて、サーバーが必要以上に多くのことを実行するため、アプリケーションの速度が低下し始めます。

お役に立てば幸いです:)

于 2012-05-08T16:07:35.380 に答える