性能客户端jqgrid与服务器端jqGrid之间的差异
我正在开发一个MVC项目,我在其中使用jqGrid for ASP.NET MVC。 不过,我被告知,纯jQuery的客户端版本(jqGrid)在性能上更好。 这是真的? 对我来说,他们似乎都在做同样的事情,只是代码在不同的地方 - 所有的大部分工作仍然使用ajax完成。 任何建议将不胜感激。
编辑 - 我使用网格的大多数地方不到100行,页面大小30,大约10-12列,主要是字符串和日期。 只有一个页面使用500行的网格,但很少使用。
我认为你不应该重写你现有的代码,但我可以同意,如果使用少于1000行的数据, loadonce: true
的使用是真正的选择。
jqGrid的设计是面向服务器端的排序,分页和过滤/搜索。 因此,大多数在3.7以下版本中开始使用jqGrid的用户已经很好地实现了后端。 带有本机代码的SQL Server应该更快确定,因为JavaScript代码最初是作为解释器语言设计的。 另一方面,当前版本的Web浏览器包含快速的JavaScript引擎。 每个新版本都会提高JavaScript的性能。
对用户来说配对,分类或过滤操作的总时间可能很重要。 它包括到Web服务器的往返时间。 在生产环境中,可以更好地进行精确测量,以比较本地网格与纯远程datatype
(不使用loadonce
“json”或“xml”)的loadonce
。 我使用自己的粗略规则是:
loadonce: true
等客户端分页,排序和过滤数据 您的环境(网络,往返服务器的往返时间等)可能是其他情况。 所以当你应该更好地使用客户端的数据保持和服务器端控制的时候可以是其他的边缘。 然而,在实践中, loadonce: true
的使用可能非常有效。
我个人不使用你引用的jqGrid的纪念版本。 所以我必须自己写后端。 在使用loadonce: true
的情况下loadonce: true
服务器代码非常简单。 这很容易调试和维护。
上一篇: Performance Difference between client side jqgrid vs server side jqGrid