Tapestry是什么?

Tapestry是什么?
Tapestry是一个全面web application框架,是使用JAVA写的。
Tapestry不是一个application server,Tapestry是一个使用在application server中的框架。
Tapestry不是一个application,Tapestry是一个用来创建web application的框架。
Tapestry不是JSP的一种使用方式,Tapestry和JSP只能够选择一种。
Tapestry不是一个脚本环境,Tapestry使用一种组件对象模式(component object model),这并不是一种简单的脚本,而是用于生成高动态性高互交性的web页面。
Tapestry基于Java Servlet API version 2.2,兼容于JDK 1.2以上版本,Tapestry通过变换多样的组件模式,将一个web application分离为一个联合组件。每一个组件都拥有其特殊的责任用于显示web页面或者响应HTML请求。
 
 Tapestry所处的状况
1)  为什么需要web框架?
多数情况下,跨不同的应用来重用商业组件是困难的,因为由商业组件提供的功能在其它应用里不需要:它可能是唯一针对你的应用的。然而,应用服务可以在机构跨应用重用,跟跨机构一样好,因为它们提供的服务对不同类型的应用都有用。这些应用服务可能包括请求路由(对一个MVC结构),错误处理,以通用的方式产生的客户端脚本和已准备好的标签库。
2)  Tapestry所处的状况
以下是各种 web 框架比较 : (by Matt Raible)
 
struts
Spring MVC
WebWork
Tapestry
JSF
优点
广泛流行;拥有很多信息和示例;HTML标签库是一个非常好的东西。
生命周期由重写绑定,效验等确定;能够无缝隙地与各种表现层程序结合在一起,如JSP,XSL等;IC使得很容易测试。
结构简单,容易被扩展;标签库容易被自定义,并获得Velocity支持;拦截机制成熟可靠。
一旦学会,效率很高;HTML模板很合适美工;有良好的社区支持。
J2EE规范;能够快速和容易地开发;丰富的导航框架。
缺点
ActionForms非常恶心;不能够做单元测试;大量的邮件列表令人无法忍受
很少被使用;需要在JSP中写入大量代码;太灵活了,反而不能得到通用的控制。
其文档最近才出现,示例很少;客户端效验很不成熟。
文档非常概念,而缺少实践;学习曲线陡峭,示例非常少;
标签依赖JSPs;技术不够成熟;实现资源不单纯。
Matt Raible认为:
       如果是快速却低技术含量的项目,他会选择struts,因为struts比较成熟;
       如果是高技术含量的企业级项目,他会选择Tapestry,因为Tapestry可重用组件;
       如果是开源项目,他会选择WebWork,因为使用WebWork需要对框架有更深入的认识。

你可能感兴趣的:(jsp,struts,Webwork,application,tapestry,web框架)