Apache Wicket 和 Apache Click 有什么区别?Apache Click 是否得到维护?最新版本似乎是从 2008 年 11 月开始感谢 Achilleas
4 回答
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 开发人员实际上并不创建或维护模板,而是由设计人员处理。
亲切的问候
鲍勃
Wicket 为您撰写页面的方式提供了更大的灵活性。您可以为整个应用程序创建由组件组成的单个页面,也可以根据需要创建多个页面。点击是基于页面的。Wicket 支持开箱即用的 ajax。在浏览器不支持 ajax 的情况下,wicket 中的大多数 ajax 组件都会退回到正常的页面刷新。Wicket 有几十个开箱即用的组件和几十个来自相关项目的其他组件。我在 wicket 中发现的一个很棒的功能是它的冗长性。这意味着我的应用程序所做的一切都是我创建的。我用 html 和 css 编写了整个演示文稿,没有生成任何内容。从经验来看,缺乏魔法对我来说是一大优势。最后也是最不重要的是,许多大公司都在使用检票口。Walmat mobile 和 wellsfargo mobile 使用检票口完成。
wicket 的最大缺点是它的状态性。单元测试和调试状态问题可能很困难。它的状态性意味着它使用更多的内存,并且可能会影响您的硬件预算。wicket 的状态性质的副作用意味着它需要能够不时保存该状态。为此,您的所有对象都需要可序列化。
我刚开始看点击。我喜欢它的无国籍性质。网络是请求/回复,应该是无状态的(至少尽可能)。
我也喜欢 click 与 apache cayanne 的完美集成。