標籤:action 基於 asc 防止 優秀 瀏覽器 otool dojo 拖放
目前來看,js架構以及一些開發包和庫類有如下幾個,Dojo 、Scriptaculous 、Prototype 、yui-ext 、Jquery 、Mochikit、mootools 、moo.fx
Dojo (js library and ui component ):
Dojo是目前最為強大的j s架構,它在自己的Wiki上給自己下了一個定義,dojo是一個用JavaScript編寫的開源的dhtml工具箱。dojo很想做一個“大一統”的 工具箱,不僅僅是瀏覽器層面的,野心還是很大的。Dojo包括ajax, browser, event, widget等跨瀏覽器api,包括了js本身的語言擴充,以及各個方面的工具類庫,和比較完善的ui組件庫,也被廣泛 應用在很多項目中,他的ui組件的特點是通過給html標籤增加tag的方式進行擴充,而不是通過寫js來產生,dojo的api模仿Java類庫的組織 方式。 用dojo寫Web OS可謂非常方便。dojo現在已經4.0了,dojo強大的地方在於介面和特效的封裝,可以讓開發人員快速構建一些相容標準的介面。
優點:庫相當完善,發展時間也比較長,功能強大,據說利用dojo的io.bind()可以實現comet,看見其功能強大非一般,得到ibm和sun的支援
缺點:檔案體積比較大,200多kb,初次下載相當慢,此外,dojo的類庫使用顯得不是那麼易用,j s文法增強方面不如prototype。
Prototype (js OO library):
是一個非常優雅的js庫,定義了js的物件導向擴充,dom操作api,事件等等,以prototype為核心,形成了一個外圍的各種各樣 的js擴充庫,是相當有前途的js底層架構,值得推薦,感覺也是現實中應用最廣的庫類(RoR整合的AJAX js庫),之上還有 Scriptaculous 實現一些js組件功能和效果。
優點:基本底層,易學易用,甚至是其他一些js特效開發包的底層,體積算是最小的了。
缺點:如果說缺點,可能就是功能是他的弱項
Scriptaculous (js ui component based on prototype):
Scriptaculous是基於prototype.js架構的js效果。包含了6個js檔案,不同的檔案對應不同的js效果,所以說,如果底層用 prototype的話,做js效果用Scriptaculous那是再合適不過的了,連大名鼎鼎的digg都在用他,可見不一般
優點:基於prototype是最大的優點,由於使用prototype的廣泛性,無疑對使用者書錦上添花,並且在《ajax in action》中就拿Scriptaculous來講述js效果
缺點:剛剛興起,需要時間的磨練
yui-ext (js ui component):
基於Yahoo ui的擴充包yui-ext是具有cs風格的Web使用者介面組件 能實現複雜的Layout布局,介面效果可以和backbase媲美,而且使用純javascript代碼開發。真正的可編輯的表格Edit Grid,支援XML和json資料類型,直接可以遷入grid。許多組件實現了對資料來源的支援,例如動態布局,可編輯的表格控制項,動態載入的Tree 控制項、動態拖拽效果等等。1.0 beta版開始同Jquery合作,推出基於jQuery的Ext 1.0,提供了更多有趣的功能。
優點:結構化,類似於java的結構,清晰明了,底層用到了Jquery的一些函數,使整合使用有了選擇,最重要的一點是介面太讓讓人震撼了。
缺點:太過複雜,整個介面的構造過於複雜。
Jquery :
jQuery是一款同prototype一樣優秀js開發庫類,特別是對css和XPath的支援,使我們寫js變得更加方便!如果你不是個js高手又想寫出優 秀的js效果,jQuery可以幫你達到目的!並且簡介的文法和高的效率一直是jQuery追求的目標,
優點:注重簡介和高效,js效果有yui-ext的選擇,因為yui-ext 重用了很多jQuery的函數
缺點:據說太嫩,曆史不悠久。
Mochikit :
MochiKit自稱為一個輕量級的js架構。MochiKit 主要受到 Python 和 Python 標準庫提供的很多便利之處的啟發,另外還緩解了瀏覽器版本之間的不一致性。其中的 MochiKit.dom 尤其方便,能夠以比原始 JavaScript 更友好的方式處理 dom 對象。MochiKit.dom 大部分都是針對 xhtml 文檔定製的,如果與 MochiKit 和 Ajax 結合在一起,使用 xhtml 封裝的微格式尤其方便。Mochikit可以直接對字串或者數字格式化輸出,比較實用和方便。它還有自己的 js 代碼解譯器
優點:MochiKit.dom這部分很實用,簡介也是很突出的
缺點:輕量級的缺點
mootools :
MooTools是一個簡潔,模組化,物件導向的JavaScript架構。它能夠協助你更快,更簡單地編寫可擴充和相容性強的JavaScript代碼。Mootools跟prototypejs相類似,文法幾乎一樣。但它提供的功能要比prototypejs多,而且更強大。比如增加了動畫特效、拖放操作等等。
優點:可以定製自己所需要的功能,可以說是prototypejs的增強版。
缺點:不大不小,具體應用具體分析
moo.fx :
moo.fx是一個超級輕量級的javascript特效庫(7k),能夠與prototype.js或mootools架構一起使用。它非常快、便於使用、跨瀏覽器、符合標準,提供控制和修改任何HTML元素的csS屬性,包括顏色。它內建檢查器能夠防止使用者通過多次或瘋狂點擊來破壞效果。moo.fx整體採用模組化設計,所以可以在它的基礎上開發你需要的任何特效。
JS的幾種架構