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