亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

AJAX開發者的最新工具和技術

2024-09-01 08:30:12
字體:
來源:轉載
供稿:網友

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

  雖然大部分開發人員在過去使用過XMLHttp或者使用Iframe來加載數據,但僅到現在我們才看到傳統的開發人員和公司開始采用這些技術。就像新的編程語言或模型伴隨著更多的痛苦,開發人員需要學習新的技巧及如何最好利用這些新技術。這篇文章講述了開發人員使用AJAX枰褂玫墓ぞ吆圖際酢?lt;br />

  AJAX模式

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

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

  綜合各種變化的技術和強耦合的客戶服務端環境,AJAX提出了一種新的開發方式。AJAX開發人員必須理解傳統的MVC架構,這限制了應用層次之間的邊界。同時,開發人員還需要考慮CS環境的外部和使用AJAX技術來重定型MVC邊界。最重要的是,AJAX開發人員必須禁止以頁面集合的方式來考慮Web應用而需要將其認為是單個頁面。一旦UI設計與服務架構之間的范圍被嚴格區分開來后,開發人員就需要更新和變化的技術集合了。

  時刻想著用戶

  AJAX的最大機遇在于用戶體驗。在使應用更快響應和創新的過程中,定義Web應用的規則正在被重寫;因此開發人員必須更注重用戶?,F在用戶已經逐漸習慣如何使用Web應用了。例如用戶通常希望每一次按鈕點擊會導致幾秒的延遲和屏幕刷新,但AJAX正在打破這種長時間的狀況。因此用戶需要重新體驗按鈕點擊的響應了。

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

  幾種工具和技術

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

  JavaScript

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

  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 on Rails框架的興趣也就迅速增加了。在一年多前,Ruby on Rails已經吸引了大量開發人員基于其強大功能來構建Web和AJAX應用。雖然目前還有很多快速應用開發工具存在,Ruby on 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調試的方法是刪除所有代碼然后一行行的增加直到錯誤出現?,F在,更多開發人員回到為IE準備的Microsoft Script Debugger和為Mozilla瀏覽器準備的Venkman。

  瀏覽器兼容性

  JavaScript編程的最大問題來自不同的瀏覽器對各種技術和標準的支持。構建一個運行在不同瀏覽器(如IE和火狐)是一個困難的任務。因此幾種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和火狐之間的瀏覽器之爭變得火熱起來,因此AJAX開發人員需要足夠敏捷的作出反應。關鍵點在一些問題如CSS或XML,雖然各種瀏覽器形成采用最新標準的不同陣營(如Mozilla擁抱SVG和E4X標準及在最新火狐BETA版本中使用XUL,而微軟使用自己的XAML技術)。所有這些技術代表當前AJAX主流JavaScript和XML的市場方向改變。

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

  作者

  Dave Johnson是加拿大Vancouver一家軟件咨詢公司eBusiness Applications創始人和傳道者,擁有七年以上的XML相關工作經驗。

  Resources

  ? AJAX開發人員的編譯模式:http://www.ajaxpatterns.org

  ? XMLHttpRequest教程:“動態網頁接口”:http://www.xml.com/pub/a/2005/02/09/xml-http-request.html

  ? JavaScript性能基準:http://blogs.ebusiness-apps.com/dave/?p=14

  ? AJAX資源:http://www.ajaxmatters.com

  ? JavaScript規范:http://www.ecma-international.org/publications/standards/Ecma-262.htm

  ? 介紹JavaScript對象標識:http://www.crockford.com/JSON/index.html

  ? Mozilla 的Venkman JavaScript調試器:http://www.mozilla.org/projects/venkman/

  ? XML DOM參考:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/

  xmlsdk/html/e9da2722-7879-4e48-869c-7f16714e2824.asp

  ? Microsoft Dynamic HTML reference: http://msdn.microsoft.com/library/default.asp?url=/

  workshop/author/dhtml/reference/dhtml_reference_entry.asp

  ? Gecko DOM Reference: http://www.mozilla.org/docs/dom/domref/

  ? "“移植IE應用到Mozilla”

  http://www-128.ibm.com/developerworks/web/library/wa-ie2mozgd/

  ? Mozilla XUL reference:

  http://www.xulplanet.com/

  ? Microsoft XAML reference:

  http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/

  en-us/wcp_conceptual/html/0ff5f36e-dd84-44d1-aa3e-5bb4f147b169.asp?frame=true

  ? James Jesses Garret introduced the term AJAX in his article "AJAX: A New Approach to Web Applications," (Adaptive Path, February 2005): “AJAX:新的網頁應用開發方式”

  http://www.adaptivepath.com/publications/essays/archives/000385.php

  ? JetBrains IntelliJ IDEA:

  http://www.jetbrains.com/

  ? Microsoft Visual Studio:

  http://msdn.microsoft.com/vstudio/

  ? JSEditor:

  http://jseditor.sourceforge.net/

  ? JSEclipse:

  http://www.interaktonline.com/Products/Eclipse/JSEclipse/Overview/

  ? ActiveState Komodo:

  http://www.activestate.com/Products/Komodo/

  ? XHTML:

  http://www.w3.org/TR/xhtml1/

  ? Document Object Model:

  http://www.w3.org/DOM/

  ? Cascading Style Sheets:

  http://www.w3.org/Style/CSS/

  ? Extensible Stylesheet Language:

  http://www.w3.org/Style/XSL/

  ? XForms:

  http://www.w3.org/MarkUp/Forms/

  ? Scaling Vector Graphics:

  http://www.w3.org/Graphics/SVG/

  ? XPath:

  http://www.w3.org/TR/xpath

  ? AJAX.Net:

  http://ajax.schwarz-interactive.de/csharpsample/default.aspx

  ? Backbase:

  http://www.backbase.com

  ? Bitkraft:

  http://www.tiggrbitz.com/

  ? Django:

  http://www.djangoproject.com/

  ? Dojo:

  http://www.dojotoolkit.org/

  ? DWR (Direct Web Reporting):

  http://getahead.ltd.uk/dwr/

  ? MochiKit:

  http://mochikit.com/

  ? Prototype:

  http://prototype.conio.net/

  ? Rico:

  http://openrico.org/rico/home.page

  ? Sajax:

  http://www.modernmethod.com/sajax/

  ? Sarissa:

  http://sarissa.sourceforge.net/doc/

  ? Script.aculo.us:

  http://script.aculo.us/

  ? Ruby on Rails:

  http://www.rubyonrails.org/

  ? For more on AJAX and DWR, read "AJAX Made Simple with DWR," Cloves Carneiro Jr. (JavaWorld, June 2005): 關于AJAX和DWR,請閱讀“AJAX使用DWR更簡單”

  http://www.javaworld.com/javaworld/jw-06-2005/jw-0620-dwr.html

  ? For more articles on Java development tools, browse the Development Tools section of JavaWorld's Topical Index: 更多Java開發工具的文章,請瀏覽JavaWorld的開發工具部分索引頁

  http://www.javaworld.com/channel_content/jw-tools-index.shtml

  ? For more articles on XML, browse the Java and XML section of JavaWorld's Topical Index: 更多XML的文章,請瀏覽JavaWorld的Java和XML部分索引頁

  http://www.javaworld.com/channel_content/jw-xml-index.shtml

  ? For more articles on UI design, browse the User Interface Design section of JavaWorld's Topical Index: 更多UI設計的文章,請瀏覽JavaWorld的UI設計部分索引頁

  http://www.javaworld.com/channel_content/jw-ui-index.shtml

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产美女久久精品香蕉69| 在线播放日韩欧美| 黑丝美女久久久| 91精品久久久久久久久中文字幕| 中文字幕日韩综合av| 国产在线98福利播放视频| 欧美裸体xxxx极品少妇| 亚洲电影免费观看高清完整版| 91在线观看免费高清完整版在线观看| 国产精品久久久久久搜索| 国产精品海角社区在线观看| 国产精品久久久久久久7电影| 98午夜经典影视| 一区二区三区精品99久久| 亚洲天堂男人的天堂| 日韩精品视频中文在线观看| 久久久日本电影| 亚洲图片在线综合| 久久伊人91精品综合网站| 国产精品扒开腿做爽爽爽的视频| 欧美疯狂性受xxxxx另类| 国产ts一区二区| 国产精品女主播| 日韩av电影手机在线观看| 日韩在线视频中文字幕| 伊人久久大香线蕉av一区二区| 日韩毛片在线看| 97视频在线观看亚洲| 国产精品视频中文字幕91| 国产日韩精品综合网站| 亚洲欧美精品中文字幕在线| 欧美日本啪啪无遮挡网站| 91色在线视频| 国产精品亚洲激情| 国产精品视频免费在线观看| 久久久成人精品| zzijzzij亚洲日本成熟少妇| 日韩精品视频在线| 伊人男人综合视频网| 91影院在线免费观看视频| 色哟哟亚洲精品一区二区| 亚洲精品国产美女| 亚洲аv电影天堂网| 亚洲一区美女视频在线观看免费| 97久久精品人搡人人玩| 欧美限制级电影在线观看| 黄色成人在线免费| 久久综合电影一区| 国产精品视频久久久久| 日韩在线播放一区| 国内精品久久久久| 欧美亚洲视频在线观看| 91高潮在线观看| 欧美高清在线播放| 亚洲精品99久久久久中文字幕| 成人黄色片在线| 亚洲高清在线观看| 亚洲成人网在线| 26uuu另类亚洲欧美日本一| 欧美性高潮床叫视频| 亚洲第一国产精品| 国产精品黄色影片导航在线观看| 日本欧美爱爱爱| 亚洲成人久久久久| 国产97在线|亚洲| 欧美激情一区二区三级高清视频| 欧美日韩免费区域视频在线观看| 日韩美女主播视频| 51视频国产精品一区二区| 亚洲精品一区二区在线| 国产精品视频xxx| 精品中文字幕在线2019| 国产精品吊钟奶在线| 国产欧美中文字幕| 国产成人啪精品视频免费网| 亚洲国产精品久久久久久| 热99在线视频| 国产精品高潮呻吟久久av野狼| 久久精品国产一区二区三区| 91日韩在线视频| 韩日欧美一区二区| 欧美在线xxx| 欧美高清视频在线| 日韩欧美中文第一页| 欧美体内谢she精2性欧美| 日本精品一区二区三区在线播放视频| 国产欧美一区二区三区在线看| 久久亚洲影音av资源网| 国产精品久久久久99| 精品国产一区二区三区在线观看| 国产精品揄拍一区二区| 亚洲欧洲美洲在线综合| 日韩av电影在线免费播放| 欧美精品少妇videofree| 国产精品黄视频| 亚洲天堂免费视频| 社区色欧美激情 | 91chinesevideo永久地址| 午夜精品免费视频| 欧美黑人性生活视频| 国产精品日韩电影| 亚洲国语精品自产拍在线观看| 爽爽爽爽爽爽爽成人免费观看| 欧美影院在线播放| 国产主播欧美精品| 欧美一区二区三区免费视| 国产成人午夜视频网址| 久久综合国产精品台湾中文娱乐网| 欧美成人午夜免费视在线看片| 粉嫩老牛aⅴ一区二区三区| 日韩精品在线第一页| 午夜精品一区二区三区在线播放| 日韩欧美亚洲国产一区| 精品久久久久久电影| 国产精品久久久久久亚洲影视| 国产精品视频一区二区三区四| 成人激情av在线| 91免费精品视频| 91精品成人久久| 久久久久久中文| 成人免费淫片aa视频免费| 亚洲成人av在线播放| 国产精品一区二区三区久久| 一区二区在线免费视频| 伦理中文字幕亚洲| 午夜精品一区二区三区在线| 成人激情视频在线观看| 91老司机精品视频| 亚洲欧美福利视频| 91欧美激情另类亚洲| 欧美日韩国产丝袜另类| xxxx欧美18另类的高清| 国产91在线高潮白浆在线观看| 久久亚洲国产成人| 国产精品香蕉av| 久久久久国产精品一区| 最近2019中文字幕在线高清| 国产精品日韩欧美综合| 欧美中文字幕视频在线观看| 久久成年人免费电影| 国产成人亚洲综合| 国产成人精品国内自产拍免费看| 北条麻妃99精品青青久久| 国产精品日韩欧美综合| 亚洲精品一区二区网址| 国产精品免费视频xxxx| 亚洲午夜未满十八勿入免费观看全集| 91欧美视频网站| 成人性生交大片免费观看嘿嘿视频| 欧美成人激情图片网| 国产精品久久久久7777婷婷| 在线视频欧美日韩| 国产专区精品视频| 亚洲欧美资源在线| 欧美激情女人20p| 97超碰国产精品女人人人爽| 国产精品啪视频| 亚洲精品丝袜日韩| 国产成+人+综合+亚洲欧洲| 综合网中文字幕| 国内精品视频一区| 亚洲激情视频在线| 91久久精品美女高潮| 亚洲福利影片在线|