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

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

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

    posts - 495,  comments - 11,  trackbacks - 0

    Web開發(fā)領(lǐng)域的最新時髦術(shù)語其實(shí)質(zhì)是“舊貌換新顏”。

    Ajax(Asynchronous JavaScript and XML)是結(jié)合了Java技術(shù)、XML以及JavaScript等編程技術(shù),可以讓開發(fā)人員構(gòu)建基于Java技術(shù)的Web應(yīng)用,并打破了使用頁面重載的慣例。

    Ajax是使用客戶端腳本與Web服務(wù)器交換數(shù)據(jù)的Web應(yīng)用開發(fā)方法。這樣,Web頁面不用打斷交互流程進(jìn)行重新加裁,就可以動態(tài)地更新。使用Ajax,用戶可以創(chuàng)建接近本地桌面應(yīng)用的直接、高可用、更豐富、更動態(tài)的Web用戶界面。

    異步JavaScript和XML(AJAX)不是什么新技術(shù),而是指這樣一種方法:使用幾種現(xiàn)有技術(shù)——包括級聯(lián)樣式表(CSS)、JavaScript、XHTML、XML和可擴(kuò)展樣式語言轉(zhuǎn)換(XSLT),開發(fā)外觀及操作類似桌面軟件的Web應(yīng)用軟件。實(shí)現(xiàn)Ajax的所有組件都已存在了許多年。Adaptive Path的用戶體驗(yàn)戰(zhàn)略部門主管兼創(chuàng)辦合伙人Jesse James Garrett今年2月發(fā)表在Adaptive Path網(wǎng)站上的一篇文章中杜撰了這個術(shù)語。

    異步這個詞是指AJAX應(yīng)用軟件與主機(jī)服務(wù)器進(jìn)行聯(lián)系的方式。如果使用舊模式,每當(dāng)用戶執(zhí)行某種操作、向服務(wù)器請求獲得新數(shù)據(jù),Web瀏覽器就會更新當(dāng)前窗口。

    如果使用AJAX的異步模式,瀏覽器就不必等用戶請求操作,也不必更新整個窗口就可以顯示新獲取的數(shù)據(jù)。只要來回傳送采用XML格式的數(shù)據(jù),在瀏覽器里面運(yùn)行的JavaScript代碼就可以與服務(wù)器進(jìn)行聯(lián)系。JavaScript代碼還可以把樣式表加到檢索到的數(shù)據(jù)上,然后在現(xiàn)有網(wǎng)頁的某個部分加以顯示。

    在面向消費(fèi)者的諸多應(yīng)用當(dāng)中,Google的Gmail和Google Maps就是最常見的例子。在Gmail當(dāng)中,AJAX負(fù)責(zé)如何開啟線程會話,以顯示不同郵件的文本內(nèi)容。而在Maps當(dāng)中,AJAX允許用戶以一種似乎無縫的方式拖拉及滾動地圖。

    還有雅虎的Flickr像片共享應(yīng)用和亞馬遜網(wǎng)站的A9搜索引擎。另外,雅虎新的Web郵件服務(wù)可能很快就會吸引AJAX支持者的莫大關(guān)注,這項(xiàng)服務(wù)基于雅虎收購Oddpost后得到的技術(shù)。

    這些UI都充分地使用了后臺通道,也被一些開發(fā)者稱為“Web 2.0”,并導(dǎo)致了大家對Ajax應(yīng)用興趣的猛漲。

    然而,AJAX應(yīng)用軟件廠商越來越把目光瞄準(zhǔn)了企業(yè)。譬如說,Scalix的Web Access電子郵件應(yīng)用軟件其實(shí)比微軟Outlook自己的Web郵件界面更像Outlook。

    不過AJAX應(yīng)用軟件的適用領(lǐng)域具有一定的局限性。因?yàn)樗鼈兝昧艘恍┳钚碌腤eb技術(shù),所以只能在某些Web瀏覽器里面運(yùn)行——不過AJAX適用的瀏覽器正越來越多。

    一、AJAX開發(fā)者的最新工具和技術(shù)

    基于XML的異步JavaScript,簡稱AJAX,是當(dāng)前Web創(chuàng)新(稱為Web2.0)中的一個王冠。感謝組成AJAX的各種技術(shù),Web應(yīng)用的交互如Flickr, Backpack和Google在這方面已經(jīng)有質(zhì)的飛躍。這個術(shù)語源自描述從基于網(wǎng)頁的Web應(yīng)用到基于數(shù)據(jù)的應(yīng)用的轉(zhuǎn)換。在基于數(shù)據(jù)的應(yīng)用中,用戶需求的數(shù)據(jù)如聯(lián)系人列表,可以從獨(dú)立于實(shí)際網(wǎng)頁的服務(wù)端取得并且可以被動態(tài)地寫入網(wǎng)頁中,給緩慢的Web應(yīng)用體驗(yàn)著色使之像桌面應(yīng)用一樣。

    雖然大部分開發(fā)人員在過去使用過XMLHttp或者使用Iframe來加載數(shù)據(jù),但僅到現(xiàn)在我們才看到傳統(tǒng)的開發(fā)人員和公司開始采用這些技術(shù)。就像新的編程語言或模型伴隨著更多的痛苦,開發(fā)人員需要學(xué)習(xí)新的技巧及如何最好利用這些新技術(shù)。

    二、AJAX模式

    許多重要的技術(shù)和AJAX開發(fā)模式可以從現(xiàn)有的知識中獲取。例如,在一個發(fā)送請求到服務(wù)端的應(yīng)用中,必須包含請求順序、優(yōu)先級、超時響應(yīng)、錯誤處理及回調(diào),其中許多元素已經(jīng)在Web服務(wù)中包含了,就像現(xiàn)在的SOA。AJAX開發(fā)人員擁有一個完整的系統(tǒng)架構(gòu)知識。同時,隨著技術(shù)的成熟還會有許多地方需要改進(jìn),特別是UI部分的易用性。

    AJAX開發(fā)與傳統(tǒng)的CS開發(fā)有很大的不同。這些不同引入了新的編程問題,最大的問題在于易用性。由于AJAX依賴瀏覽器的JavaScript和XML,瀏覽器的兼容性和支持的標(biāo)準(zhǔn)也變得和JavaScript的運(yùn)行時性能一樣重要了。這些問題中的大部分來源于瀏覽器、服務(wù)器和技術(shù)的組合,因此必須理解如何才能最好的使用這些技術(shù)。

    綜合各種變化的技術(shù)和強(qiáng)耦合的客戶服務(wù)端環(huán)境,AJAX提出了一種新的開發(fā)方式。AJAX開發(fā)人員必須理解傳統(tǒng)的MVC架構(gòu),這限制了應(yīng)用層次之間的邊界。同時,開發(fā)人員還需要考慮CS環(huán)境的外部和使用AJAX技術(shù)來重定型MVC邊界。最重要的是,AJAX開發(fā)人員必須禁止以頁面集合的方式來考慮Web應(yīng)用而需要將其認(rèn)為是單個頁面。一旦UI設(shè)計(jì)與服務(wù)架構(gòu)之間的范圍被嚴(yán)格區(qū)分開來后,開發(fā)人員就需要更新和變化的技術(shù)集合了。

    三、時刻想著用戶

    AJAX的最大機(jī)遇在于用戶體驗(yàn)。在使應(yīng)用更快響應(yīng)和創(chuàng)新的過程中,定義Web應(yīng)用的規(guī)則正在被重寫;因此開發(fā)人員必須更注重用戶。現(xiàn)在用戶已經(jīng)逐漸習(xí)慣如何使用Web應(yīng)用了。例如用戶通常希望每一次按鈕點(diǎn)擊會導(dǎo)致幾秒的延遲和屏幕刷新,但AJAX正在打破這種長時間的狀況。因此用戶需要重新體驗(yàn)按鈕點(diǎn)擊的響應(yīng)了。

    可用性是AJAX另人激動的地方而且已經(jīng)產(chǎn)生了幾種新穎的技術(shù)。其中最引人注目的是一種稱為“黃色隱出”的技術(shù),他在數(shù)據(jù)更新之前時將用戶界面變?yōu)辄S色,更新完成后立刻恢復(fù)原來的顏色。AJAX開發(fā)人員將用戶從Web應(yīng)用的負(fù)載中解放出來;小心地利用AJAX提供的豐富接口,不久桌面開發(fā)人員會發(fā)現(xiàn)AJAX是他們的方向。

    四、幾種工具和技術(shù)

    隨著AJAX迅速地引人注目起來,我想開發(fā)人員對這種技術(shù)的期待也迅速地增加。就像任何新技術(shù),AJAX的興旺也需要一整個開發(fā)工具/編程語言及相關(guān)技術(shù)系統(tǒng)來支撐。

    1、JavaScript

    如名字所示AJAX的概念中最重要而最被忽視的是他也是一種JavaScript編程語言。JavaScript是一種粘合劑使AJAX應(yīng)用的各部分集成在一起。在大部分時間,JavaScript通常被服務(wù)端開發(fā)人員認(rèn)為是一種企業(yè)級應(yīng)用不需要使用的東西應(yīng)該盡力避免。這種觀點(diǎn)來來自以前編寫JavaScript代碼的經(jīng)歷:繁雜而又易出錯的語言。類似的,他也被認(rèn)為將應(yīng)用邏輯任意地散布在服務(wù)端和客戶端中,這使得問題很難被發(fā)現(xiàn)而且代碼很難重用。在AJAX中JavaScript主要被用來傳遞用戶界面上的數(shù)據(jù)到服務(wù)端并返回結(jié)果。XMLHttpRequest對象用來響應(yīng)通過HTTP傳遞的數(shù)據(jù),一旦數(shù)據(jù)返回到客戶端就可以立刻使用DOM將數(shù)據(jù)放到網(wǎng)面上。

    2、XMLHttpRequest

    XMLHttpRequest對象在大部分瀏覽器上已經(jīng)實(shí)現(xiàn)而且擁有一個簡單的接口允許數(shù)據(jù)從客戶端傳遞到服務(wù)端,但并不會打斷用戶當(dāng)前的操作。使用XMLHttpRequest傳送的數(shù)據(jù)可以是任何格式,雖然從名字上建議是XML格式的數(shù)據(jù)。

    開發(fā)人員應(yīng)該已經(jīng)熟悉了許多其他XML相關(guān)的技術(shù)。XPath可以訪問XML文檔中的數(shù)據(jù),但理解XML DOM是必須的。類似的,XSLT是最簡單而快速的從XML數(shù)據(jù)生成HTML或XML的方式。許多開發(fā)人員已經(jīng)熟悉Xpath和XSLT,因此AJAX選擇XML作為數(shù)據(jù)交換格式有意義的。XSLT可以被用在客戶端和服務(wù)端,他能夠減少大量的用JavaScript編寫的應(yīng)用邏輯。

    3、CSS

    為了正確的瀏覽AJAX應(yīng)用,CSS是一種AJAX開發(fā)人員所需要的重要武器。CSS提供了從內(nèi)容中分離應(yīng)用樣式和設(shè)計(jì)的機(jī)制。雖然CSS在AJAX應(yīng)用中扮演至關(guān)重要的角色,但他也是構(gòu)建創(chuàng)建跨瀏覽器應(yīng)用的一大阻礙,因?yàn)椴煌臑g覽器廠商支持各種不同的CSS級別。

    五、服務(wù)器端

    但不像在客戶端,在服務(wù)端AJAX應(yīng)用還是使用建立在如Java,.Net和PHP語言基礎(chǔ)上機(jī)制;并沒有改變這個領(lǐng)域中的主要方式。

    既然如此,我們對Ruby on Rails框架的興趣也就迅速增加了。在一年多前,Ruby on Rails已經(jīng)吸引了大量開發(fā)人員基于其強(qiáng)大功能來構(gòu)建Web和AJAX應(yīng)用。雖然目前還有很多快速應(yīng)用開發(fā)工具存在,Ruby on Rails看起來已經(jīng)儲備了簡化構(gòu)建AJAX應(yīng)用的能力。

    六、開發(fā)工具

    在實(shí)際構(gòu)建AJAX應(yīng)用中,你需要的不只是文本編輯器。既然是JavaScript非編譯的,他可以容易地編寫和運(yùn)行在瀏覽器中;然而,許多工具提供了有用的擴(kuò)展如語法高亮和智能完成。

    不同的IDE提供了對JavaScript支持的不同等級。來自JetBrains的IntelliJ IDEA是一個用來JavaScript開發(fā)的更好的IDE,雖然許多開發(fā)人員也喜歡Microsoft’s Visual Studio產(chǎn)品(允諾會在最新的版本中改善對AJAX的支持)。Eclipse包含了兩個免費(fèi)的JavaScript編輯器插件和一個商業(yè)的來自ActiveStat的Komodo IDE。

    另一個JavaScript和AJAX開發(fā)中的問題是調(diào)試?yán)щy。不同的瀏覽器提供不同的通常是隱藏的運(yùn)行時錯誤信息,而JavaScript的缺陷如雙重變量賦值(通常是由于缺少數(shù)據(jù)類型)使得調(diào)試更加困難。在AJAX的開發(fā)中,調(diào)試就更復(fù)雜了,因?yàn)槠湫枰獦?biāo)識究竟是客戶端還是服務(wù)端產(chǎn)生的錯誤。在過去,JavaScript調(diào)試的方法是刪除所有代碼然后一行行的增加直到錯誤出現(xiàn)。現(xiàn)在,更多開發(fā)人員回到為IE準(zhǔn)備的Microsoft Script Debugger和為Mozilla瀏覽器準(zhǔn)備的Venkman。


    七、瀏覽器兼容性

    JavaScript編程的最大問題來自不同的瀏覽器對各種技術(shù)和標(biāo)準(zhǔn)的支持。構(gòu)建一個運(yùn)行在不同瀏覽器(如IE和火狐)是一個困難的任務(wù)。因此幾種AJAX JavaScript框架或者生成基于服務(wù)端邏輯或標(biāo)記庫的JavaScript,或者提供符合跨瀏覽器AJAX開發(fā)的客戶端JavaScript庫。一些流行的框架包括:AJAX.Net, Backbase, Bitkraft, Django, DOJO, DWR, MochiKit, Prototype, Rico, Sajax, Sarissa, and Script.aculo.us.

    這些框架給開發(fā)人員更多的空間使得他們不需要擔(dān)心跨瀏覽器的問題。雖然這些框架提升了開發(fā)人員構(gòu)建應(yīng)用的能力,但由于廠商已經(jīng)開發(fā)了更細(xì)節(jié)的用戶界面的打包組件解決方案,因此在AJAX組件市場中需要考慮一些其他因素。例如提供通用用戶界面的組件如組合框和數(shù)據(jù)柵格的幾個廠商,都可以被用來在應(yīng)用中創(chuàng)建良好的通過類似電子數(shù)據(jù)表方式來查看和編輯數(shù)據(jù)的體驗(yàn)。但這些組件不僅是封裝了組件的用戶界面而且包括與服務(wù)端數(shù)據(jù)的通訊方式,這些組件通常使用基于標(biāo)記方式來實(shí)現(xiàn)如ASP.Net或JSF控件。


    八、展望

    最近IE和火狐之間的瀏覽器之爭變得火熱起來,因此AJAX開發(fā)人員需要足夠敏捷的作出反應(yīng)。關(guān)鍵點(diǎn)在一些問題如CSS或XML,雖然各種瀏覽器形成采用最新標(biāo)準(zhǔn)的不同陣營(如Mozilla擁抱SVG和E4X標(biāo)準(zhǔn)及在最新火狐BETA版本中使用XUL,而微軟使用自己的XAML技術(shù))。所有這些技術(shù)代表當(dāng)前AJAX主流JavaScript和XML的市場方向改變。

    總的來說,AJAX開發(fā)人員必須盡快地跟進(jìn)最新的技術(shù)并利用高產(chǎn)的工具集。成功的AJAX開發(fā)人員還需要留心他們的使用者以避免將任何問題擴(kuò)大化。并且AJAX開發(fā)人員還需要持續(xù)地創(chuàng)新來創(chuàng)建增強(qiáng)Web應(yīng)用易用性的新方法。

    posted on 2007-05-02 10:15 jadmin 閱讀(99) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 好紧我太爽了视频免费国产| 成人福利在线观看免费视频| 免费精品久久天干天干| 亚洲精品成人区在线观看| 羞羞视频免费网站日本| 亚洲国产精品成人| 一级特级aaaa毛片免费观看 | 99久久99这里只有免费费精品| 久久亚洲成a人片| 免费人成视频在线观看网站| 久久久无码精品亚洲日韩蜜桃 | 亚洲一区动漫卡通在线播放| 2021免费日韩视频网| 亚洲AV综合色区无码二区爱AV| 成人免费AA片在线观看| 亚洲日本VA中文字幕久久道具| 国产一级淫片免费播放| 日韩在线一区二区三区免费视频 | 免费女人高潮流视频在线观看| 亚洲视频免费在线观看| 日韩亚洲国产高清免费视频| 2020亚洲男人天堂精品| 国产一级大片免费看| h视频免费高清在线观看| 麻豆亚洲AV永久无码精品久久| AV无码免费永久在线观看| 亚洲国产成人精品无码区二本| 免费乱理伦在线播放| 久久成人免费电影| 亚洲精品无码专区| 精品国产_亚洲人成在线高清 | 久久久久免费看成人影片| 亚洲xxxx18| 亚洲中文字幕无码爆乳av中文| 最新国产乱人伦偷精品免费网站| 亚洲卡一卡2卡三卡4麻豆| 亚洲午夜激情视频| 久久精品国产免费观看三人同眠| 黄床大片30分钟免费看| 亚洲另类激情综合偷自拍| 国产亚洲精品免费|