<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 176, comments - 240, trackbacks - 0, articles - 7

    關(guān)于JSF

    Posted on 2007-07-29 23:43 canonical 閱讀(1343) 評論(7)  編輯  收藏 所屬分類: 軟件開發(fā)
       JSF(Java Server Faces)技術(shù)從發(fā)布時間上看已經(jīng)是一種比較古舊的技術(shù)了,但是目前仍未能成為主流的開發(fā)實踐。從我知道這種技術(shù)開始, 我對它的判斷就與我最早對于EJB的判斷一樣, 它們都在某種程度上捕獲了真正的需求,但是因為它們自身詭異的技術(shù)路線.我很懷疑是否這些標(biāo)準(zhǔn)制定者故布疑陣, 便如Microsoft的OLE技術(shù)一樣, 故意拋出一個錯誤的方向, 將大批組件開發(fā)商帶入死局.
       JSF技術(shù)是一種雙重的存在:它首先是一種標(biāo)準(zhǔn),然后也提供了一種缺省的實現(xiàn)。但是從這兩方面,我都無法看到JSF的未來。
       從設(shè)計上說,強(qiáng)類型的視圖模型對象層與Witrix的架構(gòu)設(shè)計原則嚴(yán)重沖突。Witrix的基本架構(gòu)是瀏覽器和后臺服務(wù)器通過具有顯明語義的url實現(xiàn)兩分,這也是所謂REST風(fēng)格的一種內(nèi)在要求。隱蔽了鏈接的技術(shù)破壞了基本的web超鏈模型. 為了獲得那么一點(diǎn)點(diǎn)結(jié)構(gòu)控制能力, 做出這樣的抽象是不合適的.JSF的配置模型繼承了structs的傳統(tǒng),仍然是那樣的冗長繁雜。我們是否真的需要這些配置文件,還是希望像ROR那樣在代碼中直接完成一切?
       不能在標(biāo)準(zhǔn)的瀏覽器中預(yù)覽. 可以說創(chuàng)造了一個JSF IDE的市場, 但是這無疑是一個無聊的市場. 現(xiàn)在有一些備選的方案, 如Facelets, 使得jsf可以采用屬性語法, 但是只要想想僅僅為了這么一點(diǎn)小小的修正所需要付出的開發(fā)量就足以讓人崩潰。
       JSF提供了組件級別的事件響應(yīng)機(jī)制,因此似乎是AJAX應(yīng)用的理想場所.但從Witrix平臺的開發(fā)實踐來看,JSF對于AJAX的使用是受限制的,有著很大局限性的.組件事件響應(yīng)并不一定要采取JSF那種體系結(jié)構(gòu).
       從實現(xiàn)角度上說,基于jsp tag可以說是JSF的致命弱點(diǎn)之一. jsp tag從設(shè)計之始就一直是未經(jīng)過實踐考量,其設(shè)計無法支撐復(fù)雜的控件架構(gòu). 特別是早期JSF與標(biāo)準(zhǔn)的JSP tag不能互通實際上是明顯的設(shè)計缺陷, 而且性能問題是內(nèi)置在該設(shè)計中的. 現(xiàn)在雖經(jīng)多個版本的不斷補(bǔ)救, 但是為了兼容性, JSP Tag負(fù)擔(dān)過重, 它始終是基于文本處理模型,實際上不可能有什么本質(zhì)性的進(jìn)步. JSP tag模型過分孱弱必然造成JSF設(shè)計中大量處理過程堆疊到界面對象層,更加劇了JSF的模型復(fù)雜度和性能瓶頸。 實際上根據(jù)Witrix平臺中tpl模板技術(shù)的設(shè)計經(jīng)驗,大量界面構(gòu)建過程是可以在模板層以直觀的方式完成的,而不需要借助視圖模型對象。
       所有問題的一個集中體現(xiàn)就是增加一個新的JSF組件絕對不是一件平凡的事情.如果有一天這個問題可以得到解決,那時的JSF從思想和實現(xiàn)上都必然和現(xiàn)在的JSF有著本質(zhì)性的區(qū)別.

    Feedback

    # re: 關(guān)于JSF  回復(fù)  更多評論   

    2007-07-30 10:00 by 狂人
    "從實現(xiàn)角度上說,基于jsp tag可以說是JSF的致命弱點(diǎn)之一. jsp tag從設(shè)計之始就一直是未經(jīng)過實踐考量,其設(shè)計無法支撐復(fù)雜的控件架構(gòu). 特別是早期JSF與標(biāo)準(zhǔn)的JSP tag不能互通實際上是明顯的設(shè)計缺陷, 而且性能問題是內(nèi)置在該設(shè)計中的. 現(xiàn)在雖經(jīng)多個版本的不斷補(bǔ)救, 但是為了兼容性, JSP Tag負(fù)擔(dān)過重, 它始終是基于文本處理模型,實際上不可能有什么本質(zhì)性的進(jìn)步. JSP tag模型過分孱弱必然造成JSF設(shè)計中大量處理過程堆疊到界面對象層,更加劇了JSF的模型復(fù)雜度和性能瓶頸。"

    請問你認(rèn)為你真正理解JSF的組件架構(gòu)嗎? 你有真正去理解過JSF的架構(gòu)設(shè)計嗎?
    請問JSF確實是必須基于JSP TAG嗎? facelets又是什么? 是替代方案還是補(bǔ)充?或者說是另一種視圖組織技術(shù)? JSF并非一定需要JSP為表現(xiàn)載體, 自然也并非一定要基于JSP Tag.

    REST風(fēng)格又怎么樣? REST是什么時候提出來的? 正如REST提到的那樣,有些表現(xiàn)轉(zhuǎn)移是應(yīng)該明確的,但時代在進(jìn)步,并非所有的應(yīng)用都是那樣,下任何結(jié)論之前我們應(yīng)該先給定一個命題的場景(前提).
    誠然, JSF的導(dǎo)航體系比STRUTS并未進(jìn)步多來,但并不代表我們不能定制其導(dǎo)航策略,正如SWF與JSF的協(xié)同一樣.

    JSF架構(gòu)本身沒有問題, 問題在于目前對JSF的實現(xiàn)上, 目前只是可用組件還不多而已,大部分都需要自己開發(fā), 然而可喜的時,目前已經(jīng)有許多商業(yè)的實現(xiàn),也有許多開源的實現(xiàn), 比如JBoss的richfaces, 看看別人實現(xiàn)的組件, 并非想象的那么重型,也并非想象中那么難用.關(guān)鍵看你如何用. 換句話說, 如果光頹頹地應(yīng)用JSF,的確有些煩鎖,但如果你能與SPRING集成起來使用,開發(fā)就會輕便許多.如果你的應(yīng)用是流程式的, 可以集成SWF, 這會讓你的應(yīng)用更加整潔.

    PS.我所談到的這些技術(shù)并非空穴來風(fēng), 我本人已經(jīng)實踐了一年多了, 其實踐的項目不會是你想象中的那么小.

    # re: 關(guān)于JSF  回復(fù)  更多評論   

    2007-07-30 12:15 by 傳奇世界私服
    提供多多

    # re: 關(guān)于JSF  回復(fù)  更多評論   

    2007-07-30 13:06 by QP
    很贊同作者的觀念。

    這里有篇文章很有趣,一樓的可以看看:
    http://blog.csdn.net/turingbook/archive/2007/06/28/1669663.aspx

    # re: 關(guān)于JSF  回復(fù)  更多評論   

    2007-07-30 15:17 by canonical
    JSF技術(shù)有一些真正有價值的東西,但是根據(jù)我們的實踐,這些價值有其他更加優(yōu)雅的體現(xiàn)方式。 JSF不是必須采用JSP Tag, 但是它需要一種類似的技術(shù),而它在架構(gòu)設(shè)計中必然要照顧到這種技術(shù)實現(xiàn)。 其實witrix中的tpl技術(shù)也是一種tag技術(shù),只是它遠(yuǎn)比jsp tag要精致。

    JSF架構(gòu)最大的問題就是開發(fā)新組件很麻煩,完全基于JSF構(gòu)建程序很繁瑣,最終提供給用戶的調(diào)用接口其實也有更加簡明的方式.

    # re: 關(guān)于JSF[未登錄]  回復(fù)  更多評論   

    2007-07-30 17:52 by beansoft
    下了個微軟的 Microsoft Visual Web Developer 2005 速成版, 感覺 JSF 跟 ASP.NET Web Form 的確很像. 微軟的組件類庫很方便, 很快速, 拖放幾下就可解決問題. 而且他們的設(shè)計器既能解析HTML,也能解析里面的 TagLib. 所以 Tag Lib 本身不是錯, 開發(fā)組件難點(diǎn)很大也不是錯. 微軟的 IDE 已經(jīng)幫你做好了所有的東西. 所以 JSF 難點(diǎn)就是 IDE 太差, 組件定制可以由專業(yè)廠商來做. 微軟的 .NET 控件從來不鼓勵程序員自己去做.

    一句話, 每人都想做大自己掙錢, 才導(dǎo)致了這么多 Java 廠商 作出來的東西竟然還不如微軟一家公司做的. 那么多框架, 很多都是垃圾. 只有組件沒有 IDE 你讓人手寫代碼來做頁面?

    # re: 關(guān)于JSF  回復(fù)  更多評論   

    2007-07-31 11:20 by dna
    JSF基于事件的開發(fā)模式與傳統(tǒng)JAVA web開發(fā)有很大的差異,導(dǎo)致很多老的JAVA程序員很難適應(yīng),

    還有一點(diǎn)JSF缺少一個像Microsoft Visual Studio強(qiáng)大的開發(fā)工具,不過netbeans正往這個方向努力,

    # re: 關(guān)于JSF  回復(fù)  更多評論   

    2007-08-13 00:31 by canonical
    開發(fā)工具并不一定是生產(chǎn)力的主要來源
    主站蜘蛛池模板: 18女人毛片水真多免费| 亚洲免费在线观看| 国产日本一线在线观看免费| 亚洲色成人网站WWW永久四虎| 无码精品人妻一区二区三区免费看 | 亚洲国产精品综合久久网各| 亚洲免费视频网站| 亚洲精品在线电影| h在线观看视频免费网站| 亚洲老熟女@TubeumTV| 免费不卡视频一卡二卡| 亚洲乱码中文论理电影| 女人被男人躁的女爽免费视频| 亚洲中文字幕无码中文字| 卡一卡二卡三在线入口免费| 亚洲乱色伦图片区小说 | 亚洲久悠悠色悠在线播放| 嫖丰满老熟妇AAAA片免费看| 亚洲第一区二区快射影院| 日本免费人成黄页在线观看视频| 无码色偷偷亚洲国内自拍| 亚洲乱亚洲乱少妇无码| 亚洲福利视频网址| 男女啪啪永久免费观看网站| 在线观看亚洲精品专区| 成年私人影院免费视频网站| 精品亚洲av无码一区二区柚蜜| 亚洲伦乱亚洲h视频| 免费视频成人片在线观看| 亚洲综合精品伊人久久| 免费在线视频一区| 日韩插啊免费视频在线观看| 国产精品亚洲精品| 四虎免费影院ww4164h| 亚洲欧美日韩一区二区三区| 国产精品亚洲综合专区片高清久久久| 无码国产精品一区二区免费模式| 亚洲第一成人在线| 久久久无码精品亚洲日韩软件| 最近免费最新高清中文字幕韩国| 亚洲成在人线在线播放无码|