麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > AJAX > 正文

能夠加速Ajax開發(fā)的框架

2024-09-01 08:15:06
字體:
供稿:網(wǎng)友

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

不過開發(fā)人員也許會疑惑,Ajax不就是JavaScript嗎?簡單的腳本程式還需要框架?事實上,Ajax框架的確能帶來許多好處。

簡化JavaScript的使用難度

許多開發(fā)人員低估JavaScript的難度。過去JavaScript往往被當作是擾人的小玩意,不是彈跳出視窗,就是跑馬燈、動態(tài)文字等花俏的應用。然而JavaScript獨特的物件觀念與靈活的語法,賦予它深入操作文件物件模型(DOM)與操控CSS的強大能力,而能夠充分應用瀏覽器XMLHttpRequest物件,更打下今日Ajax大片江山。

要全盤掌握這些應用,并沒有想像中容易,由于實作的方式充滿彈性,只要檢視各個框架語法,就可發(fā)現(xiàn)它們之間的差異性之大。但現(xiàn)存的各種框架致力于簡化JavaScript的應用難度,因此使用Ajax框架,能讓開發(fā)人員更快專注在開發(fā)工作上。

解決煩人的瀏覽器相容性問題

即使開發(fā)人員功力深厚,可以輕松駕馭JavaScript語法,然而一旦遇到琳瑯滿目的各式瀏覽器,通常也得敗下陣來。

不同瀏覽器對文件的解析與語法的支援并不一致,在各種作業(yè)系統(tǒng)或版本上有時也會表現(xiàn)出不同的行為(例如IE6與IE7的差異),讓許多JavaScript應用程式的瓶頸,都發(fā)生在相容性上。

使用Ajax框架的好處之一,便是它已經(jīng)預先為開發(fā)人員解決瀏覽器相容性問題。

開發(fā)流程變得更單純

開發(fā)過非同步傳輸程式經(jīng)驗的人,就一定能體會撰寫過程相當煩瑣,必須檢查回傳狀態(tài)、指定后端應用程式和回呼程式等細節(jié),而這些流程,Ajax框架通常會予以簡化,減少開發(fā)人員與細節(jié)奮斗的時間。

另外,許多Ajax框架都提供了拖曳元件、動畫效果、動態(tài)選單等,只需指定方法就能使用,節(jié)省不少開發(fā)力氣。

不過Ajax框架實作的方式各不相同,有些JavaScript語法開發(fā),也有的用.NET或Java實作;除了在用戶端執(zhí)行,也有利用伺服器端來實現(xiàn)的方式。我們特別選出十種Ajax框架,讓開發(fā)人員了解各項Ajax框架的適用性。

1. APS.NET的官方解決方案

ASP.NET AJAX網(wǎng)址:ajax.asp.net

ASP.NET AJAX是微軟.NET平臺上的解決方案,提供涵蓋伺服器端與用戶端所需的AJAX技術與JavaScript整合機制。

透過與下載與安裝ASP.NET AJAX到Visual Studio 2005當中,即可利用預設的控制項,開發(fā)出一些視覺特效與非同步傳輸?shù)膽谩?/p>

另外,ASP.NET AJAX也提供控制項的Toolkit,包含開發(fā)人員想自行開發(fā)AJAX應用時所需的基底類別與專案范本。

ASP.NET AJAX除了處理瀏覽器的相容性問題,也讓用戶端的JavaScript在開發(fā)時加入物件導向特性,例如型別系統(tǒng)、資料型別、命名空間、事件等,使得程式碼更容易除錯、維護與重復使用。

雖然ASP.NET AJAX提供伺服器與用戶端的解決方案,透過Visual Studio2005加持,也讓開發(fā)、除錯的難度降低,不過和其他AJAX框架相比,許多AJAX效果和功能都還在測試階段(在CTP版本中供用戶測試),可以應用的功能有限。

2.支援「上一頁」與加入「我的最愛」功能

Dojo 網(wǎng)址:dojotoolkit.org

