ZK与GWT:ZK遇到太多请求问题

3

你好,我正在尝试比较zk和gwt的性能。

在我的比较中,如果框架本身将一些代码转换为js,那么可以(例如gwt),但是我自己不能编写js。

以上述方式编写代码后,在浏览器上执行几乎所有操作都会向ZK服务器发送请求。

因此,最终,如果您比较zk发送到服务器的请求数量与gwt相比太高。

因此我想问以下几点:

  1. 如果忽略上述问题,zk和gwt的表现哪个更好?
  2. 如果不忽略上述问题,那么我的结论是gwts的表现比zk更好,对吗?

我知道在比较性能时可能会有其他参数……但是如果请求数量之间的差异如此之大,我真的看不出zk能打败某些人在某些论坛上说的gwt。

希望能帮助解决问题,谢谢!


我可能只是一个厌恶瘦客户端解决方案的Web UI开发人员,但每当一个框架为可以安全缓存的数据请求过多时,它就成为被忽略的绝佳理由。这只是基本的工作回避101。我意识到在Java中避免工作并不总是那么容易,但天哪,无论是2003年的服务器端“瘦客户端”(它从来没有,它总是臃肿不堪)解决方案还是一些更差的所谓“现代”客户端中心SPA框架,都犯了所有人在服务器上犯过的错误,这在2012年及以后都是不可接受的解决方案。 - Erik Reppen
5个回答

1
GWT和ZK在架构上有很大的不同。GWT是以客户端为中心的,因此向服务器发送的请求较少。使用GWT,您基本上可以自己控制一切。然而,这也意味着开发人员需要负责处理服务器请求和服务器与客户端之间的异步数据传输。如果您是一位经验丰富的Web开发人员,那么结果可能会很好。如果您不是,则可能会非常具有挑战性和复杂性,因为您需要处理一些网络和安全问题。
另一方面,ZK是以服务器为中心的,它为您处理了服务器-客户端异步通信。使用ZK,开发人员可以更专注于业务逻辑,而无需关心客户端-服务器问题。由于框架处理了客户端-服务器通信,因此默认情况下会有更多的请求。如果您希望最小化请求,则可以按照他们的开发人员指南进行一些调整。
在我看来,ZK和GWT都是成熟的框架。您可以考虑您的项目要求和Web开发经验,然后选择解决方案。

0

我在两个团队的真实项目中积累了经验,一个团队使用zk框架编写,另一个团队使用GWT。这两个团队开发了相同的UI项目,数据都来自于同一个数据服务层。使用zk框架的团队完成了项目,而使用GWT的团队所花费的时间则缩短了三分之二。这两个项目都已部署到生产环境,用户对两者的使用都很满意。最终我们选择了zk版本作为生产版本。为什么?因为与GWT相比,zk应用程序的维护速度和简单性要快得多!非常抱歉,GWT...虽然是由巨头支持的好技术,但我们将继续使用zk。


0

ZK 侧重于服务器端,因为 GWT 全部在浏览器中运行,所以 ZK 需要更多的 ajax 请求到服务器来获取 js 片段、屏幕部分等,而 GWT 只需要在开始时向服务器发送请求下载 js 应用程序(该应用程序将永久缓存在客户端),并且每当应用程序需要从后端获取一些数据时。

话虽如此,我认为 GWT 应该表现更好,因为您不需要在服务器上执行任何视图逻辑(轻量级服务器),并且在线路上的请求较少。


0

GWT和ZK有所不同。

我做过一些ZK项目和一些GWT项目。在任何情况下,我都没有性能问题,但是当我使用GWT时,我感觉需要编写更多的代码。


这并没有真正增加任何价值。 - madth3

0

前面的帖子基本上都是基础知识,但是在zk中有一些特性,我认为必须谈论一下。
记住,每个请求都是一个zk事件,因为zk完全基于事件。

  1. 客户端事件处理
    Zk允许您实现客户端事件处理,就像服务器端一样, 这包括防止zk向服务器触发事件。
    您可以像在Java中一样简单地在js中操作客户端对象 服务器端或者只需进行一些后处理然后...

  2. 使用客户端事件触发
    Zk有一个有用的js方法zAu.send(zk.Event,int),它可以让您发送自定义或标准事件到服务器。
  3. 可延迟事件监听器
    可延迟事件在客户端排队,因此您可以最小化请求数量。
  4. 仅存根
    Stubonly是一种使组件仅在客户端上的方法。但是目前仅适用于zk EE

所以,你可以看到,如果你愿意的话,你可以将请求限制在与GWT相同数量的请求。
是否有意义取决于你/你的应用程序。但我认为你可以说zk比GWT更强大。
你可能也对iZUMLdefer rendering感兴趣。


谢谢你,你的回答非常有帮助。我在使用ZK时遇到了另一个问题,就是当在移动浏览器中查看网站时,它没有给人一种非常本地应用程序的感觉。是否有任何解决方法? - user1773380
我不知道你的网站长什么样,但你可以使用CSS媒体查询来优化在不同设备上的视图。也可以看看这里。如果你喜欢某个答案,也可以接受它。 - Nabil A.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接