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