JiveJdon Community Forums
在线103人 J道首页 | 论坛首页 | 培训咨询 | 开源框架 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » 设计模式、框架和架构
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 19 回复 / 2 页 [ 1 2 下一页 ]  发表新帖子  回复该主题贴
hgwnet

发表文章: 141
注册时间: 2003年01月05日 14:36
组件框架技术tapestry及简单对比 发表: 2005年07月12日 11:30 回复
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的优点和带给你的便利不是两句话可讲清楚的,还需要自己去多多体会。
banq

发表文章: 8929
注册时间: 2002年08月03日 17:08
Re: 组件框架技术tapestry及简单对比 发表: 2005年07月12日 13:06 回复
Tapestry 3.0我用过,概念很新,没有JSF那种绕圈子的感觉。

问题是:太琐碎,配置文件一个页面一个,吓人啊,不知4.0有无改进,这个东西就象Struts 1.2以前版本一个页面一个action一样,struts1.2提供了DispatchAction,稍微解决了这个问题。

个人感觉Tapestry结合工作流软件开发比较好,因为Tapestry页面流转不是基于URL,struts是基于URL的,所以可以使用工作流框架的配置流转来控制Tapestry页面。

以上只是个人认识。
hgwnet

发表文章: 141
注册时间: 2003年01月05日 14:36
Re: 组件框架技术tapestry及简单对比 发表: 2005年07月12日 13:55 回复
在jdk1.5的Annotations后,tapestry可以甩掉.page文件了
redlly

发表文章: 44
注册时间: 2003年07月31日 00:17
Re: 组件框架技术tapestry及简单对比 发表: 2005年08月01日 16:00 回复
看了以上讨论,简单差了一下资料,发现用它做项目的还真不少,国内有人做的一个自动化的软件构建和管理工具-luntbuild好像就是用tapestry作的。这里提出几点疑问,希望得到明示:
1、tapestry是否可以与tiles、sitemesh等一起使用,还是有其他的方式控制页面布局?
2、有无IDE工具的支持?
3、他是不是有点类似.net的webform,.net的webform也是一个页面一个配置文件。
4、他的控件是否够多,因为页面对样式的要求比较高,不同项目的叶面风格都不同,就拿它的日历控件来说,能否自定义样式,比如说改换颜色、背景等。或者能够通过简单的继承来对其进行个性化?

hgwnet

发表文章: 141
注册时间: 2003年01月05日 14:36
Re: 组件框架技术tapestry及简单对比 发表: 2005年08月05日 12:10 回复
刚刚试用了一下onetsoft.com的最新软件(免费的),发现它的客户端页面也才20多个页面,可见tapestry在组织页面方面的能力是多么强。
你的问题都没有问题,tapestry社区有很多讨论。
dabb

发表文章: 238
注册时间: 2004年04月21日 15:02
Re: 组件框架技术tapestry及简单对比 发表: 2005年08月08日 21:23 回复
我前阵子也看了一整天的tapestry,看了它的一些那些demo.感觉确实是基于组件的页面开发。但就是配置太烦琐了。不知道有什么改进的方法。还有现在那些公司好象都在捧jsf。。。有时间我也多多研究一下tapestry.
hgwnet

发表文章: 141
注册时间: 2003年01月05日 14:36
Re: 组件框架技术tapestry及简单对比 发表: 2005年08月09日 07:10 回复
刚开始没有技巧,配置麻烦。
甩开.page配置后你会发现很简单。
有时间去研究一下免费的onet forums的模板文件,应该可以受到启发。
它们的站:www.onetsoft.com
banq

发表文章: 8929
注册时间: 2002年08月03日 17:08
Re: 组件框架技术tapestry及简单对比 发表: 2005年08月28日 19:09 回复
作为组件型界面框架JSF和Tapestry的对比,本文详细从语法上等各种角度进行详尽的比较:

http://www.theserverside.com/articles/article.tss?l=JSFTapestry
zdbj2ee

