首页 > 解决方案 > Javascript 包与另一种语言的包装器

问题描述

我想用 PHP 或 Ruby 显示带有后端代码的图表。有很多用于这项工作的 javascript 包和 PHP 中的一些包装器包。两者都执行相同的任务,但使用不同的语言。

  1. 我可以给我的前端一个 API,然后通过一个 JS 图表库来完成工作。
  2. 我可以将数据提供给该包装程序包(composer/ruby gem),然后通过 PHP 完成工作。

哪一个是最佳实践,为什么?

标签: javascriptphpruby-on-rails

解决方案


我会选择一个前端库(chartjs,d3js ...),原因如下:

  1. 只有一种实现
  2. 没有页面重新加载

只有一种实现

这种关注点分离将允许您随时更改后端实现。您可以在某个时候同时运行 php 和 ruby​​ 代码,这样您的前端就不会违反既定的合同。

没有页面重新加载

在回答中详细说明,让前端进行繁重的工作有一些好处,其中之一就是 AJAX。如果您有一个需要显示实时信息的图表(例如,以秒为单位),那么您只需每隔一段时间调用您的 API 就进行节流/去抖动。

通常,在构建系统时,您需要尽可能多的解耦组件。


推荐阅读