javascript - Javascript 包与另一种语言的包装器
问题描述
我想用 PHP 或 Ruby 显示带有后端代码的图表。有很多用于这项工作的 javascript 包和 PHP 中的一些包装器包。两者都执行相同的任务,但使用不同的语言。
- 我可以给我的前端一个 API,然后通过一个 JS 图表库来完成工作。
- 我可以将数据提供给该包装程序包(composer/ruby gem),然后通过 PHP 完成工作。
哪一个是最佳实践,为什么?
解决方案
我会选择一个前端库(chartjs,d3js ...),原因如下:
- 只有一种实现
- 没有页面重新加载
只有一种实现
这种关注点分离将允许您随时更改后端实现。您可以在某个时候同时运行 php 和 ruby 代码,这样您的前端就不会违反既定的合同。
没有页面重新加载
在回答中详细说明,让前端进行繁重的工作有一些好处,其中之一就是 AJAX。如果您有一个需要显示实时信息的图表(例如,以秒为单位),那么您只需每隔一段时间调用您的 API 就进行节流/去抖动。
通常,在构建系统时,您需要尽可能多的解耦组件。
推荐阅读
- android - 冲突的版本
- python-3.x - Python:找到一列的最大值并在同一行中提取其他列的值
- c++ - c++ std::vector 在 foreach 循环中修改行为
- google-cloud-platform - 谷歌云和密钥管理
- reactjs - 使用 Reactjs 从客户端上的文件数组中渲染图像
- mysql - Mysql按多个表计数分组
- linux - 在 C 程序中调用 pppd 会阻塞线程
- javascript - JavaScript 为页面上的所有 Web 部件分配颜色
- woocommerce - 如何隐藏某个品类单品页面的SKU?
- javascript - 我的 Angular Universal SPA 消耗大量内存。如何识别内存泄漏的位置?