发表文章: 44
注册时间: 2003年08月29日 09:14
Re: 组件框架技术tapestry及简单对比 发表: 2005年08月29日 09:10 回复
我试验的用过tapestry,感觉这个东西还可以,因为它的原理是用html中加入标志性标签,标识那一部分应为tapestry来解析,然后由tapestry动态的ONGL翻译,然后转换到组件,最后使用servlet解析,变量print输出。
但我认为不要的地方在于:
1。页面调试不方便。每一次html的改变都要做起servlet服务器。
2。文档少,例子少。

我现在正要用jsf开发,感觉这人东西,在jsp基础上还可以,上手要比tapestry快,而且文档比较多。而它还使用的简单的IOC和Decorator模式,组件可维护。感觉要比tapestry好一些。

以上只是我的个人观点。
skynet

发表文章: 1
注册时间: 2005年08月29日 18:57
Re: 组件框架技术tapestry及简单对比 发表: 2005年08月29日 19:04 回复
刚去了一趟onesoft.com,试用了一下其表现层源代码(据说基于tapestry4.0最新版),总体感觉tapestry用起来还是挺方便的,以后就把它当成我的实战范例咯。
Julian_Shanghai

发表文章: 10
注册时间: 2003年10月25日 20:43
Re: 组件框架技术tapestry及简单对比 发表: 2005年09月01日 13:33 回复
我研究过一段Tapestry 3.0。它的组件化开发确实思想很不错,不过也有很多的问题。比如,一些组件的属性过于简单。在事件绑定方面不是很完善。如果能够做到和asp.net里所实现的webform和事件驱动,那就非常完美了
banq

发表文章: 8929
注册时间: 2002年08月03日 17:08
Re: 组件框架技术tapestry及简单对比 发表: 2005年09月04日 18:52 回复
JSF要更精致一些,与webform一样完美。
zhangmingjing

发表文章: 60
注册时间: 2003年07月17日 15:19
Re: 组件框架技术tapestry及简单对比 发表: 2005年09月06日 17:33 回复
Tapestry的中文资料很少,网上看到一个还不错,推荐给大家:http://forum.cdmcs.com/update/Tapestry%BF%AA%B7%A2%D6%B8%C4%CF0.9.rar
dabb

发表文章: 238
注册时间: 2004年04月21日 15:02
Re: 组件框架技术tapestry及简单对比 发表: 2005年09月07日 09:58 回复
不错,多谢。这比那个in action的更适合初学者(in action只能当reference对于我这种没有多少时间进行研发的人)。
banq

发表文章: 8929
注册时间: 2002年08月03日 17:08
Re: 组件框架技术tapestry及简单对比 发表: 2005年09月07日 16:16 回复
Tapestry文档不是没有,很多,但是都罗罗嗦嗦好像说不清楚,认为主要是名词定义问题,Tapestry用component来表达它的一个发明概念,但是component这个普通名词意义我们一般人都有先入概念,但是用这个先入概念理解Tapestry的component就有问题,他们应该学习Spring一帮人,多玄!什么东西都发明一个新名词来指代,其实甚至只还是那些东西,但是至少让人认为是新东西,一开始就兴奋,一付好好学习的态度,不让以前的概念打扰自己,这样就容易接受。

就象Struts由Action/ActionForm/Jsp组成一样,JSF由JSP/Managed-bean组成一样,Tapestry主要由页面(Page)和组件(Component)两个部分。
你可能以为我说这话等于白说,因为Page和Component是两个太普遍的概念了,但是我说Tapestry主要由特殊页面(PageA)和特殊组件(ComponentB)两个部分组成,你可能觉得注意到不同点。

其实这两个东西都涉及Java类,我们普通也成为Component,这下就容易把这里Component和ComponentB混淆在一起,前者是单个类,后者是一组东东,其中也设计到单个Java类。

我觉得学习Tapestry入门很重要,也就是思维方式转过来就开朗了。

这个主题有 19 回复 / 2 页 [ 1 2 下一页 ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-07 jdon.com

anti spam