Vaadin和Apache Click似乎同样出色,我应该选择哪一个来开发我的 Web 应用程序。或者更确切地说,每个框架的优缺点是什么。
7 回答
我是 Apache Click 的提交者,但希望你会发现我的观点是客观的。
我根本不认识 Vaadin,只是粗略地浏览了他们的网站、示例和使命宣言。
Apache Click 和 Vaadin 用于不同的问题空间。Apache Click 面向传统企业 Web 应用程序,而 Vaadin 面向富 Internet 应用程序 (RIA) 空间。
Apache Click 是一个传统的无共享、无状态框架。与传统的基于动作的 Web 框架不同,Click 通过使用页面和组件提供了更高级别的抽象。在当时,Click 并不是一场革命。它只是进行 Web 应用程序开发的众多方法之一。从开发人员和维护人员的角度来看,我认为这是一个非常好的方法。(在企业环境中,开发人员和维护人员通常不是同一个人,因此我区分了这两个角色)。
然而,开发人员有时会遇到传统 Web 应用程序无法满足的要求,这就是 RIA 的用武之地。它们提供了更丰富的用户体验(想想桌面),但这并不是免费的。RIA 以复杂性、生产力和上市时间为代价。但这是有道理的,如果要求是更丰富的体验,您需要做更多的工作才能提供这种体验。
我的建议是:仔细考虑您的要求。不要简单地假设 RIA 更好,这是要付出代价的,因此请确保您获得投资回报。
最后,如果您的要求是 RIA,那么您应该将 Vaadin 与 Flex 进行比较。如果您的要求是更传统的 Web 应用程序,请将 Click 与 Struts、Stripes、Wicket、Tapestry 等进行比较。
亲切的问候
鲍勃
我两个都用;-)
Click 是经典 Web 应用程序的最佳选择(纯 html,没有/小型/手工制作的 javascript)。它非常轻量级(小尺寸和无状态),不那么冗长(您可以使用速度/freemarker 功能在 html 中编写 html ;-)。一个真正的 php 杀手。
Vaadin 最适合桌面类企业应用程序。它是有状态的、重量级的、冗长的,但令人惊叹。
Grails、Play!、Spring MVC 是 Click/Vaadin 之后的真正退步。
所以我的建议:两者都用!对于您的大多数页面,您将使用 Click 来完成复杂的任务 - Vaadin。
我从 2006 年开始使用 Click。在过去的 4 年里,我用它构建了各种 Web 应用程序。所有应用程序 (B2B) 仍然很强大,并继续维护/添加到现在。Click IMO 的优点包括:
- 很少有魔法,几乎没有管道。这一切都只是普通的 java (和 jsp/velocity/freemarker 任你选择;或者如果你愿意,也可以使用所有 3 个;我有一些场景,因为它很容易)。
- 它超级快(这并不意味着您的应用程序不会慢,它只是意味着点击永远不会成为您的应用程序慢的原因)
- 集成您喜欢的 java lib 非常容易,例如。Ibatis SQLMAP, Spring, displaytag, DWR etc.etc.
- 您无需购买书籍即可理解/使用它(尽管您可能需要书籍来了解您计划使用的所有其他第 3 部分库)。
- 我 4 年前编写的大部分代码仍然适用于当前版本。那真是太棒了。
- 点击适合你的头脑。整个框架就是这样。它是如此简单,即使是初学者也不会有太多问题。
- 维护 Click 的人反应灵敏,对菜鸟非常友好。
- 它的简单性有助于我的应用程序适应新/旧技术。即,如果我愿意,我可以轻松地做 AJAXy 的东西。
- 表单功能使处理 html 表单非常容易/快速。
- 表格功能使显示数据超级容易/快速
- Click 的功能帮助我非常快速地编写应用程序。使不必要的 imo 需要脚手架。
如果您想要一个轻量级、快速、易于理解的框架,它可以帮助您以您或您的团队个人能够最快的速度构建应用程序,请查看 click,这将是值得您花时间的。
在做出选择之前,您应该通过试驾来评估所有选项。
我不熟悉 Click,如果我错了,有人应该纠正我,但我理解 Click 基本上是一种将您的服务器端代码链接到网页的技术。UI 是基于页面的,您可以使用与 HTML 元素对应的组件来定义 UI。我认为 Ajax 还没有得到支持。
Vaadin 在更高的抽象级别上运行。使用 Vaadin,您可以专注于您的业务逻辑,并使用视图、布局和其他组件自然地构建您的 UI(查看Sampler)。您不需要关心 RPC、页面转换、HTML 或模板。Vaadin 为您提供了一个完全跨浏览器兼容的 Ajax UI,它开箱即用,看起来和工作都很棒。它很容易上手,而且论坛非常活跃(上个月超过 700 条消息,而 Click 邮件列表上的消息为 96 条)。
免责声明:我是 Vaadin 团队的成员,没有使用过 Click。
我会选择,而且我已经在一些项目中做过 Click(在所有其他框架中)。
对我来说,主要卖点是我能够在一个周末学习 Click 并且非常高效(Vaadin - 但其他框架也让我花费更多)。Click 的免费和可用文档要好得多 - 您可以自己比较站点(即使 Vaadin 站点看起来更酷,Click 站点更有用 - 至少对我来说是这样)。
活生生的例子要好得多——我总是把它们看作一个片段存储库,然后从那里复制我需要的东西(因为我是一个懒惰的程序员:))——有一个“Page Java”和“Page HTML”链接每个示例都显示每个可用示例的源代码。
关于消息流量,我认为这不应该是一个标准,因为有这么好的免费在线文档,而且框架这么简单,用户根本不需要问那么多。
免责声明:我只是一个使用过这两个框架的简单用户。
Apache wicket也是一种选择吗 ?
我的经验是使用 jboss/ejb/jquery,但正在研究启动新项目的技术。我自己做了一些快速的研究,abd Vaadin 似乎很受好评。
如果您正在比较 UI 框架,那么 Apache Wicket 肯定是您不能忽视的东西。(我也在做同样的事情。)由于文档质量差,我放弃了 Vaadin(也许我不是一个好的 Google 员工。)
目前比较 Wicket、Click 和 ZK。
到目前为止,Click 和 Wicket 处于领先地位,原因如下:
生成纯 HTML,而不是在 GWT、Vaadin 和 ZK 中使用 JavaScript 渲染 UI。然后您可以使用 HTML5 功能。
即使使用原生 HTML,UI 表单的服务器端绑定也是可能的。您无需担心与服务器的通信。ZK 也这样做,但使用他们自己的语言 ZUML。
在 ZK Grid 等组件的情况下,我发现 ZK 中的服务器端内存占用更高。(我还不知道 Click 的内存占用。)