Ajax認識的六個誤區

看清楚Ajax
服務器君一共花費了216.948 ms進行了6次數據庫查詢,努力地為您提供了這個頁面。
試試閱讀模式?希望聽取您的建議

Ajax 到底是什么?是一個并不太容易掌握,但可以增加網站交互性的方法?是 Web2.0 的基石?還是又一輪網絡開發中的跟風?就像以前流行過的閃爍字體、“濺水”頁(譯者:Splash page -Flash 動畫或大圖片做的網站的簡介首頁,往往有個“跳過簡介”或“直接進入”的小按鈕)、和使用圓角,只是這次動態性更強?

讓我們看看有關 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 構架的文章(第一部分,第二部分)(譯者:已經推薦,歡迎翻譯本文)。

本文地址:http://www.824886.live/librarys/veda/detail/740,歡迎訪問原出處。

不打個分嗎?

轉載隨意,但請帶上本文地址:

http://www.824886.live/librarys/veda/detail/740

如果你認為這篇文章值得更多人閱讀,歡迎使用下面的分享功能。
小提示:您可以按快捷鍵 Ctrl + D,或點此 加入收藏。

閱讀一百本計算機著作吧,少年

很多人覺得自己技術進步很慢,學習效率低,我覺得一個重要原因是看的書少了。多少是多呢?起碼得看3、4、5、6米吧。給個具體的數量,那就100本書吧。很多人知識結構不好而且不系統,因為在特定領域有一個足夠量的知識量+足夠良好的知識結構,系統化以后就足以應對大量未曾遇到過的問題。

奉勸自學者:構建特定領域的知識結構體系的路徑中再也沒有比學習該專業的專業課程更好的了。如果我的知識結構體系足以囊括面試官的大部分甚至吞并他的知識結構體系的話,讀到他言語中的一個詞我們就已經知道他要表達什么,我們可以讓他坐“上位”畢竟他是面試官,但是在知識結構體系以及心理上我們就居高臨下。

所以,閱讀一百本計算機著作吧,少年!

《高性能JavaScript》 Nicholas C. Zakas (作者), 趙澤欣 (合著者), 丁琛 (譯者)

《高性能JavaScript》揭示的技術和策略能幫助你在開發過程中消除性能瓶頸。你將會了解如何提升各方面的性能,包括代碼的加載、運行、DOM 交互、頁面生存周期等。雅虎的前端工程師 Nicholas C. Zakas 和其他五位 JavaScript 專家介紹了頁面代碼加載的最佳方法和編程技巧,來幫助你編寫更為高效和快速的代碼。你還會了解到構建和部署文件到生產環境的最佳實踐,以及有助于定位線上問題的工具。如果你使用 JavaScript 構建交互豐富的 Web 應用,那么 JavaScript 代碼可能是造成你的Web應用速度變慢的主要原因。

更多計算機寶庫...

云南快乐十分走势一定牛 赛车比赛视频 股票融资融券的门槛 鑫东财配资 秒速赛车官方开奖视频 理财计算器 期货配资合法吗 湖南快乐十分选号诀窍 湖北快3专家预测豹子 福建十一选五前三直选走势图 云南时时彩软件下载