国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

淺析Ajax為什么優(yōu)于JSF

2024-09-06 12:40:57
字體:
供稿:網(wǎng)友
sun為什么會搞出一個jsf,jsf為什么會是現(xiàn)在這個樣子,我想原因是這樣的:首先,基于組件的web開發(fā)將來會是一個趨勢。自包含的組件便于ide的處理,可以提高開發(fā)效率。

 

就是說jsf優(yōu)于struts/webwork這類mvc框架的優(yōu)勢,在于它可以與ide結(jié)合來自動生成代碼。而傳統(tǒng)的純手工編寫的mvc框架,影響了開發(fā)效率。因為java技術(shù)在客戶端并沒有明顯的優(yōu)勢。applet已經(jīng)被拋棄掉,java的強項在服務(wù)器端。sun不可能跑去使用javascript,因為在傳統(tǒng)開發(fā)者眼里,js只配做一點很瑣碎的任務(wù)。

 

于是在他們設(shè)計的這個架構(gòu)中,所有的用戶事件都放在了服務(wù)器端來處理,這個決策造成了jsf致命的缺點。它把事件處理模型綁死在服務(wù)器上,限制了響應(yīng)性更加靈敏的交互設(shè)計。隨之而來的網(wǎng)絡(luò)延遲會毀掉軟件的可用性。這也是ajax在jsf的架構(gòu)中無法充分發(fā)揮作用的原因。

 

jsf的設(shè)計思路有點模仿vb,組件化的開發(fā)這個方向是沒錯的,ajax開發(fā)將來也會走這條路。但是jsf與vb最大的差別是vb的事件模型都是位于本地來處理的。這是一種本質(zhì)上的差別,所以如果jsf確實想模仿vb,那也是東施效顰。而且在jsf的設(shè)計階段,同步的請求/響應(yīng)是主流,他們的思路仍然牢牢束縛在基于頁面的開發(fā)方式上。根本就沒有思考過其他的可能。

 

異步請求/響應(yīng)是ajax與傳統(tǒng)開發(fā)方式最大的差別,異步帶來了更好的交互設(shè)計。

 

在ajaxinaction第1章中作者舉了一個令人信服的例子。googlemaps中當(dāng)用戶滾動地圖時,獲取新的地圖圖片,由于是異步請求的,因此不會打斷用戶的操作流程。而在傳統(tǒng)的地圖服務(wù),每次滾動可能都需要刷新頁面。用一下微軟的那個地圖服務(wù)就可以感覺到明顯的差距,它甚至根本就不允許用戶滾動地圖。

 

http://terraserver.microsoft.com/

 

以前我說googlemaps不是ajax,因為沒有使用xmlhttprequest,這樣說看來理解有些狹隘。googlemaps請求地圖的圖片,采用的是修改動態(tài)創(chuàng)建的img元素的src屬性的方式,這樣的請求不會打斷用戶的操作,因此就是異步的。我們在ajaxinaction中看到作者將googlemaps當(dāng)作ajax應(yīng)用,而在pragmaticajax中作者說googlemaps不是嚴(yán)格意義上的ajax,兩種說法都有道理。

 

jsf其實如果和applet結(jié)合,可能更好些。applet是多線程的,可以捕獲用戶的操作事件,采用異步方式發(fā)送到服務(wù)器。這樣就不會打斷用戶的操作了。但是這樣一來設(shè)計的這個架構(gòu)就復(fù)雜了。而且applet是已經(jīng)決定拋棄的東西。jsf和javawebstart結(jié)合也可以,不過jws設(shè)計用來建造一類完全不同的web應(yīng)用,即richclient,而不是設(shè)計用來建造運行于瀏覽器之內(nèi)的ria應(yīng)用。所以jsf最多只是一種過渡方案,在ajax/flash的競爭下早已風(fēng)光不在。

 

未來基于瀏覽器的ria開發(fā),ajax、flash是兩種最有前途的技術(shù)。

 

按照澤欣的判斷可能是三分天下,ajax、flash/flex/laszlo、還有m$的atlas。atlas是m$開發(fā)的類似于flash的一種技術(shù),目前還只是一個vaporware,沒有看到其廬山真面目。javawebstart相比之下只能局限于一些內(nèi)部應(yīng)用。

 

將來位于客戶端的表現(xiàn)層開發(fā)可能會完全沒有java的位置,這是sun不愿意看到的,但是sun在這場角逐中只不過是一個小角色?!?/p>

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 邵阳市| 阿拉善右旗| 长子县| 武威市| 治县。| 六安市| 富裕县| 博客| 化州市| 诸城市| 兴海县| 苏州市| 靖江市| 金山区| 祁东县| 纳雍县| 绥阳县| 临猗县| 通化市| 延安市| 阿克| 萨迦县| 焦作市| 华安县| 隆化县| 邹平县| 水富县| 卢龙县| 潞西市| 阿荣旗| 库车县| 晋江市| 四子王旗| 陈巴尔虎旗| 克拉玛依市| 铜梁县| 建平县| 富宁县| 大理市| 陈巴尔虎旗| 家居|