论坛首页 Java企业应用论坛

Struts2 or Tapestry哪个更好一点

浏览 14037 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (14)
作者 正文
   发表时间:2008-10-20  
downpour 写道
不谈框架的好坏了,没多大意义,自己看着办。

反正对于我这种吃过T3的亏,觉得T5也不怎么样的人对于Tapestry实在是不能接受的。



其实很多人都觉得t3比t4更好。 我最近用T5做了一个项目,感觉非常不错。 只是比起struts那种框架强太多了。 公司也有用struts2+freemark的项目。 感觉太复杂了。 刚用T5做的那个项目其实是没有一个人是有T5的经验的。 也就是我对T5有过一些研究, 看过T5的文档。 但是其他两个以前根本没有接触过Tapestry的人在我的帮助下上手也非常快。 事后都觉得T5比struts2好太多了。 不过对于项目中有大批掌握struts人的公司来说, 大可不必趟T5这条“混水”。
0 请登录后投票
   发表时间:2008-10-20  
1.運行效率,應該都是一樣快的,除非架構轉發commmad的過程寫的不好,但用java寫差不了多少,為什麼說是一樣快,因為html最快,請求跟查詢一樣就可做到Cache,尤其論壇的條件很適合Cache,在Struts2有,相信T5也有用到Cache,可以看一下T5 page的生命週期。

2.開發效率,這一點很難說誰好,現在User要求頁面的互動要更良好,只AJAX+Data,就
無法對頁面設計人員友好,頁面組件是必須時,開發人員所看的就會與頁面設計人員差異
很大,如果再加上AJAX+Data+Div時那就更難了。

基本上如果T5或Struts2只有一知半解,再快的架構也一樣,如果這個版本有Bug你可以自行修復,那代表你已經可以活用它了,在這樣情況下用T5開發跟Struts2開發的時間兩者應差不多,剩下只有個人喜好問題。

樓主不應該去思考T5 and Struts2運行效率跟開發效率,應該去想你比較喜歡那一個
因為喜歡才用的順手。
0 请登录后投票
   发表时间:2008-10-20  
dan 写道
1.運行效率,應該都是一樣快的,除非架構轉發commmad的過程寫的不好,但用java寫差不了多少,為什麼說是一樣快,因為html最快,請求跟查詢一樣就可做到Cache,尤其論壇的條件很適合Cache,在Struts2有,相信T5也有用到Cache,可以看一下T5 page的生命週期。

2.開發效率,這一點很難說誰好,現在User要求頁面的互動要更良好,只AJAX+Data,就
無法對頁面設計人員友好,頁面組件是必須時,開發人員所看的就會與頁面設計人員差異
很大,如果再加上AJAX+Data+Div時那就更難了。

基本上如果T5或Struts2只有一知半解,再快的架構也一樣,如果這個版本有Bug你可以自行修復,那代表你已經可以活用它了,在這樣情況下用T5開發跟Struts2開發的時間兩者應差不多,剩下只有個人喜好問題。

樓主不應該去思考T5 and Struts2運行效率跟開發效率,應該去想你比較喜歡那一個
因為喜歡才用的順手。



难道开发效率都在写html上面? 不在page class和写action上? tapestry改类可以不用重启server  这点不吸引人? 如果是搞ajax应用的话 跟用那个web框架感觉没有什么太大的关系  选一个好的javascript 框架比web框架重要得多。 以前我们用的是dojo+jsonrpc+jst.


0 请登录后投票
   发表时间:2008-10-21  
我不知道struts2与t5那个更好,我只能说绝对比struts1好得多。而且与jsf比较起来我感觉t5也要好。
例几个我认为好的特性吧:
1.url是rest的。
2.组件写其来很舒服,自少比我写jsp 的tag好很多。
3.以前一直有人说t上手难度大,t5以前我不清楚,但t5我觉得没那么难,很多东西文档上没有的,通过启动日志,源码就能解决,但是文档是t5的大问题。
4.页面的跳转,参数的传递都很方便。
6.对aja的封装也很好,不过对特别的要求还是有问题。
当然现在的t5还是有很多bug,而且还没正式发布。一句话,我喜欢。
0 请登录后投票
   发表时间:2008-10-21  
