19

Apache Wicket 和 Apache Click 有什么区别?Apache Click 是否得到维护?最新版本似乎是从 2008 年 11 月开始感谢 Achilleas

4

4 回答 4

41

Click 正在积极开发中,最近作为 Apache 顶级项目毕业。它目前正在迁移到其新域:http ://click.apache.org 。迁移完成后,将发布下一个版本 2.1.0。

在比较 Click 和 Wicket 之前,请注意我是 Apache Click 的提交者,但几年前已经评估了 Wicket,因此对它的工作原理有相当好的了解。

Click 是一个无状态框架,而 Wicket 是有状态的。在 Click 中,每个请求都会重新创建页面和组件,在 Wicket 中,页面和组件存储在会话中并在后续请求中重用。

Wicket 用于构建复杂的应用程序(想想桌面),所有的 GUI 状态都为您存储和管理。Click 适用于更传统的 Web 应用程序,其中几乎不需要状态来呈现页面。如果您需要存储状态,您必须通过在会话中添加/删除它来自己管理它。值得一提的是,Wicket 支持无状态页面,而 Click 支持有状态页面,但这并不是这些框架的标准。

另一个区别是,Click 控件知道如何呈现自己,因此您不必在页面模板中重复标记。如果需要,您仍然可以手动布局模板,但这不是绝对必要的。在 Wicket 中,标记需要反映页面中创建的组件。Wicket 中的想法是,Java 开发人员实际上并不创建或维护模板,而是由设计人员处理。

亲切的问候

鲍勃

于 2010-02-01T10:32:25.027 回答
2

使用 wicket,您可以使用纯 html 而没有像 click 那样的速度或 jsp 那样的模板语言。这不仅对只需要学习 html 和 java 的程序员本身很方便,而且对工具(调试等)也很方便

它强制用户界面和逻辑更好的分离。wicket 中也不需要 xml,恕我直言,点击不同。

更多不同之处:wicket 的邮件列表流量更高;检票口上有更多的出版物(例如书籍),然后点击;有更多的开发人员编码检票口(看这个这个

于 2010-02-10T10:15:54.180 回答
2

Wicket 为您撰写页面的方式提供了更大的灵活性。您可以为整个应用程序创建由组件组成的单个页面,也可以根据需要创建多个页面。点击是基于页面的。Wicket 支持开箱即用的 ajax。在浏览器不支持 ajax 的情况下,wicket 中的大多数 ajax 组件都会退回到正常的页面刷新。Wicket 有几十个开箱即用的组件和几十个来自相关项目的其他组件。我在 wicket 中发现的一个很棒的功能是它的冗长性。这意味着我的应用程序所做的一切都是我创建的。我用 html 和 css 编写了整个演示文稿,没有生成任何内容。从经验来看,缺乏魔法对我来说是一大优势。最后也是最不重要的是,许多大公司都在使用检票口。Walmat mobile 和 wellsfargo mobile 使用检票口完成。

于 2010-09-22T15:13:38.883 回答
1

wicket 的最大缺点是它的状态性。单元测试和调试状态问题可能很困难。它的状态性意味着它使用更多的内存,并且可能会影响您的硬件预算。wicket 的状态性质的副作用意味着它需要能够不时保存该状态。为此,您的所有对象都需要可序列化。

我刚开始看点击。我喜欢它的无国籍性质。网络是请求/回复,应该是无状态的(至少尽可能)。

我也喜欢 click 与 apache cayanne 的完美集成。

于 2010-10-27T18:49:01.393 回答