Apache Wicket vs Apache Click

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

Click是积极开发的,最近gradle于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开发人员实际上并不创建或维护模板,而是由设计人员处理。

亲切的问候

短发

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

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

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

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

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

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

我也喜欢点击与apache cayanne完美结合。