一些輕巧的Ajax框架,用意在解決JavaScript遇到的易用性或特效問題,相較之下,Dojo更像是個面面俱到的JavaScript工具套餐,號稱可以降低網(wǎng)頁或網(wǎng)頁應用程式前端開發(fā)速度。

Dojo支援拖拉、淡出、淡入、移動、透明、操作SVG圖檔等動態(tài)效果,它的Widget也讓使用者可以輕易使用選單,分頁標簽(tab)、樹狀結構、日歷、文字編輯器等效果,當然也支援非同步處理的Ajax功能。

另外,Ajax由于以動態(tài)的方式操作文件物件,導致使用者習于使用上一頁、下一頁的功能無法使用,也無法利用像是「我的最愛」的功能,將使用者所需的頁面留下正確的書簽,但這些需求Dojo都已有解法。

比起其他輕巧型的Ajax框架,要摸熟Dojo顯然要下較多的功夫才能掌握,目前文件較少也是個問題。不過由于它的功能更為完整,因此開發(fā)人員需要自行加工的地方就相對較少。

3.可由JavaScript呼叫Java語法

DWR(Direct Web Remoting) 網(wǎng)址:www.getahead.ltd.uk/dwr

DWR是設計給Java語言的Ajax框架,讓開發(fā)人員可以利用JavaScript程式呼叫Java語法。

DWR的運作可分為兩個部分,一方面用在瀏覽器上,處理連接伺服器端Java程式,另一部分則是用來展示回傳資料。透過DWR呼叫Java的函式,它會處理連接處理的細節(jié),而當資料被處理完成后,DWR就會執(zhí)行回呼函式,以進行后續(xù)呈現(xiàn)的處理。

在安裝DWR時必須編輯Web應用程式的部署描述檔案,而且也要編輯DWR特定檔案。 DWR配置檔案指定了可以遠端建立和呼叫的類別。檔案中包含伺服器程式碼的JAR檔案,另外還有JavaScript檔案,提供一些輔助函式,處理互動呈現(xiàn)的效果。

DWR最大的好處就在于讓Java開發(fā)人員可以利用熟悉的語法來處理頁面與資料,并且能配合Struts、Tapestry來使用。不過從用戶端呼叫遠端伺服器的Java程式,仍存在一些安全上的疑慮,在使用時必須注意。

4.以易用性、簡化語法為目標

jQuery 網(wǎng)址:jquery.com

jQuery是最近大受矚目的Ajax框架,它以Prototype為本,簡化并提升JavaScript語法的功能。

jQuery有點像是將Prototype所做的事再推向極端,讓使用者改變原有撰寫JavaScript的方法。它最為人稱道的地方,就在于強大的存取頁面元素功能,無論是文件的節(jié)點、CSS的選取子或Xpath表達式,都能利用「$( )」函式快速存取,并賦予它更多的功能。

此外,它的chainable方法能將一串處理函式結合在一起,讓程式碼更為簡潔。另外jQuery也提供一些動態(tài)效果,不過和其他框架相比,這部分就顯得陽春許多。

jQuery的優(yōu)劣其實都在同一件事情上,一方面它簡化JavaScript的語法,讓撰寫程式更為簡便,就好用的目的而言,的確是相當成功。然而這卻讓JavaScript的程式碼會發(fā)展成另一種樣子,對于初學者而言,一開始學習時,必須要花點時間去適應。

5.依功能需求,下載模組化工具

MooTools 網(wǎng)址:mootools.net

前身是以輕巧著稱的Moo.fx,與Prototype有著相似的概念和語法,但在物件導向上做得更為徹底,而且在動畫效果和互動行為上,提供更多的功能與應用,能讓使用者更快的寫出物件導向概念的JavaScript語法。

MooTools的下載檔依模組分為核心、類別、原生語法、網(wǎng)頁元素、瀏覽器視窗、動畫效果、拖曳、遠端傳輸與外掛程式,除了核心程式是必要下載之外,其他可依使用者需求,下載所需的JavaScript檔案,借此減少檔案的體積。

