Tapestry 和 Wicket 的比较
2010-03-30 00:00:00 来源:WEB开发网Tapestry 和 Wicket 被宣扬为流行的基于组件的现代 Web 框架。与 Model 2 架构框架 Struts 或 Spring MVC 不同,Tapestry 和 Wicket 为 Web 开发过程提供了一种全新的方式,即以看待基于 GUI 的独立应用程序相同的方式来考虑 Web 应用程序及其行为和组件交互。
典型的基于组件的应用程序表示一个页面集合,它由一套组件组成。而这些组件可能由更小的组件组装而成。用户交互是一种特定的组件事件。这是与基于 MVC 的应用程序的主要区别,后者的交互入口点是一个 servlet 或一个具有一般属性的操作(例如 URLs 及其参数、表单等)。
使用基于组件的框架的开发人员通过实现事件驱动模型来关注组件和组件交互。 Servles、HTTP 会话和其他来自 servlet API 的实体被移动到更低的级别并且从来不会被直接使用。然而,通过声明组件及其属性,开发人员需要管理服务器端的状态,这种状态可能是会话持久性的。
与 JSF 或使用 JSP 和 Velocity 标记的 WebWorks 不同,Tapestry 和 Wicket 都使用它们自己的模板系统,允许创建完全符合 HTML 标准的 HTML 模板。这使我们可以清晰地实现关注点分离:从事 GUI 的 Web 设计者不用考虑应用程序是在何种平台之上编写;同样,实现组件的应用程序的开发人员不用考虑页面的最终设计是否使用 stub 元素进行调试和测试。 Tapestry 和 Wicket 都支持这种分离。
Tapestry 一览
目前,Tapestry V4.1 是该项目的正式发行版。V5.0 目前正处于积极开发中,从团队开始从头编写 Tapestry 到撰写本文之际,已有 18 个月有余。尽管 V5.0 还没有公开发布,可以肯定地说它与先前的版本完全不同,因为它不是向后兼容的。由于不能确定 V5.0 的状态,我们主要侧重于 V4.1。
更多精彩
赞助商链接