【问题标题】:Should I process a JSON in the frontend or Backend, which is faster? [closed]我应该在前端还是后端处理 JSON,哪个更快? [关闭]
【发布时间】:2020-06-02 02:01:12
【问题描述】:

我收到来自 API 的响应作为 json 响应。 我正在为后端编写python代码。

前端团队需要来自原始 json 响应的信息来填充 UI,因此我们必须对 json 进行排序,让他们更容易获取信息。

现在我可以以特定格式订购 json 并推送给前端团队,或者我可以将原始 json 响应*传递给前端团队,让他们处理订购 json 并进一步用于他们的 UI。

记住我的 json 文件大小是 15MB

哪个更快更好的设计原则?

在后端处理然后推送到前端还是在前端处理?

【问题讨论】:

  • 在我看来,由于数据的大小和长度,在您的情况下,在服务器上处理会更好,因为通常服务器提供的性能比 pc 中的浏览器要好得多。
  • 理想情况下,前端只使用 API 响应。鉴于 UI 将在其他人的计算机上运行(可能很弱且速度较慢),您不希望将数据卸载到客户端,因为这可能会导致您的 web 应用程序体验缓慢和不愉快。来自后端的响应应该或多或少采用前端所需的格式。理想情况下,前端不应该做太多(如果有的话)真实数据处理,应该在服务器端完成
  • 15MB 有点多,我会在后端做。

标签: javascript python-3.x data-structures


【解决方案1】:

理想情况下,如果文件大小为 15 mb,它将被加载到浏览器内存中,这会使其变慢,我建议只在后端进行操作。

您也可以通过此链接进行参考。 Difference Between python and Javascript and what to use

  1. 一个重要的方面是 JavaScript 难以调试。你 可能会注意到,尽管您的代码没有错误,但程序 不起作用(静默失败)。

【讨论】:

    【解决方案2】:

    在后端本身处理数据总是更好。

    【讨论】:

      【解决方案3】:

      我建议在后端执行此操作,我建议这样做的一些关键原因是:

      • 在移动设备上处理会导致大量电池消耗
      • 如果您的前端是 Web,则 javascript 会在处理过程中阻塞(这可能会导致不良体验)
      • 可以缓存服务器响应以加快响应时间并减少重复处理
      • 您的后端语言可能能够比前端设备更优化地执行任务

      【讨论】:

        【解决方案4】:

        正如其他人所指出的,有很多理由更喜欢在后端进行处理:

        • 如果您可以从发送到前端的 JSON 中删除所有不必要的数据,它将减少最终用户设备在传输和解析时间方面的负载
        • 可能会缓存远程 API 调用,因此您不需要对远程 API 进行尽可能多的调用(与缓存检索相比,这通常会非常慢)。您还可以缓存处理后的数据,以便重复提供这些数据
        • 您可以检测在处理 JSON 时发生的错误,而在客户端设备上发生的错误则不太明显

        在后端处理 API 响应的另一大优势是您可以选择发送到前端的结构。这样,如果您使用的 API 随时间发生变化(或者您更改了用于检索数据的服务),您可以在后端处理该更改,而不会影响前端代码。

        【讨论】:

          猜你喜欢
          • 2020-03-13
          • 1970-01-01
          • 2016-09-26
          • 2018-02-03
          • 1970-01-01
          • 2014-03-09
          • 2020-04-27
          • 2012-02-23
          • 1970-01-01
          相关资源
          最近更新 更多