There are many JavaScript frameworks available. The intention of this comparison is to show some examples of notable JavaScript frameworks.
Framework | Version compared | Size | License | Source language |
---|---|---|---|---|
Angular | 7 18 Oct 2018 |
563 kB (minified & compressed) | MIT | TypeScript |
AngularJS | 1.5.0 5 Feb 2016 |
144 kB (minified & compressed) | MIT | JavaScript |
Apache Royale | 0.9.4 5 Nov 2018 |
19 kB (zipped) | Apache | ActionScript 3, MXML, CSS |
Backbone.js | 1.2.1 June 2015 |
7.3 kB (Packed and gzipped) | MIT | JavaScript |
Dojo | 1.10.4 18 Jan 2015 |
Variable. Base size: 41 kB (minified & gzipped), 155 kB (minified), 598 kB (uncompressed)[1] |
BSD & AFL | JavaScript + HTML |
Ember.js | 1.7.0 19 Aug 2014 |
95 kB (minified & gzipped), 340 kB (minified), 1.5 MB (uncompressed) |
MIT | JavaScript |
Enyo | 2.0.1 30 Aug 2012 |
<25 kB (core gzipped) | Apache 2 [2] | JavaScript |
Express.js | MIT | NodeJS | ||
Ext JS | 4.2 13 Mar 2013 |
84–502 kB | GPL & Commercial [3] | JavaScript |
Google Web Toolkit | 2.7.0 November 2014 |
Variable | Apache | Java |
jQuery (library) | 3.4.0 10 Apr 2019 |
30,1 KiB (minified & gzipped), 86 KiB (minified),[4] 283 KiB (uncompressed)[4] |
MIT | JavaScript |
jQWidgets | 3.9.1 29 Oct 2015 |
3102 KB (minified), 7486 KB (uncompressed) |
Creative Commons Attribution-NonCommercial 3.0 and Commercial[5] | JavaScript, HTML, CSS |
Knockout | 3.5.0 22 February 2019 |
66.4 KB minified / 309 KB (development mode) | MIT | JavaScript |
MooTools | 1.6.0 14 Jan 2016 |
Variable; 7.3–65 KiB (YUI Compressor),[6]
|
MIT | JavaScript |
Node.js | MIT | JavaScript | ||
React (JavaScript library) | 16.1.1 November 28, 2017 |
react.production.min.js 6.41KB react-dom.production.min.js 92.4KB Total: 98.81KB |
MIT | JavaScript |
SAP OpenUI5 | 1.44.9 28 Mar 2017 |
20.8MB (1.34.7 runtime, minified, zipped) 6.8MB(1.34.7 runtime mobile, minified, zipped) 52.1MB (1.34.7 SDK, zipped) |
Apache 2[9] | JavaScript |
Prototype & script. aculo.us[10] | Prototype: 1.7.3 22 Sep 2015 script.aculo.us: 1.9.0 23 Dec 2010 |
46–278 kB | MIT | JavaScript |
qooxdoo | 5.0.1 15 Sep 2015 |
Variable, starting at 6 kB (gzipped) | LGPL & EPL | JavaScript |
SproutCore | 1.11.2 2 May 2016 |
250–700 kb (gzipped). | MIT | JavaScript |
Svelte | 3.12.1 14 Oct 2019 |
Variable | MIT | JavaScript |
Vue.js | 2.6.10 20 Mar 2019 |
33.5 KB (minified & gzipped)
91.48 KB (minified) [11] 333.46 KB (uncompressed) [11] |
MIT | JavaScript |
Wakanda | 9 14 Nov 2014 |
Variable | GPL3 (framework), AGPL (server) & Commercial | JavaScript + HTML + CSS |
Webix | 4.1 November 2016 |
188 kB (gzipped) | GPL & Commercial | JavaScript |
ZK | 8.0.1 19 Jan 2016 |
Variable | LGPL & GPL & ZOL | XML + Java (JavaScript optional) |
AngularJS | Apache Royale | Dojo | Ember.js | Enyo | Ext JS | Google Web Toolkit | jQuery | jQWidgets | MooTools | OpenUI5 | Prototype & script. aculo.us[10] | qooxdoo | SproutCore | Svelte | Vue | Wakanda | ZK | Webix | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Feature detection[12] | Yes | Yes[13] | Yes | Yes[14] | No[15][16] | Yes[17] | Yes | Yes[18] | No[19] | Yes | Yes | Partial | No | Yes | |||||
DOM wrapped[20] | Yes | Yes | No | Yes | Yes | Yes | Yes | No[21] | No[22][23] | Yes | No | Yes | Yes | Yes | |||||
XMLHttpRequest data retrieval |
Yes | Yes | Yes[24] | Yes | Yes | Yes | Yes | Yes[25] | Yes[26] | Yes | Yes | Yes | Yes | Yes | Yes | ||||
WebSocket | Yes[24] | Yes | Yes | Yes | Yes | No | Yes[26] | Yes[27] | Yes | Yes | Via Plugin | Yes | Yes[28] | ||||||
Server push data retrieval | Yes[29] | Yes[30] | Yes[31] | Yes[29] | No | Via Plugin | Yes[32] | Yes | |||||||||||
Other data retrieval | Yes: XML, HTML, CSV, ATOM, AMF, JSON | Yes: XML, HTML, CSV, ATOM[33] | Yes: XML, SOAP, AMF, Ext.Direct | Yes: RPC, RequestFactory | Yes: XML, HTML | Yes: XML, JSON, CSV, TSV[25] | Yes: XML, HTML | Yes: JSON-RPC, Wakanda REST | Yes: XML, HTML, CS, JSON, JSArray, CSV | ||||||||||
Drag and drop | Yes | Yes[34] | Yes | With plugin[35] | With plugins[36] | Yes[37] | Yes[38] | Yes[39] | Yes | Yes | Yes | Yes | Yes | Yes[40] | |||||
Simple visual effects | Yes | Yes | Yes[41] | Yes | Yes | Yes | Yes | Yes | Yes[42] | Yes | Yes | Yes | Yes[43] | Yes | Yes | Yes | |||
Animation / advanced visual effects |
Yes | Yes[44] | Yes[45] | Yes | Yes | Yes | Yes | Yes[46] | Yes | Yes | Yes[43] | Yes | Yes | Yes[47] | |||||
Back button support / history management |
Yes[48] | Yes | Yes[49] | Yes[50] | Yes | With plugins[51] | No | With plugin[52] | Yes | Yes | Yes | Yes | Yes | ||||||
Input form widgets & validation | Yes | Yes | Yes[53] | Yes | Yes | Yes, Validation requires plugin[54] | With plugins[55] | Yes[56] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes [57][58] | |||
AngularJS | Apache Royale | Dojo | Ember.js | Enyo | ExtJS | Google Web Toolkit | jQuery | jQWidgets | MooTools | OpenUI5 | Prototype & script. aculo.us[10] | qooxdoo | SproutCore | Svelte | Vue | Wakanda | ZK | Webix | |
Grid | Yes | Yes[59] | Yes | Yes | With plugins[60] | Yes[61] | With plugin[62] | Yes | Yes | Yes | Yes[63] | Yes | Yes[64] | ||||||
Hierarchical Tree | Yes | Yes[65] | Yes[66] | Yes[67] | Yes | With plugins[68] | Yes[69] | With plugins[70] | Yes | Yes[71] | Yes | Yes (Auto Form)[72] | Yes | Yes [73] | |||||
Rich text editor | No | Yes | Yes[74] | Yes[75] | Yes | With plugins[76] | Yes[77] | Yes[78] | Yes | Via plugin | Yes[79] | Yes | Yes[80] | ||||||
Autocompletion tools | No | Yes[81] | Yes | Yes | Yes[82] | Yes[83] | With plugin[84] | Yes | With plugins | Yes[85] | Yes | Yes | |||||||
HTML generation tools | No | Yes[86] | Yes | Yes | Yes | Yes[77] | Yes[87] | Yes | Yes | Yes | No | Yes | Yes | ||||||
Widgets themeable / skinnable | Yes | Yes[88] | Yes | Yes[89] | Yes[90] | Yes[91] | Yes | Yes | Yes | Yes | Yes | Yes | |||||||
GUI resizable panels and modal dialogs | Yes | Yes | Yes | Yes | Yes | With plugins | Yes[92] | Yes[93] | Yes | Yes | Yes[94] | Yes[95] | Yes | ||||||
GUI page layout | Yes | Yes | Yes | With plugin[96] | Yes[97][98] | Yes[93] | Yes | Yes | Yes[99] | Yes[95] | Yes [100] | ||||||||
Canvas support | Yes | Yes[101] | Yes | Yes | Yes | With plugin[102] | Yes[103] | Yes[104] | Yes | Yes | Yes[105] | Yes[106] | Yes | ||||||
Mobile/tablet support (touch events) | Yes | Yes | Yes[107] | Yes | Yes | Yes | With plugin[108] | With plugin[109] | Yes[110] | With plugin[111] | Yes | Yes | Yes | Yes[112][113] | Yes[114] | Yes[115] | |||
Accessibility / graceful degradation[116] |
Yes | Yes[117] | No | Yes | Yes[118] | Yes[119] | Yes | Yes[120] | Yes | No[121] | Degradation: No Accessibility: Yes |
Yes | Yes[122] | ||||||
ARIA compliant | Yes[117] | Yes[118] | Yes[123] | Yes[120] | Yes | No | Yes | Yes | Yes [124] | ||||||||||
Developer tools, Visual design | Yes[125][126] | in progress[127] | Yes[128][129][130] | Yes | Yes[131][132] | Yes[133][134][135] | Yes[136][137] | Yes[138] | No | Yes[139] | Yes | Yes[140][141] | |||||||
Offline storage[142] | Yes | No[143] | Yes | Yes[144] | Via Google Gears[145] | With plugin[146] | Yes[147] | Yes | Yes | planned | Yes | Yes | |||||||
Cross-browser 2d Vector Graphics[148] | Yes[149] | Yes | With plugin[150] | Yes[103] | Yes[151] | No] | Yes (via Raphael) | Yes[106] | Yes (via Raphael)[152] | ||||||||||
Charting & Dashboard[153] | Yes | Yes[154] | Yes[155] | With plugin[156][157] | Yes[158][159] | No | Yes[160] | Yes[161] | Yes[162] | ||||||||||
RTL Support in UI Components | Yes | Yes | Yes | Depends on the plugin used | Yes[120] | Yes | Yes | No |
Framework | Internet Explorer | Mozilla Firefox | Safari | Opera | Chrome | Edge |
---|---|---|---|---|---|---|
AngularJS (1.3) | 8+ (9+) | 4+ | 5+ | 11+ | 30+ | |
Apache Royale | 9 (Edge --> 10) | 21 | 6 | 15 | 23 | |
Dojo | 6+ | 3+[163] | 4[163] | 10.50+[163] | 3[163] | |
Ember.js | 6+ | 3+ | 4+ | 10.6+ | 14+ | |
Enyo | 8+[164] | >4[164] | >5[164] | >10[164] | ||
Ext JS | 6+ | 3.6+ | 4+ | 11+ | 10+[165] | |
Google Web Toolkit | 8+ | 1+ | 5+ | 9+ | 1+ | |
jQuery (3.x) | 6+ (9+)[166] | 2+[166] | 3+[166] | 9+[166] | 1+[166] | |
jQWidgets | 7+[167] | 2+[167] | 3+[167] | 9+[167] | 1+[167] | |
MooTools | 6+ | 2+ | 3+ | 9+ | 1+ | |
Prototype & script. aculo.us[10] | 6+ | 1.5+ | 2.0.4+ | 9.25+ | 1+ (starting with 1.6.1RC3) | |
qooxdoo | 6+ | 2+ | 3+ | 9+ | 2+ | |
SproutCore | 6+ | 3+ | 4+ | 9+ | 1+ | |
Svelte | 21+ | 6+ | 15+ | 23+ | 12+ | |
Vue | 10+ | 21+ | 6+ | 15+ | 23+ | 12+ |
Wakanda | 9+ | 4+ | 5+ | 11+ | ||
ZK | 6+ | 2.0+ | 3+ | 9+ | 2+ | |
Webix | 8+[168] | 3+[168] | 4+[168] | 9+[168] | 1+[168] |
The content is sourced from: https://handwiki.org/wiki/Software:Comparison_of_JavaScript_frameworks