dengyin2000 写道

难道开发效率都在写html上面? 不在page class和写action上? tapestry改类可以不用重启server  这点不吸引人? 如果是搞ajax应用的话 跟用那个web框架感觉没有什么太大的关系  选一个好的javascript 框架比web框架重要得多。 以前我们用的是dojo+jsonrpc+jst.


我不是要比較兩者誰好誰不好,而是我只是想表達,這兩者都差不多,決定運行效率和開發效率,是在
於你對架構的熟悉度,還有以你的個性你比較喜歡哪一種,這樣用起來才會開心,自己因喜歡而深入研
究,寫出下面是想說明不要去在乎這兩者的運行效率和開發效率,最重要是你喜歡

1.運行效率
我的意思不是都用html,而是如何Cache,可以看一下JavaEye的Cache機制文章,兩者的運行效率就看你
如何做,決定在人,就像寫Ror不是每個人都可以用好Cache的機制。

2.Tapestry改類可以不用重啟server
基本上編譯式的語言類別更新都要classloader,我不清楚tapestry改類發生什麼樣的行為,但只要是
Java寫的都一樣,我只要將Tapestry的改類代碼行為,寫到Struts2組件上就可以辦到了。

3.如果是搞ajax應用的話 跟用那個web框架感覺沒有什麼太大的關係  選一個好的javascript 框架比web框架重要得多

你誤會我的意思了,我無法正確表達我的意思,你可以看一下Grails和Ror項目在Dreamweaver下問美工人員
是否友好,試著做看看,再問一下美工人員,凡事不能自己覺的美工好就好,更應問美工人員的想法。


0 请登录后投票
   发表时间:2008-10-21  
dan 写道
dengyin2000 写道

难道开发效率都在写html上面? 不在page class和写action上? tapestry改类可以不用重启server  这点不吸引人? 如果是搞ajax应用的话 跟用那个web框架感觉没有什么太大的关系  选一个好的javascript 框架比web框架重要得多。 以前我们用的是dojo+jsonrpc+jst.


我不是要比較兩者誰好誰不好,而是我只是想表達,這兩者都差不多,決定運行效率和開發效率,是在
於你對架構的熟悉度,還有以你的個性你比較喜歡哪一種,這樣用起來才會開心,自己因喜歡而深入研
究,寫出下面是想說明不要去在乎這兩者的運行效率和開發效率,最重要是你喜歡

1.運行效率
我的意思不是都用html,而是如何Cache,可以看一下JavaEye的Cache機制文章,兩者的運行效率就看你
如何做,決定在人,就像寫Ror不是每個人都可以用好Cache的機制。

2.Tapestry改類可以不用重啟server
基本上編譯式的語言類別更新都要classloader,我不清楚tapestry改類發生什麼樣的行為,但只要是
Java寫的都一樣,我只要將Tapestry的改類代碼行為,寫到Struts2組件上就可以辦到了。

3.如果是搞ajax應用的話 跟用那個web框架感覺沒有什麼太大的關係  選一個好的javascript 框架比web框架重要得多

你誤會我的意思了,我無法正確表達我的意思,你可以看一下Grails和Ror項目在Dreamweaver下問美工人員
是否友好,試著做看看,再問一下美工人員,凡事不能自己覺的美工好就好,更應問美工人員的想法。




1.我说的是开发效率, 你说的是运行效率。

2.Tapestry是自己写了个classloader来实现这个效果的。 现在好像只有Tapestry才有这样功能。 其他的框架当然是可以实现,但struts2现在还没有这样功能。所以这个可以说是tapestry的一个亮点。 不重启server带来的好处是不言而喻的。

3.我对jsp tag也是非常讨厌, 自己写个tag麻烦的要死, jsf 用jsp tag, 用jsf写个组件太复杂了。 JSF最多也就算半个基于组件的框架。 Wicket tapestry写个组件非常方便。

我最近也在看Groovy,Grails。 我知道dan对Groovy有很深的研究。 web的效率问题大多数发生在数据库这层。 所以选择web框架应该选个自己觉得效率最高的。


0 请登录后投票
   发表时间:2008-10-21  
