“框架”指一套包含工具、函數庫、約定,以及嘗試從任務中抽象出可以復用的通用模塊,目標是使開發(fā)人員把重點放在任務項目所特有的方面,避免重復開發(fā)。
類似一個工具
JavaScript框架或庫是一組能輕松生成跨瀏覽器兼容的JavaScript代碼的工具和函數。每一個庫都在眾多流行的web瀏覽器的現代版本上進行了可靠的測試,因此,你可以放心的使用這些框架,你的基于JavaScript的RIA將會在不同的瀏覽器和平臺上 以類似的方式工作。
這些框架極大的簡化了開發(fā)的進程,并帶來一致,可靠,以及高度交互性的用戶界面。
JQuery
YUI
Prototype
Mootools
ExtJS
MochiKit
DOjo
Kissy
Como JS
JET
JavaScriptMVC
Qooxdoo
SproutCore
Sencha Touch
IUI
想參與學習的小伙伴可以來交流群:621071874。
JavaScript庫
解決瀏覽器兼容性
快速開發(fā)Web應用
豐富UI效果
跨瀏覽器RIA框架
類桌面應用
移動網絡應用APP框架
為移動設備而設計
基于HTML5和CSS3
JQuery由John Resing 創(chuàng)建,其宗旨是 ---WRITE LESS , DO MORE。寫更少的代碼,做更多的事情。它是輕量級的JS庫(壓縮后只有21K),它兼容CSS3,還兼容各種瀏覽器(IE 6.0+,FF1.5+,Safari2.0+,Opera 9.0+)。JQuery是一個快速處理HTML documents、events、實現動畫效果,并且方便的為網站提供AJAX交互。JQuery還有一個比較大的優(yōu)勢就是,它的文檔說明很安全,而且各種應用也說得很詳細,同時還有許多成熟的插件可供選擇。
Yahoo!User Interface (YUI) Library是一組采用DOM scripting , Dhtml和Ajax等技術開發(fā)的Web UI控件和工具。中文說過來就是“Yahoo用戶界面庫”。
Yui工具包利用DOM腳本來簡化瀏覽器內的開發(fā)(in-browser devolvement),使用DHTML和AJAX的特性開發(fā)所有的Web程序。
YUI控件庫為你頁面提供一組高交互性性的可視化元素。這些元素完全在客戶端創(chuàng)建維護,不需要請求服務器進行頁面刷型。
prototype是一個易于使用、面向對象的JavaScript框架。它封裝并簡化和擴展一些在Web開發(fā)過程中常用到JavaScript方法與Ajax交互處理過程。
MooTools是一個簡潔,模塊化,面向對象的JavaScript框架。它能夠幫助你更快,更簡單的編寫可擴展和兼容性強的JavaScript代碼。Mootools從Prototype.js中汲取了許多有益的設計理念,語法也和極其類似。但它提供的功能要比Prototype.js 多,整體設計也比Prototype.js要相對uwanshan,功能更強大,比如增加了動畫 特效、拖放操作等。
ExtJS是一個跨瀏覽器,用語開發(fā)RIA(Rich Internet Application)應用的JavaScript框架。提供:高薪性,可定制的Web UI控件庫。良好的設計、豐富的文檔和可擴展的組件模型。
MochiKit是一種有用的高端JavaScript庫。MochiKit主要受到Python和Python標準庫提供的很多便利之處的啟發(fā),另外還緩存了解瀏覽器版本之間的不一致性。其中的MochiKit.DOM尤其方便,能夠比原始JavaScript更友好的方式處理DOM對象。MochiKit.DOM大部分都是針對XHTML文檔制定的,如果與MochiKit和Ajax結合在一起,使用XHTML包裝的微格式尤其方便。
Dojo是一個強大的面向對象JavaScript框架。主要由三大模塊組成:Core、Dijit、DojoX。Core提供Ajax,events,packaging,CSS-based querying,animations,JSON等相關操作API。Dijit是一個可更換皮膚,基于模版的WEB UI控件庫。DojoX包括一些創(chuàng)新的代碼和控件:DateGrid,charts,離線應用,跨瀏覽器矢量繪圖等。
KISSY是一個小巧靈活,簡潔實用的UI類庫,它希望使用者能夠愉悅的編碼、愉快的開發(fā)。
Simple&Stupid,Short&Sweet,Slim&sexy....
Como JS是一塊代碼簡易而功能強大的JavaScript框架,也是工作者在工作過程中的經驗總結,實用性強;通過它,能夠簡化JavaScript代碼開發(fā),增強代碼重要性,能夠異步按需要加載js和css文件,增強page 的加載速度。
JET使用與Web Page 和 Web App的開發(fā)
微內核設計:內核可以完全分離出來,用于構建自己的框架
自由拼裝各個模塊
命名無空間、原生對象零污染
無縫集成各種js框架:與JQuery,YUI,Mootools,Prototype.js 等框架無縫集成。與多種局部框架無縫集成,如(Mini,Sizzle,cssQuery,xpath,JSON)等等。
多種版本共存:如采用的JET版本過低,有的JavaScript代碼不能與新版本JET兼容,則可以采用多版本共存的方式保持程序的可延續(xù)性。
分層設計:JavaScript核心層,與JavaScript解釋引擎無關的封裝和擴展。瀏覽器端JavaScript層,對瀏覽器中的JavaScript引擎部分的封裝和擴展。
JavaScriptMVC是一個功能強大的JavaScript framework。也是一個很棒的JavaScript測試框架,它同樣能夠提高開發(fā)的速度。JavaScriptMVC應用了模型-視圖-控制器架構模式,把業(yè)務邏輯和表示分離,使得代碼更加模塊化。
qooxdoo是一個Ajax 應用框架使用基于面向對象JavaScript
,它讓你可以是使用JavaScript來卡發(fā)類似于VB/Delphi風格的具有Ajax功能的web2.0應用程序。qooxdoo具有客戶端瀏覽器潔廁功能,具有瀏覽器抽象層,可以無差別的創(chuàng)建跨瀏覽器的Web應用程序,它提供方便的調試接口,具有事件管理、聚焦管理、定時器、邊框和對象屬性等特征。它提供一組窗體組件并擴展了布局,它還提供跨平臺的png圖形透明支持功能。此外,qooxdoo提供一個原子組件,你可以在其基礎上開發(fā)你自己的組件。
SproutCore蘋果對SproutCore的解釋為“開源,平臺無光,類Cocoa的JavaScript框架,用語創(chuàng)建具有桌面應用程序外觀和操作感的Web應用程序?!?/p>
現在有不少Web框架開始使用HTML5中的一些信特性(如離線儲存、HTML5 ApplicationCache等來構建副本地(rich native-class)應用,而SproutCore則是其中之一。
Sencha Touch可以讓你的Web App看起來像Native App。魅力的用戶界面組件和豐富的數據管理,全部基于最新的HTML5和CSS3的WEB標準,全面兼容Android和Apple IOS設備。
Sencha Touch
IU包含一套JavaScript庫,CSS式樣表及圖片,是一個輕量級IPhone UI庫,包含IPhone 風格導航菜單,設備方向,IPhone風格切換等功能,可以為你的Web程序帶來IPhone般的體驗。
IUI
各框架所占比例
各框架所占比例
你的項目需求
框架支持A級瀏覽器嗎
是否利于團隊協(xié)作開發(fā)
框架是否成熟
文檔是否健全
社區(qū)支持是否充足
框架的擴展性如何
你是否喜歡API的風格
代碼執(zhí)行速度性能如何
代碼是否為模塊化
代碼可重用性如何
JS框架比較
此上所整理的框架的比較的資料,希望能夠幫助大家正確的選擇自己喜歡的一種框架。有不足之處還望大家多多提出意見,發(fā)表自己的言論,謝謝。