23

我和一位开发人员正在为一个新的应用程序提出一个提案,我们已经提出了 ZK 和 GWT 作为可能的选择。在搞砸了两者之后,我更愿意继续使用 ZK 概念验证,但公司的一位“高级架构师”(甚至不在我们团队中)似乎正试图接管该项目并告诉我们要采用哪些技术。他正在寻找任何借口将 GWT 推到我们身上,并对 ZK 犯规。

现在我并不是说 GWT 天生就不好,也不是说 ZK 是万维网应用程序开发的万能,但我不喜欢被没有经验的人告诉我如何开发应用程序确实做了足够的研究来推动一项特定的技术。虽然这个人不在我们的团队中,但管理层倾向于听他的,并且可能会“告诉”我们使用什么。

这家伙反对ZK的论据似乎是“浏览器不兼容”、“浏览器业务逻辑过多”、“项目不成熟”。这三个我都不同意。他也没有为 GWT 提供任何论据,这看起来他实际上对这两种技术都不太了解。他还声称,最好使用公司内部有人知道的技术。这里只有一个团队实际使用过 GWT,并且该项目遇到了……问题。

在 ZK 和/或 GWT 方面有一些实际经验的人能否提出一些我可以提供的论点,至少将这两种技术重新放在桌面上,而不是试图在没有真正研究的情况下推动单一技术?

4

7 回答 7

11

GWT 和 ZK 都提供了在 Java 中启用 Ajax 的框架。两者都很成熟,没有浏览器不兼容的问题(ZK是基于jQuery的)。

但是,它们在架构上非常不同。GWT 是客户端方法——所有代码在客户端运行,而 ZK 服务器端方法——所有代码在服务器上运行(但他们可以选择在客户端编写一些应用程序代码)。所以,你的同事错了,你已经知道了——GWT 将业务逻辑暴露在客户端,而不是 ZK。

GWT(作为客户端方法)的优点是响应速度更快(如果设计得当,客户端-服务器请求更少)。缺点是您必须在客户端和服务器之间进行所有数据封送处理(GWT RPC/JSON 仅支持非常简单的对象)。相比之下,ZK 的优势是你可以直接访问所有后端资源,没有 RPC,没有代理......另外,ZK 允许你在客户端编写一些代码来增强关键部分的响应能力(不幸的是,客户端代码必须是 JavaScript)。对我来说,这是最好的平衡。

GWT 的真正优势在于 Google。我不断听到一些老板因此将工程师推向 GWT。我还听说一些 GWT 项目失败了(主要是由于生产力问题——如果项目复杂的话太痛苦了),然后切换到 ZK。

于 2010-08-16T07:16:23.833 回答
7

我从未使用过 ZK,但从外观上看,ZK 更“为企业做好准备”,因为它带有许多即用型小部件。GWT 最近才获得了一个类似 DataGrid 的控件。在 GWT 中重新创建 ZK 的日历或电子表格需要大量的努力。

你是老板的“浏览器中业务逻辑过多”的说法确实表明他并不真正知道他在说什么。GWT 是一种仅限客户端的技术,而 ZK 看起来几乎完全是服务器端的。

如果你还没有查看ZK 的 GWT vs. ZK 页面。他们似乎覆盖了大部分基地。

最后,请记住,你是编写程序的人而不是他,如果老板强迫你做一些需要更多时间来实施的事情,那么相应地夸大你的估计。用他们关心的东西来吸引管理层要容易得多:“这项技术将使预算增加 X 并按 Y 计划”,然后是技术细节。

于 2010-08-16T01:37:23.927 回答
7

请注意,ZK 的 GWT vs. ZK 页面由 Potix Corporation 的工程师 Jeff Liu 编写。是哪家公司制造了ZK。

我也在努力在 ZK 和 GWT 之间做出选择。我正在寻找最近的一篇公正的文章,它讨论了这两者,但找不到任何好的东西。

于 2010-10-23T08:26:49.047 回答
3

公司董事讨厌风险和不确定性。如果有很多开发人员说一个框架很酷,而一个架构师咬牙切齿地抱怨风险,那么他们就会一次次地接受反对者。您需要获得软件的第三方独立参考,即使使用开源也是可能的。

至少有一家公司出售对 ZK 的支持。他们很乐意让您与使用 ZK 的公司的架构师取得联系。向这些独立的第三方架构师提出一组开放式问题,例如“你最喜欢什么,最不喜欢什么”和“你发现的主要挑战是什么”和“最让你惊讶的是什么”和“其他框架做了什么”你考虑过,为什么选择ZK”。公司董事喜欢这种基于事实的研究与其他公司的高级人员交谈。

同时设计一个“突击课程页面”,它公平地代表了您必须在项目上构建的那种复杂性。让团队在 ZK 和 GWT 中实现该页面,并让每个人都尝试改进两者。把这段经历写成一个团队。一定要包括反对 ZK 的人,不要以对抗的方式这样做。不要陷入他们与我们或她与我的情况,而是将其作为一个开放的团队事实调查和培训练习,任何人都可以做出任何贡献。Wiki 页面可能是一种理想的格式。

您将通过这种方法获得成功,因为 ZK 已被用于数十亿美元的全球金融公司的超过 30 名开发人员的多个开发项目中。您是喜欢使用 ZK 的好公司之一。

于 2010-12-12T00:05:34.980 回答
1

如果您需要 ZK(服务器端 AJAX 框架)的优势,您可以将 GWT 与SmartGWT一起使用

于 2010-08-16T08:42:34.607 回答
0

也许展示一个成功的企业级 ZK 应用程序会有所帮助。

当我第一次使用 IDempiere 2(ERP+CRM 软件)时,我的思绪被震撼了。它是一个巨大的 ERP 软件,具有非常灵敏和干净的界面。

我在不到一个小时的时间内将它安装在 Windows 机器上。

于 2014-06-20T13:59:18.323 回答
0

ZK 更容易使用并且在 API 方面具有较低的学习曲线。另一方面,如果您想创建所有排列并且您不使用适当的插件进行即时编译,则 GWT 更难学习且体积更大,因为它可能需要很长时间才能编译。后者提供了更快的用户体验。如果您想快速为 Intranet 应用程序创建 GUI,请使用 ZK。如果您的目标受众更多,请改用 GWT(GWT 中缺少标准组件并不是一个真正的因素,因为您可以改用 GWT-ext,另一方面,最重要的 ZK 组件是专有的)。

于 2018-10-25T14:04:51.200 回答