雖然MooTools將JavaScirpt物件導向化的結果做得更徹底,有利于程式的擴展與維護,不過也挑戰(zhàn)原先熟悉JavaScript物件觀的人,需要較多的時間適應。

不過無論是網(wǎng)站本身呈現(xiàn)、程式語法展示,甚至是模組下載介面,MooTools都展現(xiàn)相當精致的動態(tài)效果,參與網(wǎng)站的示范,很快就能實作。

6.大大擴充JavaScript基本功能

Prototype 網(wǎng)址:prototype.conio.net

Prototype不像其他框架,有許多炫人耳目的動態(tài)效果,而是專注在改良JavaScript本身的功能,讓JavaScript更容易使用,也更具物件導向風ge。

Prototype在簡化JavaScript方法上,提供許多方便的語法,最著名的如「$( )」函式,只要將DOM節(jié)點的ID傳入這個函式,就能取得這個節(jié)點物件,簡化了DOM的操作方法。而這個方式也幾乎成為其他開發(fā)框架延用的功能。其他如「$F( )」函數(shù)能直接處理Web表單元件的值,「$A( )」函數(shù)能將列舉的字串轉(zhuǎn)換成陣列等,都是Prototype經(jīng)典功能。

在非同步處理上,它也提供了Ajax.Request、Ajax.Updater等類別,讓開發(fā)人員在處理非同步運作時可以利用它提供的方法,讓溝通行為更為容易、正確。

雖然Prototype沒有太多花俏的功能,不過它簡化JavaScript的特性,仍讓許多Web開發(fā)人員衷情于它。

7.平順、豐富的動畫效果

Rico 網(wǎng)址:openrico.org

Rico是基于Prototype之上的Ajax框架,在西班牙文中,「rico」即為「rich」的意思,這也說明Rico的目標是提供開發(fā)人員利用JavaScript達到豐富的網(wǎng)頁元件與應用。

Rico提供非同步的Ajax應用,可讓非同步回應繞送到一個或多個回呼以操作DOM或JavaScript物件。在動畫效果方面,支援如拖曳功能、縮放、過場、進度指標和黃褪技術等,可立即套用豐富的效果。

由于Rico志在讓JavaScript也能表現(xiàn)出Flash般的動畫效果,因此像是網(wǎng)頁元件的顏色、形狀或下拉效果的變化都相當平滑,也能讓DIV方塊做出圓角的效果,讓視覺表現(xiàn)更具Web 2.0風ge。

Rico的LiveGrid功能同樣是為人所稱道之處。它能讓表單資料產(chǎn)生更多元的表現(xiàn)方式,突破表格的檢視行為。例如它可以讓使用者在觸動卷動軸時,動態(tài)下載資料,利用這種方式,可以分段下載,就無需采用分頁檢視的手法。

8. RoR與CakePHP的指定框架

Script.aculo.us 網(wǎng)址:Script.aculo.us

Script.aculo.us是建立在Prototype之上的Ajax框架,是解決視覺效果與互動行為的輕巧框架,Ruby on Rails及PHP上的開發(fā)框架CakePHP等,都是使用Script.aculo.us作為Ajax的解決方案。

在視覺效果上,Script.aculo.us利用改變透明度、大小、位置以及結合以上三種元素,產(chǎn)生更多種變,例如淡進、淡出、閃動、提示等數(shù)十種視覺效果,可讓頁面效果更具變化,引導使用者與介面程式互動等。

在互動介面方面,提供了拖曳元件、就地編輯元件(In-Place Editor)、水平、垂直拉動卷軸、自動完成、元件排序、購物車等,這些預先打包成套的功能,解決了瀏覽器相容性的問題,也讓使用者很容易可以直接導入在現(xiàn)有的專案功能中,節(jié)省自行開發(fā)的時間。