chinarefers 写道

Tapestry的群体一般都很愤青,千万不要和他们讨论Tapestry的缺点。


其实搞 JAVA 的人都很愤青,再往大点说,搞软件开发的都很愤青,哪个开发团体没点脾气,不维护自己开发的东西呢?
Linus 骂搞 openbsd 的人都是“手淫的猴子”,rails 创始人 DHH 也是个把不住嘴到处得罪人的主儿,Grails 1.0 发布的当天还给 Grails 开发组发邮件让人把  on rails 去掉。 JAVAEYE 这里也是经常开骂的战场。 别光拿 Tapestry 说事,都是搞软件的, 谁也比谁强不到哪里去,五十步笑百步而已。

框架这种东西并不是你说它好就好,你说它不好它就完蛋的,有人做出成功案例了,就有它存在的价值,Tapestry 有 Theserverside.com 这个成功案例应该就很能说明问题。至于开发效率来说,并不能说明一切,有些框架的效率是靠牺牲维护性换来的,开发效率也不是全部。我以前用过 Tapestry,  Tapestry 对美工来说,肯定比 Struts 友好的多。
0 请登录后投票
   发表时间:2008-10-21  
dengyin2000 写道
Wicket tapestry写个组件非常方便。

我最近也在看Groovy,Grails。 我知道dan对Groovy有很深的研究。 web的效率问题大多数发生在数据库这层。 所以选择web框架应该选个自己觉得效率最高的。




Wicket tapestry 这两个框架的确很相似,感觉好像 wicket 比 tapestry 更简单一些。 不过可能是使用脚本语言时间长了,我更喜欢 grails 这种框架。
0 请登录后投票
   发表时间:2008-10-21  
谢谢各位的讨论,我已基本知道要怎么选择了。。
0 请登录后投票
   发表时间:2008-10-21  
看来我也有愤青的潜质了,因为我在用T5。不过我只能客观地说说使用感受,因为我对其他框架了解不深入。

1.学习曲线。以前开始看的时候,很多地方都提到学习曲线非常高。但我个人感觉,只要理解内在约定及其含义,还是很容易接受的。

现在用maven一条语句即可生成项目最初骨架,改一改java,tml马上可以看到效果,很是很方便的。当然这里能立即生效的正如dengyin所说,是限于t所监控的范围,包括页面、组件等,不误导大家。

t的模式有利于美工和开发人员分工,这也是见到t的介绍中比较多提到的。据我经验,美工人员和开发人员要遵守一些约定才能合作愉快。比如美工人员要晓得含有t:代表什么含义,那些可以随意改动,那些不能改动。

单纯美工图片MM,布局MM,需要接受开发人员的安排,因为页面美化有些方面还包括如何展现。尤其是现在的网页展现较多运用div,css,更需要统一考虑,全部页面要共享一些要素,图片MM,布局MM也要学好多东西,知道如何与开发人员配合。

T使用layout进行布局,和tile相比可能灵活性不够。

总之,关于学习曲线,大家不要被误导,正如dengyin所说,对t一点不知的人,经过一段时间学习,很快可以上手。

2.关于组件。我个人认为组件是t的一大特色。首先我想说定义组件在t中是非常容易的,至少t5中是很容易的。组建复用是我在使用t过程中最感有成效的地方。

3.t的邮件组不错。

4.t的注入很方便,内建了一些服务可以立即使用,如logger,messages,request等。
t集成spring也比以前简单多了,在web.xml中改动一个filter就可以了。



光说优点不是实事求是的态度,t的缺点我也总结几条:

1. 中文资料不丰富。t5的预览版已经一年多了,一直没有发布正式版,英文刚出来,e文翻译需要一段时间。javaeye有些高手翻译了一些,但现在好像很少更新了。E文弱的人学起来比较吃力。

2. 变化太快。不断的重构是开发软件的要求,但t一重构,终端用户都得跟着变,一个新版本发布经常带来兼容问题,要改上半天,追踪版本的朋友会有此体会。t不断应用新观点,新技术,创新精神难能可贵,是理想的技术学习场所。

欢迎专业拍砖人士路过、拍砖。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics