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

    Feedback

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

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

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

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

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

    PS.我所談到的這些技術(shù)并非空穴來風(fēng), 我本人已經(jīng)實(shí)踐了一年多了, 其實(shí)踐的項(xià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ù)有一些真正有價(jià)值的東西,但是根據(jù)我們的實(shí)踐,這些價(jià)值有其他更加優(yōu)雅的體現(xiàn)方式。 JSF不是必須采用JSP Tag, 但是它需要一種類似的技術(shù),而它在架構(gòu)設(shè)計(jì)中必然要照顧到這種技術(shù)實(shí)現(xiàn)。 其實(shí)witrix中的tpl技術(shù)也是一種tag技術(shù),只是它遠(yuǎn)比jsp tag要精致。

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

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

    2007-07-30 17:52 by beansoft
    下了個(gè)微軟的 Microsoft Visual Web Developer 2005 速成版, 感覺 JSF 跟 ASP.NET Web Form 的確很像. 微軟的組件類庫很方便, 很快速, 拖放幾下就可解決問題. 而且他們的設(shè)計(jì)器既能解析HTML,也能解析里面的 TagLib. 所以 Tag Lib 本身不是錯(cuò), 開發(fā)組件難點(diǎn)很大也不是錯(cuò). 微軟的 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缺少一個(gè)像Microsoft Visual Studio強(qiáng)大的開發(fā)工具,不過netbeans正往這個(gè)方向努力,

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

    2007-08-13 00:31 by canonical
    開發(fā)工具并不一定是生產(chǎn)力的主要來源
    主站蜘蛛池模板: h视频在线观看免费网站| 色婷婷六月亚洲综合香蕉| 最近免费中文字幕MV在线视频3| 国产成人免费福利网站| 亚洲中文字幕无码爆乳| 毛片a级毛片免费播放下载| 亚洲AV无码国产一区二区三区| 麻豆一区二区免费播放网站| 亚洲人成影院午夜网站| 久久精品a一国产成人免费网站| 亚洲国产成人手机在线电影bd| 免费大片黄在线观看yw| 亚洲欧美日韩国产精品一区| 亚洲免费日韩无码系列| 毛片在线看免费版| 亚洲AV成人无码网站| 亚洲 自拍 另类小说综合图区| 成人a毛片视频免费看| 久久国产成人亚洲精品影院| 国产午夜精品免费一区二区三区 | 四虎影视永久免费观看| 色屁屁www影院免费观看视频| 久久精品国产亚洲5555| 无码少妇精品一区二区免费动态| 亚洲白色白色在线播放| 国产老女人精品免费视频| 黄色视频在线免费观看| 亚洲综合精品一二三区在线| 妞干网在线免费观看| 午夜在线免费视频| 亚洲一区二区三区电影| 在线免费观看国产视频| a级成人免费毛片完整版| 亚洲人成高清在线播放| 亚洲AⅤ永久无码精品AA| 一级成人a毛片免费播放| 亚洲午夜无码毛片av久久京东热| 老司机亚洲精品影视www| 最近免费中文字幕大全免费| 亚洲av永久无码| 亚洲精品国产精品乱码视色|