SmartClient 的等待时间如何跨越数千个编辑网格的用户?
我之前收到过警告说 ExtJS 不适合。
SmartClient 有一个网格组件,它同时进行水平和垂直增量渲染,因此它可以处理非常大量的行(数百万)和列(数百)而不会降低性能。
SmartClient 支持的所有网格功能 - 内联编辑、分组、过滤、动态冻结列、排序、重新排序字段、拖放..(太长而无法列出)都由这个单一的高数据量网格组件支持。
许多用户在使用 Ext 网格组件时遇到了可扩展性问题,并在 SmartClient 论坛上进行了讨论:
http://forums.smartclient.com/showthread.php?t=2678
就服务器的可扩展性而言,实际上网格组件对服务器端的可扩展性做出了巨大贡献。考虑 SmartClient 网格的自适应过滤机制:
http://www.smartclient.com/index.jsp#adaptiveFilter
此功能和相关的“自适应排序”功能减少了 60-90% 的最昂贵的服务器命中类型(即访问和过滤/排序大型数据集的那些)。
SmartClient 普遍采用这种智能重用数据的方法,以避免昂贵的服务器端操作。ResultSet 类文档中提供了一个很好的概述;ResultSet 被 SmartClient 中处理数据集的所有组件用作缓存管理对象:
http://www.smartclient.com/docs/9.0/a/b/c/go.html#class..ResultSet
编辑网格的用户数量并不真正相关——这更多的是您的应用程序如何设计以支持负载的问题。如果您询问与网格组件本身相关的性能,最相关的问题是关于网格的功能以及它可以处理多少数据,而不是随着时间的推移有多少用户将使用它。
我不熟悉 SmartClient,但在 Ext 的情况下,网格对于中小型网格数据(非常近似,每页最多约 50 行,最多约 10 列数据)表现得非常好。显然这一切都取决于很多变量,但确实 Ext 的网格渲染时间与一次渲染的数据量成正比。这是因为它在幕后使用了相当重的 DOM,权衡是开箱即用的丰富功能集和为创建自定义嵌套行布局提供的灵活性。它确实支持分页以缓解性能问题,并且还有一个非常流行的扩展它提供了按需行加载(虚拟滚动),从而能够以更高的性能加载大型数据集。在 Ext示例中还有一个更轻量级和更简单的缓冲加载版本的示例,它在大量数据的情况下显示出出色的性能。
此外,根据您的需要,3.0 中有一个新的轻量级ListView组件。它不支持 GridView 的所有功能,但如果您主要需要一个仅显示的网格,它可能是一个不错的选择。
所有这些并不是说 SmartClient 不好——我不知道。我只是希望任何查看此线程的人都能对等式的 Ext 方面做出明智的决定,因为听起来你已经收到了片面的意见。
谢谢您的回答。我的印象是,当乔面临很长的加载时间时,使用 Ext 进入网站的普通人会气馁,如果有很多人使用该网站,加载时间也会增加。这就是为什么我认为 SmartClient 会更好但我没有发现它们之间的任何比较的原因。也许我太仓促而忽略了 ExtJS。
我希望与有 SmartClient 经验的人取得联系,以协助开发我未来的网站。谢谢杰兹