我正在创建一个 Web 应用程序
前端 - reactjs 和后端 java。
前端和后端通过休息相互通信。
在 UI 上,我显示了一个项目列表。我需要过滤它们以获取一些参数。
选项 1:过滤器逻辑在前端
在这种情况下,我只需要对后端进行 get 调用并获取所有项目。用户选择一些过滤器选项后,ui 上会发生过滤。
优点:为此,我不需要将数据发送到后端并等待响应。刷新列表的速度应该更快。
缺点:如果我需要多个前端客户端。让我们说一个移动应用程序。比我也需要在这个应用程序上再次创建过滤器。
选项 2:过滤器逻辑在后端
在这种情况下,我会在加载应用程序时获取所有列表项。用户更改过滤器选项后,我需要发送带有过滤器参数的获取请求并等待响应。之后更新 UI 上的项目列表。
优点:过滤器逻辑只写一次。
缺点:速度可能会慢得多。因为发送请求并返回结果需要时间。
问题:过滤器逻辑应该在哪里?在前端还是在后端?或者也许什么是最佳实践?