真实世界ZK与GWT体验

时间:2010-08-16 01:06:28

标签: web-applications gwt java-ee zk

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

现在我并不是说GWT本质上是坏的,也不是说ZK是Web应用程序开发的全部和全部,但我不喜欢被告知如何开发一个应用程序的人没有真正做足够的研究来推动某项技术。虽然这个人不在我们的团队中,但管理层倾向于倾听他的意见,并且可能会“告诉”我们使用什么。

这家伙反对ZK的论点似乎是“浏览器不兼容”,“浏览器中的商业逻辑过多”,以及“项目不成熟”。我不同意这三个方面。他也没有为GWT提供任何论据,看起来他实际上对这两种技术都不太了解。他还声称使用公司内部人员所知的技术会更好。这里只有一个团队实际使用过GWT,该项目有......问题。

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

7 个答案:

答案 0 :(得分:10)

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

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

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

GWT的真正优势在于Google。因此,我一直听到一些老板把工程师推到了GWT。我还听说一些GWT项目失败(主要是由生产力问题引起的 - 如果项目很复杂就太痛苦了),然后转为ZK。

答案 1 :(得分:7)

我从来没有使用过ZK,但从外观来看,ZK更像是“企业就绪”,因为它带有许多随时可用的小部件。 GWT最近刚刚获得了类似DataGrid的控件。在GWT中重新创建ZK的日历或电子表格需要付出相当大的努力。

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

如果您尚未查看ZK's GWT vs. ZK page。他们似乎已经覆盖了大部分基地。

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

答案 2 :(得分:7)

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

我也在努力在ZK和GWT之间做出选择。我正在寻找最近一篇无偏见的文章,讨论这两篇文章,但一直没有找到任何好的文章。

答案 3 :(得分:3)

公司董事讨厌风险和不确定性。如果有很多开发人员说框架很酷,而且有一位建筑师嗤之以鼻,并喋喋不休地谈论风险,那么他们就会非常单独地使用naysay。您需要获得该软件的第三方独立引用,即使使用opensource也是如此。

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

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

这种方法将取得成功,因为ZK已被用于数百万美元的开发项目,团队中有超过30位开发商,全球金融公司数十亿美元。你喜欢使用ZK是一个很好的公司。

答案 4 :(得分:1)

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

一起使用

答案 5 :(得分:0)

或许展示成功的企业级ZK应用程序可以提供帮助。

我第一次使用IDempiere 2(ERP + CRM软件)时,我的想法很震惊。它是一个庞大的ERP软件,具有响应迅速且干净的界面。

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

答案 6 :(得分:0)

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