This is a comparison of web frameworks for front-end web development that are heavily reliant on JavaScript code for their behavior.
Framework | Version compared | Size | License | Source language |
---|---|---|---|---|
Angular | 14.0.4 29 June 2022 |
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 |
Ext JS | 7.3 15 Sept, 2020 |
84–502 kB | GPL & Commercial[3] | JavaScript |
Google Web Toolkit | 2.10.0 June 2022 |
Variable | Apache | Java |
jQuery (library) | 3.6.0 3 Mar 2021 |
70.7KB (slim, minified), 87.4KB (minified),[4] 282 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 |
Prototype & script. aculo.us[9] | 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 |
React | 18.2.0 14 June 2022 |
react.production.min.js 6.41KB react-dom.production.min.js 92.4KB Total: 98.81KB |
MIT | JavaScript / TypeScript |
SAP OpenUI5 | 1.102.1 15 Jun 2022 |
Variable, starting at 213 kB (gzipped) | Apache 2[10] | JavaScript |
SolidJS | 1.7.0 30 Mar 2023 |
7.9 kB (gzipped). | MIT | JavaScript / TypeScript |
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 / TypeScript |
Wakanda | 9 14 Nov 2014 |
Variable | GPL3 (framework), AGPL (server) & Commercial[12] | JavaScript + HTML + CSS |
Webix | 4.1 November 2016 |
188 kB (gzipped) | GPL & Commercial[13] | JavaScript |
ZK | 8.0.1 19 Jan 2016 |
Variable | LGPL & GPL & ZOL[14] | XML + Java (JavaScript optional) |
Angular | AngularJS | Apache Royale | Cash | Dojo | Ember.js | Enyo | Ext JS | Google Web Toolkit | jQuery | jQWidgets | MooTools | OpenUI5 | Prototype & script. aculo.us[9] | qooxdoo | React | SproutCore | Svelte | Vue | Wakanda | ZK | Webix | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Feature detection[15] | Yes | Yes[16] | Yes | Yes[17] | No[18][19] | Yes[20] | Yes | Yes[21] | No[22] | Yes | Yes | Partial | No | Yes | ||||||||
DOM wrapped[23] | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | No[24] | No[25][26] | Yes | No | Yes | Yes | Yes | |||||||
XMLHttpRequest data retrieval |
Yes | Yes | No | Yes[27] | Yes | Yes | Yes | Yes | Yes[28] | Yes[29] | Yes | Yes | Yes | Yes | Yes | Yes | ||||||
WebSocket | Yes[27] | Yes | Yes | Yes | Yes | No | Yes[29] | Yes[30] | Yes | Yes | Via Plugin | Yes | Yes[31] | |||||||||
Server push data retrieval | Yes[32] | Yes[33] | Yes[34] | Yes[32] | No | Via Plugin | Yes[35] | Yes | ||||||||||||||
Other data retrieval | Yes: XML, HTML, CSV, ATOM, AMF, JSON | Yes: XML, HTML, CSV, ATOM[36] | Yes: XML, SOAP, AMF, Ext.Direct | Yes: RPC, RequestFactory | Yes: XML, HTML | Yes: XML, JSON, CSV, TSV[28] | Yes: XML, HTML | Yes: JSON-RPC, Wakanda REST | Yes: XML, HTML, CS, JSON, JSArray, CSV | |||||||||||||
Drag and drop | Yes | Yes[37] | Yes | With plugin[38] | With plugins[39] | Yes[40] | Yes[41] | Yes[42] | Yes | Yes | Yes | Yes | Yes | Yes[43] | ||||||||
Simple visual effects | Yes | Yes | Yes | Yes[44] | Yes | Yes | Yes | Yes | Yes | Yes[45] | Yes | Yes | Yes | Yes[46] | Yes | Yes | Yes | |||||
Animation / advanced visual effects |
Yes | Yes[47] | Yes[48] | Yes | Yes | Yes | Yes | Yes[49] | Yes | Yes | Yes[46] | Yes | Yes | Yes[50] | ||||||||
Back button support / history management |
Yes[51] | Yes | Yes[52] | Yes[53] | Yes | With plugins[54] | No | With plugin[55] | Yes | Yes | Yes | Yes | Yes | |||||||||
Input form widgets & validation | Yes | Yes | Yes[56] | Yes | Yes | Yes, Validation requires plugin[57] | With plugins[58] | Yes[59] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes[60][61] | ||||||
Angular | AngularJS | Apache Royale | Cash | Dojo | Ember.js | Enyo | ExtJS | Google Web Toolkit | jQuery | jQWidgets | MooTools | OpenUI5 | Prototype & script. aculo.us[9] | qooxdoo | React | SproutCore | Svelte | Vue | Wakanda | ZK | Webix | |
Grid | Yes | Yes[62] | Yes | Yes | With plugins[63] | Yes[64] | With plugin[65] | Yes | Yes | Yes | Yes[66] | Yes | Yes[67] | |||||||||
Hierarchical Tree | Yes | Yes[68] | Yes[69] | Yes[70] | Yes | With plugins[71] | Yes[72] | With plugins[73] | Yes | Yes[74] | Yes | Yes (Auto Form)[75] | Yes | Yes[76] | ||||||||
Rich text editor | No | Yes | Yes[77] | Yes[78] | Yes | With plugins[79] | Yes[80] | Yes[81] | Yes | Via plugin | Yes[82] | Yes | Yes[83] | |||||||||
Autocompletion tools | No | Yes[84] | Yes | Yes | Yes[85] | Yes[86] | With plugin[87] | Yes | With plugins | Yes[88] | Yes | Yes | ||||||||||
HTML generation tools | No | Yes[89] | Yes | Yes | Yes | Yes[80] | Yes[90] | Yes | Yes | Yes | No | Yes | Yes | |||||||||
Widgets themeable / skinnable | Yes | Yes[91] | Yes | Yes[92] | Yes[93] | Yes[94] | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||
GUI resizable panels and modal dialogs | Yes | Yes | Yes | Yes[95] | Yes | With plugins | Yes[96] | Yes[97] | Yes | Yes | Yes[98] | Yes[99] | Yes | |||||||||
GUI page layout | Yes | Yes | Yes | With plugin[100] | Yes[101][102] | Yes[97] | Yes | Yes | Yes[103] | Yes[99] | Yes[104] | |||||||||||
Canvas support | Yes | Yes[105] | Yes | Yes | Yes | With plugin[106] | Yes[107] | Yes[108] | Yes | Yes | Yes[109] | Yes[110] | Yes | |||||||||
Mobile/tablet support (touch events) | Yes | Yes | Yes[111] | Yes | Yes | Yes | With plugin[112] | With plugin[113] | Yes[114] | With plugin[115] | Yes | Yes | Yes | Yes[116][117] | Yes[118] | Yes[119] | ||||||
Accessibility / graceful degradation[120] |
Yes | Yes[121] | No | Yes | Yes[17] | Yes[122] | Yes | Yes[123] | Yes | No[124] | Degradation: No Accessibility: Yes |
Yes | Yes[125] | |||||||||
ARIA compliant | Yes[121] | Yes[17] | Yes[126] | Yes[123] | Yes | No | Yes | Yes | Yes[127] | |||||||||||||
Developer tools, Visual design | Yes[128][129] | in progress[130] | Yes[131][132][133] | Yes | Yes[134][135] | Yes[136][137][138] | Yes[139][140] | Yes[141] | No | Yes[142] | Yes | Yes[143][144] | ||||||||||
Offline storage[145] | Yes | No[146] | Yes | Yes[147] | Via Google Gears[148] | With plugin[149] | Yes[150] | Yes | Yes | planned | Yes | Yes | ||||||||||
Cross-browser 2d Vector Graphics[151] | Yes[152] | Yes | With plugin[153] | Yes[107] | Yes[154] | No | Yes (via Raphael) | Yes[110] | Yes (via Raphael)[155] | |||||||||||||
Charting & Dashboard[156] | Yes | Yes[157] | Yes[158] | With plugin[159][160] | Yes[161][162] | No | Yes[163] | Yes[164] | Yes[165] | |||||||||||||
RTL Support in UI Components | Yes | Yes | Yes | Depends on the plugin used | Yes[123] | Yes | Yes | No | ||||||||||||||
Angular | AngularJS | Apache Royale | Cash | Dojo | Ember.js | Enyo | ExtJS | Google Web Toolkit | jQuery | jQWidgets | MooTools | OpenUI5 | Prototype & script. aculo.us[9] | qooxdoo | React | SproutCore | Svelte | Vue | Wakanda | ZK | Webix |
Framework | Internet Explorer | Mozilla Firefox | Safari | Opera | Chrome | Edge |
---|---|---|---|---|---|---|
Angular | Latest and extended support release | 2 most recent major versions | Latest and previous stable version | 2 most recent major versions | ||
AngularJS (1.3) | 8+ (9+) | 4+ | 5+ | 11+ | 30+ | |
Apache Royale | 9 (Edge --> 10) | 21 | 6 | 15 | 23 | |
Cash | 11+ | 21+ | 6+ | 15+ | 23+ | 12+ |
Dojo | 6+ | 3+[166] | 4[166] | 10.50+[166] | 3[166] | |
Ember.js | 6+ | 3+ | 4+ | 10.6+ | 14+ | |
Enyo | 8+[167] | >4[167] | >5[167] | >10[167] | ||
Ext JS | 8+ | 45+ | 11+ | 43+ | 64+[168] | |
Google Web Toolkit | 8+ | 1+ | 5+ | 9+ | 1+ | |
jQuery (3.x) | 6+ (9+)[169] | 2+[169] | 3+[169] | 9+[169] | 1+[169] | |
jQWidgets | 7+[170] | 2+[170] | 3+[170] | 9+[170] | 1+[170] | |
MooTools | 6+ | 2+ | 3+ | 9+ | 1+ | |
Prototype & script. aculo.us[9] | 6+ | 1.5+ | 2.0.4+ | 9.25+ | 1+ (starting with 1.6.1RC3) | |
qooxdoo | 6+ | 2+ | 3+ | 9+ | 2+ | |
React | ||||||
SAP OpenUI5[171] | 11+ | Latest Stable and ESR | Last 2 | Latest Version | ||
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+[172] | 3+[172] | 4+[172] | 9+[172] | 1+[172] |
Original source: https://en.wikipedia.org/wiki/Comparison of JavaScript-based web frameworks.
Read more |