This article needs to be updated. The reason given is: Does not reflect newer libraries or versions made available in the last several years.(April 2017) |
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 |
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 |
Webix | 4.1 November 2016 |
188 kB (gzipped) | GPL & Commercial[12] | JavaScript |
ZK | 8.0.1 19 Jan 2016 |
Variable | LGPL & GPL & ZOL[13] | XML + Java (JavaScript optional) |
Angular | AngularJS | Apache Royale | Dojo | Ember.js | Enyo | Ext JS | Google Web Toolkit | jQuery | jQWidgets | MooTools | OpenUI5 | Prototype & script. aculo.us[9] | qooxdoo | React | SproutCore | Svelte | Vue | ZK | Webix | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Feature detection[14] | Yes | Yes[15] | Yes | Yes[16] | No[17][18] | Yes[19] | Yes | Yes[20] | No[21] | Yes | Yes | No | Yes | |||||||
DOM wrapped[22] | Yes | Yes | No | Yes | Yes | Yes | Yes | No[23] | No[24][25] | Yes | No | Yes | Yes | |||||||
XMLHttpRequest data retrieval |
Yes | Yes | Yes[26] | Yes | Yes | Yes | Yes | Yes[27] | Yes[28] | Yes | Yes | Yes | Yes | Yes | ||||||
WebSocket | Yes[26] | Yes | Yes | Yes | Yes | No | Yes[28] | Yes[29] | Yes | Yes | Via Plugin | Yes[30] | ||||||||
Server push data retrieval | Yes[31] | Yes[32] | Yes[33] | Yes[31] | No | Via Plugin | Yes[34] | Yes | ||||||||||||
Other data retrieval | Yes: XML, HTML, CSV, ATOM, AMF, JSON | Yes: XML, HTML, CSV, ATOM[35] | Yes: XML, SOAP, AMF, Ext.Direct | Yes: RPC, RequestFactory | Yes: XML, HTML | Yes: XML, JSON, CSV, TSV[27] | Yes: XML, HTML | Yes: XML, HTML, CS, JSON, JSArray, CSV | ||||||||||||
Drag and drop | Yes | Yes[36] | Yes | With plugin[37] | With plugins[38] | Yes[39] | Yes[40] | Yes[41] | Yes | Yes | Yes | Yes | Yes[42] | |||||||
Simple visual effects | Yes | Yes | Yes[43] | Yes | Yes | Yes | Yes | Yes | Yes[44] | Yes | Yes | Yes | Yes[45] | Yes | Yes | |||||
Animation / advanced visual effects |
Yes | Yes[46] | Yes[47] | Yes | Yes | Yes | Yes | Yes[48] | Yes | Yes | Yes[45] | Yes | Yes[49] | |||||||
Back button support / history management |
Yes[50] | Yes | Yes[51] | Yes[52] | Yes | With plugins[53] | No | With plugin[54] | Yes | Yes | Yes | Yes | Yes | |||||||
Input form widgets & validation | Yes | Yes | Yes[55] | Yes | Yes | Yes, Validation requires plugin[56] | With plugins[57] | Yes[58] | Yes | Yes | Yes | Yes | Yes | Yes | Yes[59][60] | |||||
Angular | AngularJS | Apache Royale | Dojo | Ember.js | Enyo | ExtJS | Google Web Toolkit | jQuery | jQWidgets | MooTools | OpenUI5 | Prototype & script. aculo.us[9] | qooxdoo | React | SproutCore | Svelte | Vue | ZK | Webix | |
Grid | Yes | Yes[61] | Yes | Yes | With plugins[62] | Yes[63] | With plugin[64] | Yes | Yes | Yes | Yes | Yes[65] | ||||||||
Hierarchical Tree | Yes | Yes[66] | Yes[67] | Yes[68] | Yes | With plugins[69] | Yes[70] | With plugins[71] | Yes | Yes[72] | Yes | Yes | Yes[73] | |||||||
Rich text editor | No | Yes | Yes[74] | Yes[75] | Yes | With plugins[76] | Yes[77] | Yes[78] | Yes | Via plugin | Yes | Yes[79] | ||||||||
Autocompletion tools | No | Yes[80] | Yes | Yes | Yes[81] | Yes[82] | With plugin[83] | Yes | With plugins | Yes | Yes | |||||||||
HTML generation tools | No | Yes[84] | Yes | Yes | Yes | Yes[77] | Yes[85] | Yes | Yes | Yes | Yes | Yes | ||||||||
Widgets themeable / skinnable | Yes | Yes[86] | Yes | Yes[87] | Yes[88] | Yes[89] | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||
GUI resizable panels and modal dialogs | Yes | Yes | Yes | Yes[90] | Yes | With plugins | Yes[91] | Yes[92] | Yes | Yes | Yes[93] | Yes | ||||||||
GUI page layout | Yes | Yes | Yes | With plugin[94] | Yes[95][96] | Yes[92] | Yes | Yes | Yes[93] | Yes[97] | ||||||||||
Canvas support | Yes | Yes[98] | Yes | Yes | Yes | With plugin[99] | Yes[100] | Yes[101] | Yes | Yes | Yes[102] | Yes | ||||||||
Mobile/tablet support (touch events) | Yes | Yes | Yes[103] | Yes | Yes | Yes | With plugin[104] | With plugin[105] | Yes[106] | With plugin[107] | Yes | Yes | Yes | Yes[108] | Yes[109] | |||||
Accessibility / graceful degradation[110] |
Yes | Yes[111] | No | Yes | Yes[16] | Yes[112] | Yes | Yes[113] | Yes | No[114] | Degradation: No Accessibility: Yes |
Yes | Yes[115] | |||||||
ARIA compliant | Yes[111] | Yes[16] | Yes[116] | Yes[113] | Yes | No | Yes | Yes | Yes[117] | |||||||||||
Developer tools, Visual design | Yes[118][119] | in progress[120] | Yes[121][122][123] | Yes | Yes[124][125] | Yes[126][127][128] | Yes[129][130] | Yes[131] | No | Yes | Yes[132][133] | |||||||||
Offline storage[134] | Yes | No[135] | Yes | Yes[136] | Via Google Gears[137] | With plugin[138] | Yes[139] | Yes | Yes | Yes | Yes | |||||||||
Cross-browser 2d Vector Graphics[140] | Yes[141] | Yes | With plugin[142] | Yes[100] | Yes[143] | No | Yes[102] | Yes (via Raphael)[144] | ||||||||||||
Charting & Dashboard[145] | Yes | Yes[146] | Yes[147] | With plugin[148][149] | Yes[150][151] | No | Yes[152] | Yes[153] | ||||||||||||
RTL Support in UI Components | Yes | Yes | Yes | Depends on the plugin used | Yes[113] | Yes | Yes | No | ||||||||||||
Angular | AngularJS | Apache Royale | Dojo | Ember.js | Enyo | ExtJS | Google Web Toolkit | jQuery | jQWidgets | MooTools | OpenUI5 | Prototype & script. aculo.us[9] | qooxdoo | React | SproutCore | Svelte | Vue | 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 | |
Dojo | 6+ | 3+[154] | 4[154] | 10.50+[154] | 3[154] | |
Ember.js | 6+ | 3+ | 4+ | 10.6+ | 14+ | |
Enyo | 8+[155] | >4[155] | >5[155] | >10[155] | ||
Ext JS | 8+ | 45+ | 11+ | 43+ | 64+[156] | |
Google Web Toolkit | 8+ | 1+ | 5+ | 9+ | 1+ | |
jQuery (3.x) | 6+ (9+)[157] | 2+[157] | 3+[157] | 9+[157] | 1+[157] | |
jQWidgets | 7+[158] | 2+[158] | 3+[158] | 9+[158] | 1+[158] | |
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[159] | 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+ |
ZK | 6+ | 2.0+ | 3+ | 9+ | 2+ | |
Webix | 8+[160] | 3+[160] | 4+[160] | 9+[160] | 1+[160] |