现在有很多的 JavaScript frameworks 可用. 但是你对这些javascript 都很熟知吗?尤其有些涉及到版权问题,使用之前还是多了解一下,以便参照使用,本文提供了一些闻名的Javascript框架对比结果,以供你参考.
JavaScript 框架比较
AccDC | Ample SDK | AngularJS | Atoms.js | CupQ | DHTMLX | Dojo | Echo3 | Enyo | Ext JS | Google Web Toolkit | jQuery | midori | MochiKit | MooTools | PhoneJS | Prototype & script. aculo.us[1] | Pyjamas | qooxdoo | Rialto Toolkit | Rico | SmartClient & SmartGWT | Wakanda | YUI | ZK | Webix | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Version compared | 3.0 September 2013 | 0.9.3 1 Jul 2010 | 1.2.14 1 Mar 2014 | 1.2.31 1 May 2014 | 0.2 June 2012 | 4.0 4 Jun 2014 | 1.9.2 6 Dec 2013 | 3.0.rc1 24 Mar 2011 | 2.0.1 30 August 2012 | 4.2 13 Mar 2013 | 2.4 September 2011 | 1.9.1 4 Feb 2013 | 2010.05 10 May 2010 | 1.4.2 17 Nov 2008 | 1.4.5 26 February 2012 | 13.1.4 6 June 2013 | Prototype: 1.7.1 8 Aug 2012 script.aculo.us: 1.9.0 23 Dec 2010 | 0.5 Mar 2009 | 4.0 5 Jun 2014 | 1.1.5 25 Feb 2011 | 2.0 3 May 2009 | SmartClient: 9.1 Mar 2014 SmartGWT: 4.1 Mar 2014 | 3 19 Dec 2012 | 3.10.0 23 Apr 2013 | 6.5.1.1 13 Dec 2012 / 12 September 2012; | 1 11 July 2013 | |
Size | Variable. Core size: 40 kB (minified & gzipped) | 36 kB (minified & compressed) | 44kB(gzipped) | 20 kB (minified) | Variable | Variable. Base size: 41 kB (minified & gzipped), 155 kB (minified), 598 kB (uncompressed)[2] | <25 kB (core gzipped) | 84–502 kB | Variable | 32 KiB (minified & gzipped), 93 KiB (minified), 252 KiB (uncompressed) | 9 kB (minified & gzipped), 50 kB (uncompressed) | 32–200 kB | Variable; 7.3–65 KiB (YUI Compressor),[3] 101 KiB (uncompressed)[4] | 236 kB | 46–278 kB | Variable | Variable, starting at 6 kB (gzipped) | 520 kB | 100–500 kb (gzipped). | Variable | Variable; library core is 31 kB | Variable | 110kB(gzipped) | ||||
License | MIT License | MIT & GPL | MIT | MIT | MIT | GPL and Commercial | BSD & AFL | MPL, LGPL or GPL | Apache 2 [15] | GPL and Commercial | Apache | MIT | MIT | MIT & AFL | MIT | DEVEXPRESS EULA | MIT | Apache 2 & GPL | LGPL & EPL | Apache | Apache | LGPL & Commercial | GPL & Commercial | BSD | LGPL & GPL & ZOL | GPL & Commercial | |
Source language | JavaScript | ? | JavaScript | JavaScript + HTML + CSS | JavaScript | JavaScript | JavaScript + HTML | JavaScript and/or Java | JavaScript | JavaScript | Java | JavaScript | ? | ? | JavaScript | JavaScript + HTML5 + CSS3 | JavaScript | Python | JavaScript | ? | ? | Server: Java Client: Java (Smart GWT) or Javascript (SmartClient) or XML (both) | Javascript + HTML + CSS | Javascript + HTML + CSS | XML + Java (Javascript Optional) | JavaScript | |
Features | |||||||||||||||||||||||||||
AccDC | Ample SDK | AngularJS | Atoms.js | CupQ | DHTMLX | Dojo | Echo3 | Enyo | Ext JS | Google Web Toolkit | jQuery | midori | MochiKit | MooTools | PhoneJS | Prototype & script. aculo.us[1] | Pyjamas | qooxdoo | Rialto Toolkit | Rico | SmartClient and SmartGWT | Wakanda | YUI | ZK | Webix | ||
Feature detection[5] | Yes | No[6] | Yes | Yes | Yes[7] | No | Yes[8] | No | Yes[9] | No[10][11] | Yes[12] | No[13] | No[14] | Yes[15] | Yes | No[16] | Yes | No[17] | No | Partial [18] | Partial | Yes | No[19] | Yes | |||
DOM wrapped[20] | Yes | Yes[21] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No[22] | Yes | No[23][24] | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | |
XMLHttpRequest data retrieval | Yes | Yes | Yes | Yes | No | Yes | Yes[25] | Yes | Yes | Yes | Yes | Yes | Yes | Yes[26] | Yes | Yes | Yes | Yes | No | Yes[27] | Yes | Yes | Yes | Yes | |||
[WebSocket] | Yes | Yes | Yes | No | Yes | Yes[28] | Yes | Yes | Yes | Yes | Yes | Yes | Yes[29] | Yes | Yes | Yes | Yes | No | Yes[30] | Yes | Yes | Yes | Yes | ||||
Server push data retrieval | Yes | Yes[31] | Yes[32] | Yes[33] | Yes[34] | Yes | Yes[35] | Via Plugin | Yes[36] | ||||||||||||||||||
Other data retrieval | Yes: XML, HTML | Yes: XML | Yes: XML, HTML,CSV | Yes: XML, CSV, HTML | Yes: XML, HTML, CSV, ATOM[37] | Yes: XML, SOAP, AMF, Ext.Direct | Yes: RPC, RequestFactory | Yes: XML, HTML | Yes: XML, HTML | Yes: XML, HTML, OData, REST | Yes: XML, WSDL, RSS, and Java-based SQL, Hibernate, POJO adapters | Yes: JSON-RPC, Wakanda REST | Yes | Yes: XML, HTML,CSV | |||||||||||||
Drag and drop | Yes: With keyboard accessibility | Yes | No | Yes | Yes[38] | Yes | Yes | With plugin[39] | Yes | Yes | Yes | Yes[40] | Yes | Yes | Depends | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||
Simple visual effects | Yes | Yes | Yes | Yes | No | Yes | Yes[41] | Yes | Yes | Yes | Yes | Yes | Yes | Yes[42] | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | ||
Animation / advanced visual effects | Yes | Yes | CSS | No | Yes | Yes[43] | Yes | Yes[44] | Yes | Yes | Yes | Yes | Yes[45] | Yes[46] | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | |||
Event handling | Yes | Yes[47] | Yes | Yes | Yes | Yes | Yes[48] | Yes | Yes | Yes | Yes | Yes | Yes | Yes[49] | Yes | Yes | Yes[50] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
Back button support / history management | Yes | Yes | No | No | Yes[51] | Yes[52] | Yes[53] | Yes | With plugins[54] | Yes | With plugin[55] | Yes | Yes | Yes[56] | Yes | No | Yes | Yes | Yes | Yes | Yes | ||||||
Input form widgets & validation | Yes | Yes | Yes | Yes | No | Yes[57] | Yes[58] | Yes | Yes | Yes | Yes, Validation requires plugin[59] | With plugins[60] | Yes | Yes | Yes | Yes | Yes[56] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
AccDC | Ample SDK | AngularJS | Atoms.js | CupQ | DHTMLX | Dojo | Echo3 | Enyo | ExtJS | Google Web Toolkit | jQuery | midori | MochiKit | MooTools | PhoneJS | Prototype & script. aculo.us[1] | Pyjamas | qooxdoo | Rialto Toolkit | Rico | SmartClient and SmartGWT | Wakanda | YUI | ZK | Webix | ||
Grid | Yes[61] | Yes[62] | Template | No | Yes[63] | Yes[64] | Yes | Yes | Yes | With plugins[65] | No | With plugin[66] | With plugins | Yes | Yes | Yes | Yes[67] | Yes | Yes[68] | Yes[69] | Yes | Yes | |||||
Hierarchical Tree | Yes | Yes[70] | Yes | Yes | Yes[71] | Yes[72] | Yes[73] | Yes[74] | Yes | With plugins[75] | No | With plugins[76] | No | Yes[77] | Yes[78] | Yes | Yes | Yes (Auto Form)[79] | Yes[80] | Yes | Yes | Yes | |||||
Rich text editor | Yes[81] | No | With Plugins | No | Yes[82] | Yes[83] | Yes[84] | Yes[85] | Yes | With plugins[86] | No | Yes[87] | No | Yes | Yes | No | No | Yes | Yes[88] | Yes | Yes | With plugins | |||||
Autocompletion tools | No | Yes | No | Yes[89] | Yes[90] | Yes | Yes | With plugins[91] | Yes | With plugin[92] | Yes | Yes | Yes | Yes | Yes | Yes | Yes[93] | Yes | Yes | Yes | |||||||
HTML generation tools | Yes | Yes | No | Yes | Yes | Yes | Yes[94] | Yes | Yes | Yes | No | Yes[95] | With plugins | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | ||||
Widgets themeable / skinnable | Yes | Yes | Yes | Yes[96] | Yes[97] | Yes | Yes[98] | Yes[99] | Yes[100] | Yes | Yes | Yes | Yes[101] | Yes | Yes[102] | Yes[103] | Yes | Yes | |||||||||
GUI resizable panels and modal dialogs | Yes | Yes | Yes | Yes[104] | Yes | Yes | Yes | Yes | With plugins | Yes[105] | Partial | Yes | Yes | Yes[106] | Yes | Yes[107] | Yes | ||||||||||
GUI page layout | Yes | Yes | Yes | Yes[108] | Yes | Yes | Yes | With plugin[109] | Yes[105] | Yes | Yes | Yes | Yes[110] | Yes | Yes[111] | Yes | |||||||||||
Canvas support | Yes | Yes | Yes[112] | Yes | Yes | Yes | With plugin[113] | Yes[114] | No | Yes | Yes | Yes | Yes[115] | Yes | Yes[116] | Yes | |||||||||||
Mobile/tablet support (touch events) | Yes | Yes | Yes | Yes | Yes | Yes[117] | Yes[118] | No | Yes | Yes | With plugin[119] | With plugin[120] | With plugin[121] | Yes | Yes | Yes | Yes[122][123] | Yes | Yes[124] | Yes | |||||||
Accessibility / graceful degradation[125] | Yes | No | Yes | Relies on built-in ARIA attributes | Yes | No | Yes[126] | Yes | Yes[127] | Yes[128] | Yes | Yes | Yes | No[129] | Degradation: No Accessibility: Yes | Yes[130] | Yes | No | |||||||||
ARIA compliant | Yes | No | Yes[126] | Yes[131] | Yes[132] | No | No | Yes | Yes | Yes | No | ||||||||||||||||
Developer tools, Visual design | Yes | No | Visual Studio, CodeMirror Plugin | No | Yes[133] | Yes[134] | In development[135] | in progress[136] | Yes[137] | Yes | Yes[138][139] | Yes[140][141] | With plugins | No | Yes[142] | Yes | Yes[143] | Yes[144] | Yes | In development | |||||||
Offline storage[145] | Yes | No | Yes | No[146] | Yes | Yes[147] | Via Google Gears[148] | With plugin[149] | No | Yes | Via Pyjamas-Desktop[150] | Yes | No | Yes | planned | Via plugin[151] | Yes | Yes | |||||||||
Cross-browser 2d Vector Graphics[152] | Yes[153] | With plugins | Yes[154] | Yes | With plugin[155] | Yes[156] | With plugins | Yes | Yes | Yes (via Raphael) | Yes | Yes[157] | No | ||||||||||||||
Charting & Dashboard[158] | Yes[159] | Yes[160] | Yes[161] | Yes[162] | With plugin[163][164] | With plugins | Yes | Yes[165] | Yes[166] | Yes[167] | Yes[168] | ||||||||||||||||
RTL Support in UI Components | CSS | Yes | Yes | Yes | Depends on the plugin used | No | Yes | No | |||||||||||||||||||
Browser Support | |||||||||||||||||||||||||||
AccDC | Ample SDK | AngularJS | Atoms.js | CupQ | DHTMLX | Dojo | Echo3 | Enyo | Ext JS | Google Web Toolkit | jQuery | midori | MochiKit | MooTools | PhoneJS | Prototype & script. aculo.us[1] | Pyjamas | qooxdoo | Rialto Toolkit | Rico | SmartClient and SmartGWT | Wakanda | YUI | ZK | Webix | ||
Internet Explorer | 6+ | 6+ | 8+ | 8+ | 6+ | 6+ | 6+ | 6+ | 8+[169] | 6+ | 6+ | 6+[170] | 6+ | 6 | 6+ | 9+ | 6+ | 6+ | 6+ | 6+ | 5.5+ | 6+ | 9+ | 6+ | 6+ | 8+ | |
Mozilla Firefox | 2+ | 1+ | 4+ | 4+ | 2+ | 1+ | 3+[171] | 1.5+ | >4[169] | 3.6+ | 1+ | 2+[170] | 1.5+ | 1.0.7, 1.5b2 | 2+ | 17+ | 1.5+ | 1+ | 2+ | 1.5+ | 1+ | 1+ | 4+ | 3+[172] | 2.0+ | 3+ | |
Safari | 3+ | 3+ | 5+ | 4+ | 3+ | 2.0+ | 4[171] | 3+ | >5[169] | 4+ | 3+ | 3+[170] | 2+ | 2.0.2 | 3+ | 5+ | 2.0.4+ | 2+ | 3+ | 2.0.3[173] | 3+ | 5+ | 4.0 | 3+ | 4+ | ||
Opera | 9+ | 9.6+ | 11+ | 11+ | 9+ | 9+ | 10.50+[171] | 9+ | [169] | 11+ | 9+ | 9+[170] | 9+ | 8.5 | 9+ | 11+ | 9.25+ | 9+ | 9+ | 9+ | 9+ | 10.0+ | 9+ | 9+ | |||
Chrome | 1+ | 1+ | 30+ | 10+ | 1+ | 1+ | 3[171] | 1+ | >10[169] | 10+[174] | 1+ | 1+[170] | 1+ | 22+ | 1+ (starting |