AJAX技術介紹(2)

來源:互聯網
上載者:User
ajax XMLHttpRequest

XMLHttpRequest對象在大部分瀏覽器上已經實現而且擁有一個簡單的介面允許資料從用戶端傳遞到服務端,但並不會打斷使用者當前的操作。使用XMLHttpRequest傳送的資料可以是任何格式,雖然從名字上建議是XML格式的資料。

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

CSS

為了正確的瀏覽AJAX應用,CSS是一種AJAX開發人員所需要的重要武器。CSS提供了從內容中分離應用樣式和設計的機制。雖然CSS在AJAX應用中扮演至關重要的角色,但他也是構建建立跨瀏覽器應用的一大阻礙,因為不同的瀏覽器廠商支援各種不同的CSS層級。

伺服器端

但不像在用戶端,在服務端AJAX應用還是使用建立在如Java,.Net和PHP語言基礎上機制;並沒有改變這個領域中的主要方式。

既然如此,我們對Ruby o­n Rails架構的興趣也就迅速增加了。在一年多前,Ruby o­n Rails已經吸引了大量開發人員基於其強大功能來構建Web和AJAX應用。雖然目前還有很多快速應用開發工具存在,Ruby o­n Rails看起來已經儲備了簡化構建AJAX應用的能力。

開發工具

在實際構建AJAX應用中,你需要的不只是文字編輯器。既然是JavaScript非編譯的,他可以容易地編寫和運行在瀏覽器中;然而,許多工具提供了有用的擴充如文法高亮和智能完成。

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

另一個JavaScript和AJAX開發中的問題是調試困難。不同的瀏覽器提供不同的通常是隱藏的執行階段錯誤資訊,而JavaScript的缺陷如雙重變數賦值(通常是由於缺少資料類型)使得調試更加困難。在AJAX的開發中,調試就更複雜了,因為其需要標識究竟是用戶端還是服務端產生的錯誤。在過去,JavaScript調試的方法是刪除所有代碼然後一行行的增加直到錯誤出現。現在,更多開發人員回到為IE準備的Microsoft Script Debugger和為Mozilla瀏覽器準備的Venkman。

瀏覽器安全色性

JavaScript編程的最大問題來自不同的瀏覽器對各種技術和標準的支援。構建一個運行在不同瀏覽器(如IE和Firefox)是一個困難的任務。因此幾種AJAX JavaScript架構或者產生基於服務端邏輯或標記庫的JavaScript,或者提供符合跨瀏覽器AJAX開發的用戶端JavaScript庫。一些流行的架構套件括:AJAX.Net, Backbase, Bitkraft, Django, DOJO, DWR, MochiKit, Prototype, Rico,
Sajax, Sarissa, and Script.aculo.us.

這些架構給開發人員更多的空間使得他們不需要擔心跨瀏覽器的問題。雖然這些架構提升了開發人員構建應用的能力,但由於廠商已經開發了更細節的使用者介面的打包組件解決方案,因此在AJAX組件市場中需要考慮一些其他因素。例如提供通用使用者介面的組件如組合框和資料柵格的幾個廠商,都可以被用來在應用中建立良好的通過類似電子資料工作表方式來查看和編輯資料的體驗。但這些組件不僅是封裝了組件的使用者介面而且包括與服務端資料的通訊方式,這些組件通常使用基於標記方式來實現如ASP.Net或JSF控制項。

展望

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

總的來說,AJAX開發人員必須儘快地跟進最新的技術並利用高產的工具集。成功的AJAX開發人員還需要留心他們的使用者以避免將任何問題擴大化。並且AJAX開發人員還需要持續地創新來建立增強Web應用易用性的新方法。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.