`
haiwoo
  • 浏览: 12267 次
  • 来自: ...
社区版块
存档分类
最新评论

Struts2/webwork与tapestry的区别(一)

阅读更多

用了webwork1.5年时间,也用了tapestry1年的时间,总结了一下他们之间的一些优点和缺点

一、从设计角度上说

     tapestry是优秀的面向组件开发框架

     webwork只是一个优秀的面向标签封装的开发框架

     但虽然说是tapestry是面向组件开发的框架,当一个公司开发一套系统的时候,讲究的时间效率,上层管理才不管你是开发组件还是标签,他要的是的最快开发速度,前提是不出现bug,而往往一个功能最快的开发速度是使用通用的标签与简单的编码,而编写组件,说白了就是自定义标签,只不过这个标签的功能很大,封装了很多公用的业务代码,而这些东西不仅仅要有良好的设计方案以及明确的详细需求,还要熟练一个框架的基本原理加上编写组件消耗的开发时间,这样对很多人以及很多公司来说都是致命的,我也相信不会有多少公司会有专门的开发通用组件成员存在,何况tapestry也不是该公司自己研发的

   但是面向组件的tapestry用了通用的组件对开发速度的提升不是webwork可替代的,并且已经明确了的组件又减少的bug的出现机率

   以上可以说tapestry相对webwork更适应那些开发自身产品的公司

二、从资源管理角度上说

   tapestry是单列模式的管理资源,是线程不安全的

   webwork是线程安全

   webwork对servlet的请求是通过比较上层的context进行读取的,这点tapestry是不可比拟的,这样tapestry在写业务方法的时候自然相对webwork而言方法一般都回很长,而且tapestry的action跳转控制里面是不应该定义内部成员,这样也会给开发带来一点的方便,而且阅读也不是很好,而且不熟悉tapestry的人进行开发就会出现一些意想不到的bug以及性能问题,我们公司就出现了这些问题,还好他们刚出现问题就聘请到了我=======满足一下自己的虚荣心

三、从读取数据角度上说

    tapestry与webwork都是支持ognl标签

    因此很多人说tapestry的jwcid标签简单而webwork的ww或者struts2的s 标签复杂难懂,其实他们是一样,不要因为改了名字就不认人了

四、从view层编写上说

   tapestry是采用人们熟悉简单的html格式

   webwork是采用java同志们熟悉的jsp格式

   或许是html格式的原因的,很多人都说tapestry支持html,方便美工合作。其实我个人理解这是不对的,tapestry只是采用这种编写方法而已,最终还是跟jsp一样还是要生成servlet,但tapestry更优秀点地说他直接生成asci码的html,也正是这种asci码也造就了tapestry在某些方面就会出现一定的性能问题,如,当界面上需要显示大量的数据,如下拉框里放入俩百个对象,那么tapestry生成的asci码就会非常之大使得单个文件的html超过了80k=======80k都是个人感觉这个应该在http传输协议应该有影响,也希望会的人指教一下。所以过大的文件在b/s模式中是很影响效率的

  然而webwork采用的是jsp,或许在很多人看来不方便工作合作,我倒是纳闷了,难道开发b/s模式采用java语言的人都不熟练jsp吗

 

分享到:
评论

相关推荐

    Comparing Web Frameworks; Struts, Spring MVC, WebWork, Tapestry & JSF.pdf

    此软件介绍webwork and struts and jsf的区别

    Struts2教程/在JAVA EE中作为MVC的优秀框架

    Tapestry也是apache公司推出的,但个人认为是极其难使的,而且版本之间的差别较大,文档也不是很多,使用较费劲,而对于Struts而言,相信不少人都清楚,毕竟Struts已经成功的成为了MVC框架的一个标准,如果不去搞...

    Webwork教程

    4. **Comparisonto Struts**:与第一代Struts相比,WebWork/Struts2具有更好的扩展性和灵活性。 5. **Comparisonto Tapestry**:Tapestry更注重于页面的构建,而WebWork更侧重于业务逻辑的处理。 #### 五、版本升级...

    struts2文档

    标题提及的"struts2文档"是指关于Apache Struts 2框架的官方或第三方技术文档,这类文档通常包含丰富的信息,帮助开发者理解和使用这一框架进行Web应用开发。Struts 2是Struts 1的升级版,它吸收了WebWork框架的许多...

    struts2权威指南全版(分10部分)

    Struts 2与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Strut2没有继承Struts 1的血统,而是继承了WebWork的血统。...

    struts2课堂笔录_0906

    根据提供的文件信息,我们可以深入探讨Struts2框架及其在MVC架构中的应用,以及与其它MVC框架(如JSF、Tapestry和Spring MVC)的对比分析。 ### Struts2框架简介 #### 1. MVC架构概览 Struts2是基于MVC(Model-...

    struts2学习笔记

    #### 二、Struts2与Struts1的关键区别 1. **实例管理**:Struts1中Action是单例模式,而Struts2采用多实例模式,提高了线程安全性和性能。 2. **Servlet API依赖**:Struts1的Action类与Servlet API紧密耦合,限制...

    Struts2 权威指南

    #### 七、Struts2 与 WebWork 的关系 **WebWork** 是另一个早期的 Java Web 框架,后来被 Struts2 吸收并融合。Struts2 继承了 WebWork 的很多优点,如: - **动态方法调用**:支持根据请求参数动态调用 Action 类...

    Tapestry开发

    #### 一、Tapestry简介及其背景 Tapestry是一种用于构建高度可伸缩且易于维护的Web应用程序的Java框架。它最初由Howard Lewis Ship开发,并于2000年发布。Tapestry的设计理念是为了简化Web应用的开发过程,通过提供...

    struts2资料

    Struts2是一个基于MVC(模型-视图-控制器)设计模式的Java Web应用程序框架,由Struts1和WebWork发展而来。它提供了一种结构化的解决方案,使得开发者能够更有效地构建可维护、可扩展的Web应用。MVC模式将应用分为三...

    webwork资源

    此外,WebWork与其他知名的Java Web框架,如Spring Web Framework、Struts、Tapestry和JSF等相比,各有其特色和适用场景。例如,Spring框架提供了全面的解决方案,而Struts拥有丰富的资源,Tapestry以其组件化见长,...

Global site tag (gtag.js) - Google Analytics