1. 程式人生 > >7個常見Javascript框架介紹_+14個…

7個常見Javascript框架介紹_+14個…

設計開發中的“框架”指一套包含工具、函式庫、約定,以及嘗試從常用任務中抽象出可以複用的通用模組,目標是使設計師和開發人員把重點放在任務專案所特有的方面,避免重複開發。通常的講,框架就是就是最常用的JavaScript框架和Web應用框架,當然,還有CSS框架(15個CSS框架簡介Typogridphy: 適合網格佈局的CSS框架用於網格設計的960網格系統)。

下面我們介紹一些比較常見的Javascript框架,高手跳過,才學JS和Ajax的朋友則應該好好了解一下。

Dojo

Dojo 是一個強大的面向物件JavaScript框架。主要由三大模組組成:Core、Dijit、DojoX。Core提供 Ajax,events,packaging,CSS-based querying,animations,JSON等相關操作API。Dijit是一個可更換面板,基於模板的WEB UI控制元件庫。DojoX包括一些創新/新穎的程式碼和控制元件:DateGrid,charts,離線應用,跨瀏覽器向量繪圖等。

Yahoo! User Interface (YUI) Library是一組採用DOM scripting,DHTML和Ajax等技術開發的Web UI控制元件和工具。中文說過來就是“Yahoo使用者介面庫”。

  • Yui 工具包利用DOM指令碼來簡化瀏覽器內的開發(in-browser devolvement),使用DHTML和AJAX的特性開發所有的Web程式。
  • YUI控制元件庫為你頁面提供一組高互動性性的視覺化元素。這些元素完全在客戶端建立維護,不需要請求伺服器進行頁面重新整理。

jQuery是一個快速、簡潔的JavaScript框架,幫助你簡化查詢DOM物件,處理事件,製作動畫,和處理Ajax互動過程。利用jQuery將改變你編寫JavaScript程式碼的方式。原先用20行程式碼完成的功能,jQuery用10行就可以輕鬆搞定。

MooTools 是一個簡潔,模組化,面向物件的JavaScript框架。它能夠幫助你更快,更簡單地編寫可擴充套件和相容性強的JavaScript程式碼。 Mootools從Prototype.js中汲取了許多有益的設計理念,語法也和其極其類似。但它提供的功能要比Prototype.js多,整體設計也比Prototype.js要相對完善,功能更強大,比如增加了動畫特效、拖放操作等等。

prototype是一個易於使用、面向物件的JavaScript框架。它封裝並簡化和擴充套件一些在Web開發過程中常用到JavaScript方法與Ajax互動處理過程。

script.aculo.us 是一個易於使用,支援多種瀏覽器,用於增強Prototype的JavaScript框架。script.aculo.us包含:動畫框架(animation framework),拖放(drag and drop), Ajax控制元件,DOM工具,單元測試等。

ExtJS

ExtJS是一個跨瀏覽器,用於開發RIA(Rich iInternet Application)應用的JavaScript框架。提供:高性,可定製的Web UI控制元件庫。良好的設計、豐富的文件和可擴充套件的元件模型。



轉自:http://hi.baidu.com/lantonad/blog/item/90412fe8e1564238b80e2dd5.html


14個開源Ajax框架介紹

我們已經看過了7個Javascript框架,現在則來看一下14個開源Ajax框架

jQPie

這是一個擴充套件自jQuery,結合PHP的一個Ajax框架。支援XML,HTML和JSON handler。jQPie提供的功能包括:

  • 利用$.getJSON方法簡化來自PHP的請求和處理資料。
  • 利用$.(element).load方法注入PHP生成的html到某一頁面元素中。
  • 利用$.jqpie方法直接從web頁面呼叫PHP函式。在響應$.jqpie呼叫時從PHP函式反過來呼叫jQuery。

一組PHP檔案用來支援在PHP Web應用程式中使用Microsoft AJAX Library。

jsLINB 是一個完全的瀏覽器端javascript解決方案,相容大部分現代瀏覽器(IE6.0/IE7.0/firefox1.5 /firefox2.0/opera9/Safari2.0,Safari 缺乏測試)。它可以幫助程式開發者實現各種型別的RIA應用-在提供更加強大框架的同時更加易用。壓縮的核心程式碼僅僅50k, 包括了javascript型別檢查,強制型別,精密且靈活的事件模型,自定義事件,observer和tie/untie,boxing /unBoxing/reBoxing模型,直接呼叫,dom生成,查詢,遍歷和操作,css 樣式操作,css 類操作,dom屬性操作,javascript完美OO實現,javascript執行緒,高階Ajax,強大的Drag Drop,超級控制元件(可在外觀/模板/行為/資料模型四個維度上定製的標準控制元件,可完全自定義控制元件)等。

