`
izuoyan
  • 浏览: 9121681 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

[Tapestry]Struts终结者?对比组件框架技术tapestry(转)

阅读更多

转自:http://blogger.org.cn/blog/more.asp?name=janetvsfei&id=8353
前言]:从2000年开始的MVC模式框架Struts看来将要被基于组件的事件驱动模型类框架替代,JSF和Tapestry都是新一代可能成为Struts的终结者。

  JSF和Tapestry都是基于页面组件技术的开发框架,但jsf基于jsp,仍然是jsp架构,开发维护起来非常麻烦。tapestry则不同,是基于servlet的一种完全页面组件化的开发框架,而且现在已经非常成熟,目前已经推出t4.0-beta2。

  页面开发走向组建化是一种越来越明显的趋势,这方面tapestry可以说是引导了这个方向,也许是sun太厉害,jsf一出生就得到大家的关注,不过顺此东风,tapestry的用户社区比以前更加繁荣了:

  http://news.gmane.org/gmane.comp.java.tapestry.user

  tapestry有很多范例精彩,参看它的官方网站:

  http://jakarta.apache.org/tapestry/

  若想致力于web页面的开发,个人觉得jsp/serlvet是首要精通的,至于选择框架,则是一件费精力的事情。框架的目的是为了简化开发流程,提高生产效率,典型的框架如turbine、struts、webwork、jsf、tapestry等。如何选择框架是一个经久不衰的讨论,没有多年的实践经验是难以作出实际评价和最终抉择的。愚以为turbine过于厚重,无论是开发速度还是运行速度都令人难以接受,2.4M1到现在快一年还是M!,运行起来真是满如蜗牛,打开一个页面要等浏览器的地球要转上半圈,这也许要归功于velocity解析和没有页面缓存的功劳了。还有就是扩展性、可维护性等,实际上都很差,象它的核心类Turbine,居然定义为final!实际开发起来还不如我自己实现的velocity+servlet+filter框架效率高,速度快。
struts,webwork实际都是jsp的MVC包装,无法摆脱jsp页面难以维护的烦恼,也许开发起来快,但维护呢?还有就是美工人员,他们都得懂jsp。实际的mvc分工在页面这块还是打了折扣。jsf,在一定程度上借鉴了tapestry的组件思想,但大项目应用中狂多的标签封装和定义把你搞疯也得把机器搞疯,估算有两大弊端:运行速度相对慢和页面维护相对复杂。

  最后是tapestry,唯一的难度是理解它的组件开发方法,理解的转变就好比从过程开发到OO开发一样,但对初学者无所谓,一张白纸总是容易上画的。

  选择tapestry有如下几大优点:

  1、最彻底的MVC开发框架,页面代码全部由HTML标准标签组成,页面美工人员无须了解特别的标签定义。

  2、可重用组件开发节省开发资源,一句话:越开发越轻松

  3、优秀的页面流转开发。传统方式都是基于URL实现激活页面流转,而tapstry除了此方式,你还可象开发普通java类一样实现page页面流,更重要的是,还可由此实现页面类的复用。

  4、丰富的组件资源。除了官方维护的资源外,还可找到一大堆的tapestry组件库。

  5、超强的扩展性。tapestry是一个真正的开放性架构,说白了,你觉得哪个服务不爽,你就可写个替代它。

  6、生命力超强,不断的自我更新、发展。tapestry4.0与3.0相比简直就是另一个飞跃,如支持jdk1.5的Annotations,仅这点开源产品中目前还只看到一个hibernate;支持portlet JSR-168,又一个顺应潮流的web开发支持。规划中的4.1将支持页面静态化,这不正是众多开发人员的另个期待吗?
7、tapestry的开发人员稳定。不是一个两个人在那里单打独斗,而是有一群人在开发和支持tapestry的进程。

  8、tapestry技术成熟吗?基于tapestry的软件和大网站已经很多了,国外的:软件如SeaView内容管理系统、WidenTM Digital Asset Management System,网站大的如:
  http://www.nhl.com/
  http://www.theserverside.com/
  https://merchant.shopping.com/enroll/app
  http://www.identitytheft911.com/home.htm
  http://admissions.chicagogsb.edu/admissions/app

  国内的:软件如http://www.onetsoft.com
  网站如:http://love.9618.com.cn/dating/app
  http://dbi.lib.ntu.edu.tw/libraryList/
  http://www.cdcin.com/
  http://www.xtcin.com/
  http://www.xnjs.com/

  tapestry的优点和带给你的便利不是两句话可讲清楚的,还需要自己去多多体会。

分享到:
评论

相关推荐

    Tapestry,JSF和Struts的比较

    对比这三大框架,Tapestry适合对类型安全性和运行时错误检测有高要求的项目,其组件化开发思路可以提高代码复用性。JSF适合那些希望遵循Java EE标准,并需要大量UI组件的项目。而Struts则适用于对清晰MVC架构有需求...

    tapestry5 自定义组件

    在 Tapestry 5 框架中,自定义组件是扩展其功能的关键方式,它允许开发者根据特定需求创建个性化和可重用的 UI 元素。Tapestry 5 是一个强大的 Java Web 应用程序开发框架,它强调组件化、模块化以及声明式编程模型...

    tapestry官方中文文档

    Tapestry是一款强大的Java Web应用程序框架,由Apache软件基金会维护,它强调了组件化、模块化和可重用性,使得开发复杂的Web应用变得更加简单。本文将深入介绍Tapestry 4的相关知识点。 1. **组件化编程**: ...

    tapestry4.02中封装ext的GridPanel组件

    首先,Tapestry是一个基于Java的开源Web应用框架,它提供了组件化开发的方式,使得开发者可以构建出结构清晰、可维护性强的大型Web应用。Tapestry 4.02是该框架的一个旧版本,尽管如此,它仍然包含了许多现代Web开发...

    Tapestry通用WEB框架

    Tapestry是一个强大的Java Web应用程序框架,由Apache软件基金会维护。它旨在提高开发效率,提供高度模块化和可重用的组件,以及优秀的错误处理和调试能力。在深入探讨Tapestry的知识点之前,让我们先了解一下这个...

    tapestry开发技术文档

    对于初学者来说,Tapestry可能会显得有些复杂,但深入学习后,你会发现它与其他框架相比有着独特的优点。 1. **简单性**:Tapestry通过对象、方法和属性来替代URL和查询参数,减少了开发过程中常见的繁琐任务,如...

    Tapestry简单入门.rar_java Tapestry_tapestry

    本教程将帮助初学者了解Tapestry的基本概念,带你逐步入门并掌握其核心组件的使用。 首先,让我们深入理解Tapestry的核心理念。Tapestry的目标是通过提高开发效率、简化代码结构和增强可维护性来改善Java Web应用的...

    tapestry学习入门资料

    Tapestry 是一个开源的基于 servlet 的应用程序框架,它使用组件对象模型来创建动态的、交互的 web 应用。 Tapestry 使得 Java 代码与 HTML 完全分离,利用这个框架开发大型应用变得轻而易举。并且开发的应用很容易...

    tapestry页面编辑组件

    Tapestry是一个强大的Java web应用程序框架,由Apache软件基金会维护。它以其组件化、类型安全和高度可扩展性而闻名。在本篇文章中,我们将深入探讨Tapestry的页面编辑组件,以及如何利用这些组件创建交互式的用户...

    Tapestry 5开发指南(英文)

    Tapestry 5是一款强大的Java Web应用程序框架,由Apache软件基金会维护。它提供了一种声明式编程模型,使得开发者能够创建动态、响应式的Web应用,同时保持代码的整洁和易于维护。本指南将深入探讨Tapestry 5的核心...

    基于Tapestry+Spring+Hibernate框架的Web应用

    与传统的MVC(Model-View-Controller)框架相比,Tapestry更加关注于组件的封装和复用,使得开发者能够更专注于业务逻辑而非底层细节。 #### Spring框架:实现业务逻辑与展示层的分离 Spring框架是一个轻量级的...

    tapestry教程资料文档合集

    Tapestry5最新中文教程.doc 作者 Renat Zubairov & Igor Drobiazko译者 沙晓兰 发布于 2008年7月2日 下午9时30分 社区 Java 主题 Web框架 ----------------------------------------- Tapestry5.1实例教程.pdf ...

    tapestry hibernate Spring应用及组件的使用

    首先,Tapestry是一个基于Java的Web应用程序框架,它提供了丰富的组件库和强大的MVC(Model-View-Controller)架构。Tapestry的组件化设计使得开发人员可以快速构建动态、响应式的用户界面,如在描述中提到的`form`...

    apache-tapestry-5.3.8-bin.zip

    2. **Tapestry Core**:`tapestry-core-5.3.8.jar`是Tapestry框架的核心库,包含了框架的基础组件、服务和API。它提供了页面、组件、事件处理、URL映射等功能,是构建Tapestry应用的基础。 3. **Plastic**:`...

    tapestry3开发指南,带tapestry3所有jar包

    总之,Tapestry 3是一个功能丰富的Web框架,它的组件化、事件驱动和声明式编程模型为早期的Web开发提供了创新的解决方案。虽然现在更现代的版本如Tapestry 5和Tapestry 6已经发布,但Tapestry 3仍然是理解Web开发...

    Tapestry-3.0.rar

    总的来说,Tapestry 3.0的API和组件是了解和学习Java Web开发的重要资源,尤其是对于想要研究历史框架或对比现代框架的人来说。尽管技术已经发展,但这些基础知识对于理解Web应用的构建原理仍然具有价值。

    tapestry5.2.6 jar包

    Tapestry 5.2.6 是一个成熟的Java Web开发框架,它提供了一种高效、模块化和可扩展的方式来构建动态、数据驱动的Web应用程序。这个框架的核心理念是将用户界面与业务逻辑分离,通过组件化的思想实现页面的构建,从而...

    关于Tapestry的一些个人总结

    该框架允许开发者无需使用JSP技术来构建动态网页应用,而是通过使用Tapestry提供的模板技术实现页面的开发。 **核心特点:** 1. **视图逻辑与业务逻辑分离**:Tapestry通过组件模型实现了业务逻辑与视图逻辑的彻底...

    tapestry4和5学习资料

    Tapestry是一个强大的Java Web应用程序框架,由Apache软件基金会维护。它主要专注于提供组件化、模块化的开发方式,以及高度的可维护性和可扩展性。本压缩包包含了一系列的学习资源,帮助开发者深入理解和掌握...

Global site tag (gtag.js) - Google Analytics