Ajax 的六個誤區小結分析_AJAX相關

來源:互聯網
上載者:User
就像以前流行過的閃爍字型、“濺水”頁(譯者:Splash page -Flash動畫或大圖片做的網站的簡介首頁,往往有個“跳過簡介”或“直接進入”的小按鈕)、和使用圓角(譯者:見YeeYan首頁抬頭,呵呵),只是這次動態性更強?

讓我們看看有關Ajax的幾個誤區,撥開迷霧、發掘真相。

誤區一:AJAX 是Asynchronous JavaScript and XML 的縮寫。你寫這個詞時,應該用大寫字母拼字,要不就顯得很無知。

事實上,根據 Ajax 這個詞的創造者Jesse James的介紹,Ajax可不僅僅是個縮寫詞。它是一系列技術用特定方式結合在一起的整體。它包括JavaScript,CSS, DOM 和運用 XMLHttpRequest 對象進行用戶端與伺服器間的資料轉送。從伺服器傳到用戶端的資料格式不一定是XML,還可以是 JSON(Javascript 中的對象)或其他資料格式。總之資料的傳輸是少量、遞增的(譯者:而不是傳統的重新整理整個頁面)。所以,你要是想顯擺一下自己是很懂的技術高手,用Ajax,而不是AJAX。您自己判斷是不是想顯擺自己吧。

誤區二:看看Gmail和Google Map吧,Ajax 會讓你的網站可用性更強。

事實上,使用Ajax 有可能讓你的網站可用性增強,但也可能使你的網站變得讓人可憎得難用。全新設計的Yahoo 電視節目列表就是這樣一個反面教材。(譯者:對新版Yahoo電視節目列表的反面評價主要認為Ajax的翻頁功能讓原來一頁上列出所有電視節目的可用性變得更差,比如不能在一頁中進行尋找等,雖然翻頁功能本身做得很漂亮。)

誤區三:Ajax只是面子工程--僅僅是表面上看著挺酷和視覺效果。

事實上,如果有正確的設計和實施,Ajax 的網路應用應該比傳統的CGI類型的,以伺服器端處理為主體的(如ASP.NET或Java Server Pages,JSP)網路應用具有更好的可擴充性,和讓使用者體驗到更快的反應速度。如需要瞭解技術細節,請參見IBM的Bill Higgins寫的有關Ajax和REST的第一部分。這是我的總結:傳統的CGI類型的,以伺服器端處理為主體的網路應用,用戶端不儲存(網路應用執行的)狀態(Stateless),狀態的儲存完全由伺服器實施(Stateful server)。這使得伺服器產生的結果(譯者:比如動態從資料庫讀取的資料)只能一次性使用而不能被緩衝(cache)下來再利用。這破壞了REST構架中的可擴充性原則。而Ajax能將狀態儲存在用戶端,從而實現常用資源,如重複使用的資料和來源程式(譯者:應該是指Javascript),可以有效被緩衝和再利用。

誤區四:Ajax 對於一般網路開發人員很難掌握

Ajax 確實不容易。但它的使用難度正在逐步降低。有若干因素造成Ajax的實施難度:對不同瀏覽器安全色性的支援,開發工具的不足,以及對開發人員思維方式轉變的要求--從過去以伺服器端處理為主體的網路應用,轉變到新的在用戶端儲存狀態、逐步上傳資料的應用。但由於Ajax越來越普及,很多開發工具和平台供應商以及開源軟體開發人員都在著力解決這一問題。這裡列出若干對Ajax開發員有用的工具:Google 網路開發工具箱(給Java開發員的),dojo跨瀏覽器平台,script.aculo.us 長於提供視覺效果,以及用來調試JavaScript 程式、監視XMLHttpRequest的(FireFox外掛程式)Firebug,等等。

誤區五:Ajax 會破壞使用者使用瀏覽器的體驗(Ajax breaks the browser model)

確實,Ajax的應用有可能造成瀏覽器使用的問題,如破壞“返回鍵” 功能,讓使用者不知所以,讓有殘障的使用者完全無法使用網站。但傳統技術也可能產生類似問題:如使用架構(frames)或者Flash往往也會破壞“返回鍵” 功能;即便不用Ajax,糟糕的設計也能讓一個網站把使用者完全搞暈;即便使用最單純的HTML也很難做到讓有殘障的使用者順利使用網站。這些是需要有意識地去注意和學習的方面,並不是僅存在於Ajax應用中的問題。

誤區六:Ajax 是web2.0的關鍵組成部分

這要看你如何定義web2.0了。我認為web2.0和web1.0的區別主要在於社會層面而不是技術層面。從web1.0 到web2.0最重要的範式轉變(paradigm shift)在於web2.0是雙向的網路,可讀寫的網路和社會網路。而不是“讓我們開家網上商店”的那個網路。按照這個定義,我們可以完全不用Ajax來實施web2.0。大多數部落格不用Ajax;沒有Ajax,維基百科照樣能煥發它的異彩;社會化網路也不需要Ajax;Flickr 之所以吸引人是因為它是一個照片的社會化平台,而不是它使用的DHTML技術。

更多Ajax的相關資料(譯者:建議深度閱讀、推薦和翻譯)

我個人最喜歡的有關 Ajax 的部落格是Ajaxian 和 Shelley Power的“技術女狂人” 。Shelley 寫的《添加Ajax》很快將會由O'Reilly 出版。而本文的寫作參考了Bill Higgins 的關於Ajax和REST構架的文章(第一部分,第二部分。)

聲明:IBM是我的客戶。

譯者:壓題圖片是原作者的照片。另外,原文上有原作者詳細的連絡方式。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.