新聞中心
隨著Ajax盛行,許多網(wǎng)站紛紛采用這項(xiàng)技術(shù),而這股時(shí)代趨力的背后,各式各樣的Ajax開發(fā)框架可說是***的功臣,讓開發(fā)人員不用重造輪子,省去從JavaScript底層重新開始構(gòu)造程式的工作。

專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)修文免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
簡化JavaScript的使用難度
許多開發(fā)人員低估JavaScript的難度。過去JavaScript往往被當(dāng)作是擾人的小玩意,不是彈跳出視窗,就是跑馬燈、動(dòng)態(tài)文字等花俏的應(yīng)用。 然而JavaScript獨(dú)特的物件觀念與靈活的語法,賦予它深入操作文件物件模型(DOM)與操控CSS的強(qiáng)大能力,而能夠充分應(yīng)用瀏覽器 XMLHttpRequest物件,更打下今日Ajax大片江山。
要全盤掌握這些應(yīng)用,并沒有想像中容易,由于實(shí)作的方式充滿彈性,只要檢視各個(gè)框架語法,就可發(fā)現(xiàn)它們之間的差異性之大。但現(xiàn)存的各種框架致力于簡 化JavaScript的應(yīng)用難度,因此使用Ajax框架,能讓開發(fā)人員更快專注在開發(fā)工作上。
解決煩人的瀏覽器相容性問題
即使開發(fā)人員功力深厚,可以輕松駕馭JavaScript語法,然而一旦遇到琳瑯滿目的各式瀏覽器,通常也得敗下陣來。不同瀏覽器對(duì)文件的解析與語法的支援并不一致,在各種作業(yè)系統(tǒng)或版本上有時(shí)也會(huì)表現(xiàn)出不同的行為(例如IE6與IE7的差異),讓許多JavaScript應(yīng)用程式的瓶頸,都發(fā)生在相容性上。使用Ajax框架的好處之一,便是它已經(jīng)預(yù)先為開發(fā)人員解決瀏覽器相容性問題。
開發(fā)流程變得更單純
開發(fā)過非同步傳輸程式經(jīng)驗(yàn)的人,就一定能體會(huì)撰寫過程相當(dāng)煩瑣,必須檢查回傳狀態(tài)、指定后端應(yīng)用程式和回呼程式等細(xì)節(jié),而這些流程,Ajax框架通常會(huì)予 以簡化,減少開發(fā)人員與細(xì)節(jié)奮斗的時(shí)間。另外,許多Ajax框架都提供了拖曳元件、動(dòng)畫效果、動(dòng)態(tài)選單等,只需指定方法就能使用,節(jié)省不少開發(fā)力氣。
不過Ajax框架實(shí)作的方式各不相同,有些JavaScript語法開發(fā),也有的用.NET或Java實(shí)作;除了在用戶端執(zhí)行,也有利用伺服器端來實(shí)現(xiàn)的方式。我們特別選出十種Ajax框架,讓開發(fā)人員了解各項(xiàng)Ajax框架的適用性。
1. APS.NET的官方解決方案
ASP.NET AJAX是微軟.NET平臺(tái)上的解決方案,提供涵蓋伺服器端與用戶端所需的AJAX技術(shù)與JavaScript整合機(jī)制。透過與下載與安裝ASP.NET AJAX到Visual Studio 2005當(dāng)中,即可利用預(yù)設(shè)的控制項(xiàng),開發(fā)出一些視覺特效與非同步傳輸?shù)膽?yīng)用。
另外,ASP.NET AJAX也提供控制項(xiàng)的Toolkit,包含開發(fā)人員想自行開發(fā)AJAX應(yīng)用時(shí)所需的基底類別與專案范本。ASP.NET AJAX除了處理瀏覽器的相容性問題,也讓用戶端的JavaScript在開發(fā)時(shí)加入物件導(dǎo)向特性,例如型別系統(tǒng)、資料型別、命名空間、事件等,使得程式 碼更容易除錯(cuò)、維護(hù)與重復(fù)使用。
雖然ASP.NET AJAX提供伺服器與用戶端的解決方案,透過Visual Studio2005加持,也讓開發(fā)、除錯(cuò)的難度降低,不過和其他AJAX框架相比,許多AJAX效果和功能都還在測(cè)試階段(在CTP版本中供用戶測(cè) 試),可以應(yīng)用的功能有限。
2.支援功能
一些輕巧的Ajax框架,用意在解決JavaScript遇到的易用性或特效問題,相較之下,Dojo更像是個(gè)面面俱到的JavaScript工具套餐,號(hào)稱可以降低網(wǎng)頁或網(wǎng)頁應(yīng)用程式前端開發(fā)速度。
Dojo支援拖拉、淡出、淡入、移動(dòng)、透明、操作SVG圖檔等動(dòng)態(tài)效果,它的Widget也讓使用者可以輕易使用選單,分頁標(biāo)簽(tab)、樹狀結(jié) 構(gòu)、日歷、文字編輯器等效果,當(dāng)然也支援非同步處理的Ajax功能。
另外,Ajax由于以動(dòng)態(tài)的方式操作文件物件,導(dǎo)致使用者習(xí)于使用上一頁、下一頁的功能無法使用,也無法利用像是「我的***」的功能,將使用者所需 的頁面留下正確的書簽,但這些需求Dojo都已有解法。比起其他輕巧型的Ajax框架,要摸熟Dojo顯然要下較多的功夫才能掌握,目前文件較少也是個(gè)問題。不過由于它的功能更為完整,因此開發(fā)人員需要 自行加工的地方就相對(duì)較少。
3.可由JavaScript呼叫Java語法
DWR是設(shè)計(jì)給Java語言的Ajax框架,讓開發(fā)人員可以利用JavaScript程式呼叫Java語法。DWR的運(yùn)作可分為兩個(gè)部分,一方面用在瀏覽器上,處理連接伺服器端Java程式,另一部分則是用來展示回傳資料。透過DWR呼叫Java的函式, 它會(huì)處理連接處理的細(xì)節(jié),而當(dāng)資料被處理完成后,DWR就會(huì)執(zhí)行回呼函式,以進(jìn)行后續(xù)呈現(xiàn)的處理。
在安裝DWR時(shí)必須編輯Web應(yīng)用程式的部署描述檔案,而且也要編輯DWR特定檔案。 DWR配置檔案指定了可以遠(yuǎn)端建立和呼叫的類別。檔案中包含伺服器程式碼的JAR檔案,另外還有JavaScript檔案,提供一些輔助函式,處理互動(dòng)呈 現(xiàn)的效果。
DWR***的好處就在于讓Java開發(fā)人員可以利用熟悉的語法來處理頁面與資料,并且能配合Struts、Tapestry來使用。不過從用戶端呼 叫遠(yuǎn)端伺服器的Java程式,仍存在一些安全上的疑慮,在使用時(shí)必須注意。
4.以易用性、簡化語法為目標(biāo)
jQuery是最近大受矚目的Ajax框架,它以Prototype為本,簡化并提升JavaScript語法的功能。jQuery有點(diǎn)像是將Prototype所做的事再推向極端,讓使用者改變?cè)凶珜慗avaScript的方法。它最為人稱道的地方,就在于強(qiáng)大 的存取頁面元素功能,無論是文件的節(jié)點(diǎn)、CSS的選取子或Xpath表達(dá)式,都能利用「$( )」函式快速存取,并賦予它更多的功能。(相關(guān)文章推薦:使用jQuery簡化Ajax開發(fā))
此外,它的chainable方法能將一串處理函式結(jié)合在一起,讓程式碼更為簡潔。另外jQuery也提供一些動(dòng)態(tài)效果,不過和其他框架相比,這部 分就顯得陽春許多。
jQuery的優(yōu)劣其實(shí)都在同一件事情上,一方面它簡化JavaScript的語法,讓撰寫程式更為簡便,就好用的目的而言,的確是相當(dāng)成功。然而 這卻讓JavaScript的程式碼會(huì)發(fā)展成另一種樣子,對(duì)于初學(xué)者而言,一開始學(xué)習(xí)時(shí),必須要花點(diǎn)時(shí)間去適應(yīng)。
#p#
5.依功能需求,下載模組化工具
前身是以輕巧著稱的Moo.fx,與Prototype有著相似的概念和語法,但在物件導(dǎo)向上做得更為徹底,而且在動(dòng)畫效果和互動(dòng)行為上,提供更多 的功能與應(yīng)用,能讓使用者更快的寫出物件導(dǎo)向概念的JavaScript語法。
MooTools的下載檔依模組分為核心、類別、原生語法、網(wǎng)頁元素、瀏覽器視窗、動(dòng)畫效果、拖曳、遠(yuǎn)端傳輸與外掛程式,除了核心程式是必要下載之 外,其他可依使用者需求,下載所需的JavaScript檔案,借此減少檔案的體積。
雖然MooTools將JavaScirpt物件導(dǎo)向化的結(jié)果做得更徹底,有利于程式的擴(kuò)展與維護(hù),不過也挑戰(zhàn)原先熟悉JavaScript物件觀 的人,需要較多的時(shí)間適應(yīng)。不過無論是網(wǎng)站本身呈現(xiàn)、程式語法展示,甚至是模組下載介面,MooTools都展現(xiàn)相當(dāng)精致的動(dòng)態(tài)效果,參與網(wǎng)站的示范,很快就能實(shí)作。
6.大大擴(kuò)充JavaScript基本功能
Prototype不像其他框架,有許多炫人耳目的動(dòng)態(tài)效果,而是專注在改良JavaScript本身的功能,讓JavaScript更容易使用, 也更具物件導(dǎo)向風(fēng)格。
Prototype在簡化JavaScript方法上,提供許多方便的語法,***的如「$( )」函式,只要將DOM節(jié)點(diǎn)的ID傳入這個(gè)函式,就能取得這個(gè)節(jié)點(diǎn)物件,簡化了DOM的操作方法。而這個(gè)方式也幾乎成為其他開發(fā)框架延用的功能。其他如 「$F( )」函數(shù)能直接處理Web表單元件的值,「$A( )」函數(shù)能將列舉的字串轉(zhuǎn)換成陣列等,都是Prototype經(jīng)典功能。
在非同步處理上,它也提供了Ajax.Request、Ajax.Updater等類別,讓開發(fā)人員在處理非同步運(yùn)作時(shí)可以利用它提供的方法,讓溝 通行為更為容易、正確。雖然Prototype沒有太多花俏的功能,不過它簡化JavaScript的特性,仍讓許多Web開發(fā)人員衷情于它。
7.平順、豐富的動(dòng)畫效果
Rico是基于Prototype之上的Ajax框架,在西班牙文中,「rico」即為「rich」的意思,這也說明Rico的目標(biāo)是提供開發(fā)人員 利用JavaScript達(dá)到豐富的網(wǎng)頁元件與應(yīng)用。
Rico提供非同步的Ajax應(yīng)用,可讓非同步回應(yīng)繞送到一個(gè)或多個(gè)回呼以操作DOM或JavaScript物件。在動(dòng)畫效果方面,支援如拖曳功 能、縮放、過場(chǎng)、進(jìn)度指標(biāo)和黃褪技術(shù)等,可立即套用豐富的效果。
由于Rico志在讓JavaScript也能表現(xiàn)出Flash般的動(dòng)畫效果,因此像是網(wǎng)頁元件的顏色、形狀或下拉效果的變化都相當(dāng)平滑,也能讓 DIV方塊做出圓角的效果,讓視覺表現(xiàn)更具Web 2.0風(fēng)格。
Rico的LiveGrid功能同樣是為人所稱道之處。它能讓表單資料產(chǎn)生更多元的表現(xiàn)方式,突破表格的檢視行為。例如它可以讓使用者在觸動(dòng)卷動(dòng)軸 時(shí),動(dòng)態(tài)下載資料,利用這種方式,可以分段下載,就無需采用分頁檢視的手法。
8. RoR與CakePHP的指定框架
Script.aculo.us是建立在Prototype之上的Ajax框架,是解決視覺效果與互動(dòng)行為的輕巧框架,Ruby on Rails及PHP上的開發(fā)框架CakePHP等,都是使用Script.aculo.us作為Ajax的解決方案。
在視覺效果上,Script.aculo.us利用改變透明度、大小、位置以及結(jié)合以上三種元素,產(chǎn)生更多種變化,例如淡進(jìn)、淡出、閃動(dòng)、提示等數(shù) 十種視覺效果,可讓頁面效果更具變化,引導(dǎo)使用者與介面程式互動(dòng)等。
在互動(dòng)介面方面,提供了拖曳元件、就地編輯元件(In-Place Editor)、水平、垂直拉動(dòng)卷軸、自動(dòng)完成、元件排序、購物車等,這些預(yù)先打包成套的功能,解決了瀏覽器相容性的問題,也讓使用者很容易可以直接導(dǎo)入 在現(xiàn)有的專案功能中,節(jié)省自行開發(fā)的時(shí)間。此外,Script.aculo.us包含單元測(cè)試(Unit Test)框架,可以利用本身的test物件,用來驗(yàn)證程式執(zhí)行的狀態(tài),并且支援模擬滑鼠與鍵盤的功能。
9.有Yahoo!網(wǎng)站服務(wù)背書的框架
Yahoo! User Interface(YUI)是Yahoo!所提供的Ajax框架,提供便捷的開發(fā)方式與許多JavaScript函式庫,使用者可以利用它來開發(fā)互動(dòng)式 的介面與Ajax效果。 YUI可分為三大部分,包含工具、CSS和控制元件等函式庫,工具部分是核心物件,負(fù)責(zé)一些較底層的處理功能,CSS則提供像版面規(guī)畫、字體工具。而控制 元件則有自動(dòng)完成、月歷、樹狀結(jié)構(gòu)這些工具。
由于YUI實(shí)際應(yīng)用在Yahoo!的網(wǎng)站中,因此實(shí)作的可靠性相當(dāng)不錯(cuò),在YUI網(wǎng)站上也提供不少范例與文件,能協(xié)助使用者快速上手。雖然YUI是 由Yahoo!所推出,不過它遵循JavaScript的語法規(guī)則,并將樣式、內(nèi)容與行為分離,開發(fā)人員如果要擴(kuò)充功能,也相當(dāng)容易。一般Ajax框架都需要置放在網(wǎng)站的伺服器端,隨著頁面一起下載,YUI除了采取這種方式之外,也提供使用連結(jié)的方式,使用者只要在應(yīng)用的頁面中將 路徑指向YUI主機(jī)即可。
10.適合Java開發(fā)環(huán)境的企業(yè)級(jí)解決方案
ZK是基于Ajax、XUL(XML User Interface Language)、Java網(wǎng)頁應(yīng)用程式的開發(fā)框架,讓網(wǎng)頁的操作行為可以像是桌面應(yīng)用程式一般。不同于用戶端的Ajax解決方案,ZK由伺服器端出發(fā),利用ZK處理Ajax互動(dòng)的引擎,處理用戶端的頁面行為,也因此大為降低利用 JavaScript作為動(dòng)態(tài)開發(fā)語法時(shí),常遇到的瀏覽器相容問題。
ZK提供超過70個(gè)XUL組件及80個(gè)XHTML組件,因此一些網(wǎng)頁或應(yīng)用程式常見的功能,ZK都提供現(xiàn)成的工具可讓使用者立即應(yīng)用,只需利用ZK 以XML為基礎(chǔ)的使用介面設(shè)計(jì)語言,即可產(chǎn)生這些組件。應(yīng)用的人則可在后端利用Java語言進(jìn)行來處理程式邏輯與資料傳遞。由于ZK利用Java語言開發(fā),屬于以伺服器為中心的解決方案,因此必須安裝支援Java的應(yīng)用程式伺服器(如Tomcat)才能執(zhí)行。
【編輯推薦】
- ASP.NET AJAX框架調(diào)用后臺(tái)代碼的基本方法
- 詳解如何實(shí)現(xiàn)最基本的AJAX框架
- 輕量級(jí)AJAX框架Buffalo 2.0:性能提升30%
- 架構(gòu)師談Ajax框架:它不是泡沫
- AJAX框架的經(jīng)驗(yàn)介紹
分享題目:簡化開發(fā)流程 了解各種Ajax框架的適用性
鏈接地址:http://www.5511xx.com/article/cdehich.html


咨詢
建站咨詢
