技术开发 频道

Tapestry PK JSF, 谁将成功晋级J2EE5 Web层框架?

【IT168 专稿】自从2000Struts诞生以来,基于动作(Action-Based)的MVC架构在Web开发方面可谓风光无限。目前主流的WEB框架如StrutsWebwork(Java)Ruby on Rails(Ruby)Zend Framework(PHP)等都采用这种设计模式。URL映射到控制器(Controller)和控制器中的动作(Action),由Action来处理请求并输出响应结果。然而风水轮流转,基于组件(Component-Based)和事件驱动(Event-Driven)的开发模型,抢占了动作开发模型的不少风光,出演了一场“狼来了”的好戏。有的成为了PK Struts的优秀选手。而由Sun公司推出的JSFJava Server Faces)和Apache组织主导的Tapestry是这场选秀的成功晋级者。

 JSF将是J2EE5.0中所包含的Web开发框架,这应该是第一个成为JCPJava Community Process)标准的Web框架,并且随J2EE SDK一起发布的Web框架,可以看出Sun对它的期望很高。JSF最大的竞争对手是Tapestry,是Apache的产品。但是Apache又推出Myfaces,这是对JSF标准的另一个实现。也许大家也和笔者一样,在JSFTapestry之间犹豫很久,将来从Apache的态度上应该可以看出二者的走向。

在本文中,笔者将对JSFTapestry这两种框架进行详细的比较。比较将涉及到这两种框架的设计、运行环境以及如何开发等方面的内容。希望通过这样的比较,让读者了解这两种框架各自的优缺点,以便于在自己的项目中,根据实际情况,选择合适的框架。本文的内容基于JSF1.1Tapestry4.0(有的部分基于Tapestry5.o)
 
一、       JSFTapestry的简介
 
1.  JSF

JSFSun公司在JCP JSR 127标准倡导下的技术实现。另外一个JSF的实现,就是Apache的一个项目MyFaces。JSF的目的是为Web应用的用户界面创立标准的框架。采用JSF开发的Web应用,可以运行在Java服务器上,把用户界面传递到客户端。JSF通过控制Servlet和具有事件处理和组件加工的丰富的组件模型管理Web应用生命周期。
 
2. Tapestry

Tapestry是在Apache软件许可下发布的一个开放源码且基于Java的框架。Tapestry最初于2000年在Sourceforge注册,来自于Apple WebObjects,随后,于2003年成为Apache的一个项目。与JSF不同的是,Tapestry并不是某一个JSR规范的实现,它仅仅是一个开源项目。它是专门为了简化Web开发设计的。它有以下关键特性:

易安装性:不需要是Web应用程序高手,就可以让Tapestry启动并运行。
易使用性:只需要基本的JavaHTML,而不是Servlet技能,就可以编写Tapestry应用程序。
健壮性强。当站点增长超过1050100个页面时,也不必抛弃Tapestry。对于多数Web应用程序来说,Tapestry都足够健壮。
0
相关文章