我从服务器获取数据并希望在客户端使用 GWT 显示它。
GWT 不是这里的问题,您可以通过 Ajax 调用替换 GWT,或者您可以将其转换为实际应用程序而不是 Web 应用程序。
在接收数据之后和显示它们之前,应该在服务器上还是在客户端上使用 JavaScript 进行排序?
我从服务器获取数据并希望在客户端使用 GWT 显示它。
GWT 不是这里的问题,您可以通过 Ajax 调用替换 GWT,或者您可以将其转换为实际应用程序而不是 Web 应用程序。
在接收数据之后和显示它们之前,应该在服务器上还是在客户端上使用 JavaScript 进行排序?
每种方法都有其优点和缺点:
理想情况下,排序应该在服务器上完成,因为:-
最好假设您的客户资源不足。例如,有些人会从桌面启动 GWT 应用程序,但另一些人可能会从 CPU/RAM 较少的 iPad/手机启动 GWT 应用程序
有在服务器端进行排序的标准方法,例如,通过使用 SQL ORDER BY 子句,但您可能必须实现自己的例程/方法才能在客户端进行排序。
这取决于... :)
从架构上讲,要回答这个问题,您需要确定系统中所需的属性并评估各种设计备选方案之间的权衡。在不了解您的系统的情况下,很难提供除此之外的建议。
应该注意一个包罗万象的声明,即在服务器上排序总是比在客户端上排序更快。我有一个案例,我返回了几千条按姓氏和名字串联排序的记录。这些字段都没有被索引,我无法控制这一点。众所周知,对连接的字符串进行排序并不是数据库本质上做得很好的事情。它看起来是数字和/或索引字段。在这种情况下,在客户端上进行排序最终会更快。如果我可以控制数据库,我会在 Oracle 中在这两个字段上放置一个函数索引。
这个故事的寓意是什么都不做,并分析您的应用程序以找出最适合您的场景的方法。