天天看點

主流的JavaScript架構主流的JavaScript架構Dojo ExtJSDWR      jQuery

主流的JavaScript架構

Dojo

JQuery

DWR

ExtJS

Prototype

mooTools

.....

Dojo

簡介     

   (開發中,成立于2004年9月)

Dojo是最老的架構之一。Dojo是一個用JavaScript語言實作的開源DHTML工具包。Dojo的目标是解決開發DHTML應用程式遇到的那些、長期存在 、曆史問題,以及DHTML 跨浏覽器問題。 Dojo能夠讓你更容易使Web頁面具有動态能力,或者在任何能夠穩定支援JavaScript語言的環境中發揮作用。

優點

背後強大的支援:IBM、Sun、BEA等,這是非常重要的優勢。

功能的強大,Full Stack的架構,擴充了DHTML的能力。

面向對象的設計,統一的命名空間,包管理機制(The Package System and Custom Builds)

可擴充性。

缺點

複雜,學習曲線陡。文檔的極端不全,這是一個很大的問題。

API很多不穩定,各版本間改動較大。

侵入性太大,頁面中大量使用dojo的屬性,例如<button dojoType="dijit.form.Button" id="helloButton">,如果将來dojo更新或者換一個架構時,負擔會很大。

性能問題,由于dojo加載采用了同步的機制,會暫時鎖定浏覽器,導緻CPU使用率達到100%。另外,很多Widget的速度很慢。

 ExtJS

簡介

可以用來開發RIA也即富用戶端的AJAX應用,是一個用javascript寫的,主要用于建立前端使用者界面,是一個與背景技術無關的前端ajax架構。是以,可以把ExtJS用在.Net、Java、Php等各種開發語言開發的應用中。

設計思想

元件化,推進RIA(Rich Internet Application)的應用。

優點

強大的UI,而且性能不錯,這是其最大的優點。速度快,管是UI還是其它子產品。

100%面向對象群組件化的思想,一緻的文法,全局的命名空間。

文檔的完整,規範,友善。

子產品化實作,可擴充性強。

所有的元件(widgets)都可直接使用,而無需進行設定(當然,使用者可以選擇重新配置)。

缺點

稍複雜。

為重量級的架構(包含大量UI),體積大。如果導入ext-all.js,壓縮後也有近500k。

注意:EXT的商業使用:如果隻是把extjs包含在自己的項目中,而且這個項目不是賣給使用者做二次開發的工具箱,或元件庫,就可以遵守LGPL協定免費使用;否則要付費。

首頁:http://extjs.com/

DWR      

 開發于2005年

 DWR(Direct Web Remoting)是一個WEB遠端調用架構.利用這個架構可以讓AJAX開發變得很簡單.利用DWR可以在用戶端利用JavaScript直接調用服務端的Java方法并傳回值給JavaScript就好像直接本地用戶端調用一樣(DWR根據Java類來動态生成JavaScrip代碼).

jQuery

簡介 :           

2006年開發

 jQuery是繼prototype之後又一個優秀的Javascrīpt架構。它是輕量級的js庫(壓縮後隻有21k) ,它相容CSS3,還相容各種浏覽器 。jQuery使使用者能更友善地處理HTML documents、events、實作動畫效果,并且友善地為網站提供AJAX互動。

設計思想

簡潔的思想:幾乎所有操作都是以選擇DOM元素(有強大的Selector)開始,然後是對其的操作(Chaining等特性)。

優勢

    jQuery還有一個比較大的優勢是,它的文檔說明很全,而且各種應用也說得很詳細,同時還有許多成熟的插件可供選擇。

jQuery能夠使使用者的html頁保持代碼和html内容分離,也就是說,不用再在html裡面插入一堆js來調用指令了,隻需定義id即可。應用的廣泛,包括google code也使用了jQuery

缺點

由于設計思想是追求高效和簡潔,沒有面向對象的擴充。設計思路和Mootools不一樣。

CSS Selector的速度稍微有些慢(但是現在速度已經大幅提高)

官網:http://jquery.com/

繼續閱讀