基于Javascript的绘图/图表工具包vs基于PHP的工具


Javascript based graphing / charting toolkits vs PHP based ones

我正在考虑使用http://pchart.sourceforge.net/来满足我们的绘图/图表需求,但另一位开发人员建议使用基于javascript/jquery的工具,如http://dojotoolkit.org/

虽然两者的外观和感觉是不同的,也许基于javascript的更容易操作-我不相信它会是更快的解决方案。

对于最终用户来说,基于PHP的工具包不是更快吗?因为在服务器和客户机之间来回传输的数据更少。

我们的图表需求是用于报告目的的——我们根本不要求用户"实时"操作图表。

如果不考虑表示方面,这两种方法通常各有利弊,而其中一种的优点就是另一种的缺点。

PHP方法:

  • 可以说更一致的结果。
  • 如果输入的数据不变,则可以保存
  • 生成的图表。这将避免同一进程多次运行,产生更好的整体性能。

Javascript方法:

  • 服务器需要更少的计算能力。
  • 可以动态生成
  • 结果图,提供更多交互式用户体验。

我认为如果视图在客户端完成,则意味着服务器上的处理更少。所以我相信客户端绘图/图表会更好(使用javascript)

符合您所述的要求,pHP似乎是更好的方法。就像你已经提到的,如果你的图表是静态的,你没有发送数据到客户端,那么在js中渲染图表是没有意义的。你的php服务器在任何时候都会超过浏览器的渲染速度,因为你的客户端依赖于使用市场上最新的浏览器,他们在客户端有足够的内存来做同样的事情。

为什么你的队友考虑JS方法。他有同样的理由吗?

我最近找到了jqPlot,并在一个公司项目中使用它,我的老板很高兴。PHP解决方案不会提供像Javascript解决方案那样动态的解决方案。此外,PHP图形方法有时体积庞大,需要更多的代码。

一旦Javascript代码被下载到客户端机器上,它将被缓存以供进一步的请求,因此只下载图形的初始化代码(几个字节+系列数据),这导致发送的字节更少,从而降低带宽消耗。

对于报表数据,使用缓存机制可能是最好的解决方案,因为您可以为不同的视图(可下载为CSV等)重用报表数据

总而言之,我个人通常倾向于让服务器端处理数据,而让客户端处理视图。