在UI端可以执行数值计算吗?

时间:2018-12-05 11:01:18

标签: javascript java spring-boot

这个问题更多是从设计的角度来看的。在制作Web应用程序时,我应该在javascript(用户界面部分)还是在服务器端执行数值计算(最多几个)?

每种方法的优点/缺点是什么?

3 个答案:

答案 0 :(得分:0)

答案是:“取决于”

如果要计算年龄,可以在客户端执行,但是如果要计算货币,则应在服务器端使用BigDecimal进行,因为它很精确。

答案 1 :(得分:0)

  

没有银弹

您可能会在许多不同的软件体系结构中找到客户端或后端计算。您应该考虑的是您的计算类型。

为了更好的决策,让我在这里打破一下:

  1. 简单计算:如果该计算不涉及许多复杂步骤,那么您可以继续在客户端进行此操作,但请记住不要将逻辑全部分散开来-结束,因为这会增加维护成本和工作量。

  2. 复杂的计算:假设在进行计算之前,您需要从后端接收这么多数据,或者该计算是与业务相关的逻辑,或者您的计算是CPU密集型的,并非所有的客户端设备(例如,移动设备)都可以处理它,因此最好将所有计算逻辑都收集在后端。

答案 2 :(得分:0)

我的经验法则:

  • 如果要处理大量数据,请将其保存在进行计算的服务器上,通常您的浏览器将开始滞后并冻结。但是,您可以先从客户端开始,如果看到数据在增长,那就只有在我考虑将其放在服务器端时,才可以在需要时进行优化。例如:仪表板是将其安装在服务器上的一个很好的例子(计算总订单量,一月的总订单等。)
  • 如果要用于例如计算订单总额,则需要在客户端和服务器端同时进行验证(请针对客户端验证服务器的总额)