JSF和Tapestry都是基于頁面組件技術(shù)的開發(fā)框架,但jsf基于jsp,仍然是jsp架構(gòu),開發(fā)維護(hù)起來非常麻煩。tapestry則不同,是基于servlet的一種完全頁面組件化的開發(fā)框架, 而且現(xiàn)在已經(jīng)非常成熟,目前已經(jīng)推出t4.0-beta2。 頁面開發(fā)走向組建化是一種越來越明顯的趨勢,這方面tapestry可以說是引導(dǎo)了這個(gè)方向,也許是sun太厲害,jsf一出生就得到大家的關(guān)注, 不過順此東風(fēng),tapestry的用戶社區(qū)比以前更加繁榮了:http://news./gmane.comp.java.tapestry.user tapestry有很多范例精彩,參看它的官方網(wǎng)站:http://jakarta./tapestry/ 若想致力于web頁面的開發(fā),個(gè)人覺得jsp/serlvet是首要精通的,至于選擇框架,則是一件費(fèi)精力的事情??蚣艿哪康氖菫榱撕喕_發(fā)流程, 提高生產(chǎn)效率,典型的框架如turbine、struts、webwork、jsf、tapestry等。如何選擇框架是一個(gè)經(jīng)久不衰的討論,沒有多年的實(shí)踐經(jīng)驗(yàn)是難 以作出實(shí)際評(píng)價(jià)和最終抉擇的。愚以為turbine過于厚重,無論是開發(fā)速度還是運(yùn)行速度都令人難以接受,2.4M1到現(xiàn)在快一年還是M!,運(yùn)行起 來真是滿如蝸牛,打開一個(gè)頁面要等瀏覽器的地球要轉(zhuǎn)上半圈,這也許要?dú)w功于velocity解析和沒有頁面緩存的功勞了。還有就是擴(kuò)展性、可 維護(hù)性等,實(shí)際上都很差,象它的核心類Turbine,居然定義為final!實(shí)際開發(fā)起來還不如我自己實(shí)現(xiàn)的velocity+servlet+filter框架效率高 ,速度快。struts,webwork實(shí)際都是jsp的MVC包裝,無法擺脫jsp頁面難以維護(hù)的煩惱,也許開發(fā)起來快,但維護(hù)呢?還有就是美工人員,他 們都得懂jsp。實(shí)際的mvc分工在頁面這塊還是打了折扣。jsf,在一定程度上借鑒了tapestry的組件思想,但大項(xiàng)目應(yīng)用中狂多的標(biāo)簽封裝和定 義把你搞瘋也得把機(jī)器搞瘋,估算有兩大弊端:運(yùn)行速度相對慢和頁面維護(hù)相對復(fù)雜。最后是tapestry,唯一的難度是理解它的組件開發(fā)方法 ,理解的轉(zhuǎn)變就好比從過程開發(fā)到OO開發(fā)一樣,但對初學(xué)者無所謂,一張白紙總是容易上畫的。 選擇tapestry有如下幾大優(yōu)點(diǎn): 1、最徹底的MVC開發(fā)框架,頁面代碼全部由HTML標(biāo)準(zhǔn)標(biāo)簽組成,頁面美工人員無須了解特別的標(biāo)簽定義。 2、可重用組件開發(fā)節(jié)省開發(fā)資源,一句話:越開發(fā)越輕松 3、優(yōu)秀的頁面流轉(zhuǎn)開發(fā)。傳統(tǒng)方式都是基于URL實(shí)現(xiàn)激活頁面流轉(zhuǎn),而tapstry除了此方式,你還可象開發(fā)普通java類一樣實(shí)現(xiàn)page頁面流,更 重要的是,還可由此實(shí)現(xiàn)頁面類的復(fù)用。 4、豐富的組件資源。除了官方維護(hù)的資源外,還可找到一大堆的tapestry組件庫。 5、超強(qiáng)的擴(kuò)展性。tapestry是一個(gè)真正的開放性架構(gòu),說白了,你覺得哪個(gè)服務(wù)不爽,你就可寫個(gè)替代它。 6、生命力超強(qiáng),不斷的自我更新、發(fā)展。tapestry4.0與3.0相比簡直就是另一個(gè)飛躍,如支持jdk1.5的Annotations,僅這點(diǎn)開源產(chǎn)品中目前 還只看到一個(gè)hibernate;支持portlet JSR-168,又一個(gè)順應(yīng)潮流的web開發(fā)支持。規(guī)劃中的4.1將支持頁面靜態(tài)化,這不正是眾多開發(fā)人員的 另個(gè)期待嗎? 7、tapestry的開發(fā)人員穩(wěn)定。不是一個(gè)兩個(gè)人在那里單打獨(dú)斗,而是有一群人在開發(fā)和支持tapestry的進(jìn)程。 8、tapestry技術(shù)成熟嗎?基于tapestry的軟件和大網(wǎng)站已經(jīng)很多了, 國外的:軟件如SeaView內(nèi)容管理系統(tǒng)、WidenTM Digital Asset Management System 網(wǎng)站大的如:http://www./,http://www./,https://merchant./enroll/app,http://www./home.htm,http://admissions./admissions/app 國內(nèi)的:軟件如http://www.,網(wǎng)站如:http://love./dating/app,http://dbi.lib./libraryList/,http://www./,http://www./,http://www./ tapestry的優(yōu)點(diǎn)和帶給你的便利不是兩句話可講清楚的,還需要自己去多多體會(huì) |
|