Apache Wicket 和 Apache Click 有什么区别?Apache Click是否维护中?最新版本似乎是2008年11月发布的。谢谢,Achilleas
Apache Wicket 和 Apache Click 有什么区别?Apache Click是否维护中?最新版本似乎是2008年11月发布的。谢谢,Achilleas
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开发人员实际上不创建或维护模板,而是由设计师处理。
此致
Bob
wicket 最大的缺点是它的状态性质。它可能很难进行单元测试和调试,也会使用更多的内存,可能会影响您的硬件预算。wicket 的状态性质副作用是它需要定期保存状态。为了做到这一点,所有对象都需要可序列化。
我刚开始研究 click。我喜欢它的无状态性质。Web 是请求/响应的,应该尽可能保持无状态性。
我也喜欢 click 如何与 Apache Cayenne 集成。