My-BIC是一個易於使用,強大的Ajax/PHP框架。

  1. 支援XML,JSON和TEXT的格式Ajax資料傳輸。
  2. 支援EasyForms:呼叫一個函式就能取得Form中的所有值,併為你建立一個少許美化的查詢串。ajaxObj.getForm(’formid’)。
  3. JSON客戶端Encoding支援:利用該功能你就能夠在客戶端或伺服器之間傳送和接收經過JSON Encoding的資料。
  4. 網路斷線保護:當伺服器Down掉時My-BIC將幫助你刪除請求並阻止產生更多的呼叫。
  5. 內建Submission佇列:所有的AJAX請求將會發送到正確的順序中,所有請求都會被儲存在佇列中防止被覆蓋。提供一個幫助你在執行期進行除錯的視覺化操作介面。

aSSL

aSSL:SSL for Ajax。這個開源專案可用於那些需要SSL支援的Ajax應用中。

PHPLiveX是一個PHP類庫可用於在web頁面中使用Ajax呼叫PHP函式。它非常易於使用,在呼叫一個PHP函式不需要附加額外的功能,包含一個靈活地預載入屬性,相容IE, Opera, Mozilla, Firefox等瀏覽器。

RSPA

RSPA是一個基於元件事件驅動的ajax框架適用於PHP4與PHP5。使用這個框架可以從客戶端控制事件呼叫伺服器端PHP class函式。也可以在服伺服器端直接操作客戶端物件。

phpAjaxTags是模仿著名Java標籤庫”AjaxTags”的一個PHP標記庫。簡單但強大,易於使用與安裝。不需要編寫js程式碼就能實現ajax功能。

XAJAX

xajax 通過Javascript直接呼叫PHP函式。它使用Javascript stub來呼叫PHP指令碼中的函式,物件方法,和類方法。伺服器端響應由於xajax響應物件建立,該物件提供非常多的命令比如:給一個HTML元素賦值,顯示一個警告對話方塊等。還支援自定義指令碼輸出。所有特定瀏覽器程式碼(如使用XMLHttpRequest)都是抽象的,並且傳送各種資料型別到伺服器端都非常容易實現。xajax提供多種配置選專案以便易於與現存web應用或框架相整合。它的Javascript核心簡潔明瞭,而且可以通過覆蓋來支援更多的高階Javascript功能。

NanoAjax是一個基於PHP5,面向物件(包括JavaScript和PHP)的AJAX框架。它使用JSON作為資料交換格式。NanoAjax能夠把多個虛擬請求歸結到一個正真的請求當中。整個框架非常小,並且易於使用。基於class的伺服器端事件處理方式。

Pear:HTML_AJAX是一個相當成熟的Ajax框架, 使用JSON進行資料傳輸。內建豐富的例子,包括留言板、登入、grab…等等。

Ajax Agent是一個非常易於使用(只需三行程式碼),並且非常強大的開源框架用於快速構建AJAX或RIA應用程式。支援複雜的資料型別比如:associated arrays與object。使用JSON(JavaScript Object Notation)作為資料交換格式。

AjaxAC是一個PHP框架可用於開發/建立/生成AJAX應用程式。 特點如下:

  1. 所有應用程式程式碼全都包含在一個單獨的class中(可以附帶任何JavaScript包)。
  2. PHP檔案/HTML頁面的呼叫非常簡潔。
  3. 內建簡化處理JavaScript事件的功能
  4. 內建建立和處理subrequest的功能。
  5. 可以自定義配置值,所以某些元素可以在執行期才被設定。
  6. 沒有雜亂的Javascript程式碼塞滿所呼叫的Html程式碼,所有事件都是被動態附加上的。
  7. 易於與模板引擎相整合基於以上兩點原因。
  8. 易於掛鉤(hook)現有的PHP classe或MySQL資料庫以便從subrequest返回資料。

AJASON是一個基於PHP5的AJAX開發包。它具有以下特點:

  1. PHP5與JavaScript程式碼完全採用面向物件開發。
  2. 從JavaScript非同步呼叫PHP函式與物件方法。
  3. 能夠在伺服器與客戶端之間交換複雜的資料型別像arrays與object (更確切地說是物件屬性)。
  4. 使用JavaScript回撥函式來處理服務端響應。
  5. 能夠在客戶端處理服務端的AJASON錯誤。