Apache Wicket vs Apache Click

时间:2010-01-30 14:50:16

标签: java wicket click-framework

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

4 个答案:

答案 0 :(得分: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开发人员实际上并不创建或维护模板,而是由设计人员处理。

亲切的问候

鲍勃

答案 1 :(得分:2)

使用wicket你使用纯HTML,没有模板语言作为速度或点击jsp。这不仅对程序员本身很方便,只需要学习html和java,也可以用于工具(调试等)

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

更多的差异:wicket的邮件列表流量更高;关于检票口的更多出版物(例如书籍)然后点击;有更多开发人员编写检票口(查看thisthis

答案 2 :(得分:2)

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

答案 3 :(得分:1)

检票口的最大缺点是其完整的性质。单元测试和调试状态问题可能很困难。它的有状态性意味着它会占用更多内存,并可能影响您的硬件预算。 wicket的有状态性质的副作用意味着它需要能够不时地保存该状态。要做到这一点,所有对象都需要可序列化。

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

我也很喜欢点击与apache cayanne的整合。