此外,Script.aculo.us包含單元測試(Unit Test)框架,可以利用本身的test物件,用來驗證程式執(zhí)行的狀態(tài),并且支援模擬滑鼠與鍵盤的功能。

9.有Yahoo!網(wǎng)站服務背書的框架

Yahoo! User Interface 網(wǎng)址:developer.yahoo.com/yui/

Yahoo! User Interface(YUI)是Yahoo!所提供的Ajax框架,提供便捷的開發(fā)方式與許多JavaScript函式庫,使用者可以利用它來開發(fā)互動式的介面與Ajax效果。 YUI可分為三大部分,包含工具、CSS和控制元件等函式庫,工具部分是核心物件,負責一些較底層的處理功能,CSS則提供像版面規(guī)畫、字體工具。而控制元件則有自動完成、月歷、樹狀結構這些工具。

由于YUI實際應用在Yahoo!的網(wǎng)站中,因此實作的可靠性相當不錯,在YUI網(wǎng)站上也提供不少范例與文件,能協(xié)助使用者快速上手。雖然YUI是由Yahoo!所推出,不過它遵循JavaScript的語法規(guī)則,并將樣式、內(nèi)容與行為分離,開發(fā)人員如果要擴充功能,也相當容易。

一般Ajax框架都需要置放在網(wǎng)站的伺服器端,隨著頁面一起下載,YUI除了采取這種方式之外,也提供使用連結的方式,使用者只要在應用的頁面中將路徑指向YUI主機即可。

10.適合Java開發(fā)環(huán)境的企業(yè)級解決方案

ZK 網(wǎng)址:www.zkoss.org

ZK是基于Ajax、XUL(XML User Interface Language)、Java網(wǎng)頁應用程式的開發(fā)框架,讓網(wǎng)頁的操作行為可以像是桌面應用程式一般。

不同于用戶端的Ajax解決方案,ZK由伺服器端出發(fā),利用ZK處理Ajax互動的引擎,處理用戶端的頁面行為,也因此大為降低利用JavaScript作為動態(tài)開發(fā)語法時,常遇到的瀏覽器相容問題。

ZK提供超過70個XUL組件及80個XHTML組件,因此一些網(wǎng)頁或應用程式常見的功能,ZK都提供現(xiàn)成的工具可讓使用者立即應用,只需利用ZK以XML為基礎的使用介面設計語言,即可產(chǎn)生這些組件。應用的人則可在后端利用Java語言進行來處理程式邏輯與資料傳遞。

由于ZK利用Java語言開發(fā),屬于以伺服器為中心的解決方案,因此必須安裝支援Java的應用程式伺服器(如Tomcat)才能執(zhí)行。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美成人精品一区二区 | 美女91视频 | 万圣街在线观看免费完整版 | 亚洲第一综合 | 在线播放亚洲视频 | 欧美a在线观看 | 亚洲第五色综合网 | 国产黄网| 热99re久久免费视精品频软件 | 日韩精品羞羞答答 | av国语| 日韩中文一区 | 九色国产 | 日本不卡一区二区三区在线 | 国产精品久久久久久久久久久久久久久久 | 一级免费视频 | 桥本有菜免费av一区二区三区 | 国产成年人在线观看 | 日本中文字幕电影在线观看 | 懂色粉嫩av久婷啪 | 91成人免费网站 | 亚洲午夜在线观看 | 一级做受大片免费视频 | 欧美亚洲国产成人 | 91精品国产91久久久 | 久久久www成人免费毛片 | 91精品国产成人 | 99最新网址| 性欧美大战久久久久久久免费观看 | 日日狠狠久久偷偷四色综合免费 | 操穴视频 | 久久一本日日摸夜夜添 | 鲁丝片一区二区三区免费入口 | 男女一边摸一边做羞羞视频免费 | 毛片在线免费 | 日韩做爰视频免费 | 国产精品一区2区3区 | 毛片a片| 99亚洲国产精品 | 久久视频精品 | 久久精品综合视频 |