Comparison of JavaScript-based web frameworks

For backend JavaScript web frameworks, see Comparison of server-side web frameworks § JavaScript.

This article needs to be updated. The reason given is: Does not reflect newer libraries or versions made available in the last several years. Please help update this article to reflect recent events or newly available information. (April 2017)

|

This is a comparison of web frameworks for front-end web development that are reliant on JavaScript code for their behavior.

## General information

[edit]

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]

Variable;
7.3–65 KiB (YUI Compressor),[7]
101 KiB (uncompressed)[8]

| 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 | 11.0
November 2024 | 188 kB (gzipped)  | GPL & Commercial[12] | JavaScript
ZK | 8.0.1
19 Jan 2016 | Variable  | LGPL & GPL & ZOL[13] | XML + Java (JavaScript optional)

## High-level framework comparison

[edit]

JavaScript-based web application frameworks, such as React and Vue, provide extensive capabilities but come with associated trade-offs. These frameworks often extend or enhance features available through native web technologies, such as routing, component-based development, and state management. While native web standards, including Web Components, modern JavaScript APIs like Fetch and ES Modules, and browser capabilities like Shadow DOM, have advanced significantly, frameworks remain widely used for their ability to enhance developer productivity, offer structured patterns for large-scale applications, simplify handling edge cases, and provide tools for performance optimization. [14][15][16]

Frameworks can introduce abstraction layers that may contribute to performance overhead, larger bundle sizes, and increased complexity. Modern frameworks, such as React 18 and Vue 3, address these challenges with features like concurrent rendering, tree-shaking, and selective hydration. While these advancements improve rendering efficiency and resource management, their benefits depend on the specific application and implementation context. Lightweight frameworks, such as Svelte and Preact, take different architectural approaches, with Svelte eliminating the virtual DOM entirely in favor of compiling components to efficient JavaScript code, and Preact offering a minimal, compatible alternative to React. Framework choice depends on an application’s requirements, including the team’s expertise, performance goals, and development priorities. [14][15][16]

A newer category of web frameworks, including enhance.dev, Astro, and Fresh, leverages native web standards while minimizing abstractions and development tooling. [17][18][19] These solutions emphasize progressive enhancement, server-side rendering, and optimizing performance. Astro renders static HTML by default while hydrating only interactive parts. Fresh focuses on server-side rendering with zero runtime overhead. Enhance.dev prioritizes progressive enhancement patterns using Web Components. While these tools reduce reliance on client-side JavaScript by shifting logic to build-time or server-side execution, they still use JavaScript where necessary for interactivity. This approach makes them particularly suitable for performance-critical and content-focused applications. [14][15][16]

## Features

[edit]

| 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[20] |  | Yes  |  | Yes[21] | Yes  |  | Yes[22] | No[23][24] | Yes[25] | Yes  | Yes[26] |  | No[27] | Yes  |  | Yes  |  |  | No  | Yes
DOM wrapped[28] |  | Yes  |  | Yes  | No  | Yes  | Yes  | Yes  | Yes  |  | No[29] |  | No[30][31] | Yes  |  | No  |  |  | Yes  | Yes
XMLHttpRequest
data retrieval  |  | Yes  | Yes  | Yes[32] |  | Yes  | Yes  | Yes  | Yes  | Yes[33] | Yes[34] | Yes  | Yes  | Yes  |  | Yes  |  |  |  | Yes
WebSocket |  |  |  | Yes[32] |  | Yes  | Yes  | Yes  | Yes  | No  | Yes[34] | Yes[35] | Yes  | Yes  |  | Via Plugin  |  |  |  | Yes[36]
Server push data retrieval  |  |  |  | Yes[37] |  |  | Yes[38] | Yes[39] | Yes[37] | No  |  |  |  |  |  | Via Plugin  |  |  | Yes[40] | Yes
Other data retrieval  |  |  | Yes: XML, HTML, CSV, ATOM, AMF, JSON  | Yes: XML, HTML, CSV, ATOM[41] |  |  | Yes: XML, SOAP, AMF, Ext.Direct  | Yes: RPC, RequestFactory  | Yes: XML, HTML  | Yes: XML, JSON, CSV, TSV[33] | Yes: XML, HTML  |  |  |  |  |  |  |  |  | Yes: XML, HTML, CS, JSON, JSArray, CSV
Drag and drop |  |  | Yes  | Yes[42] |  |  | Yes  | With plugin[43] | With plugins[44] | Yes[45] | Yes[46] | Yes[47] | Yes  | Yes  |  | Yes  |  |  | Yes  | Yes[48]
Simple visual effects  |  | Yes  | Yes  | Yes[49] |  | Yes  | Yes  | Yes  | Yes  | Yes  | Yes[50] | Yes  | Yes  | Yes  |  | Yes[51] | Yes[52] |  | Yes  | Yes
Animation /
advanced visual effects  |  | Yes  |  | Yes[53] |  | Yes[54] | Yes  | Yes  | Yes  | Yes  | Yes[55] |  | Yes  | Yes  |  | Yes[51] |  |  | Yes  | Yes[56]
Back button support /
history management  |  |  |  | Yes[57] | Yes  | Yes[58] | Yes[59] | Yes  | With plugins[60] | No  | With plugin[61] |  | Yes  | Yes  |  | Yes  |  |  | Yes  | Yes
Input form widgets & validation  |  | Yes  | Yes  | Yes[62] |  | Yes  | Yes  | Yes, Validation requires plugin[63] | With plugins[64] | Yes[65] | Yes  | Yes  | Yes  | Yes  |  | Yes  |  |  | Yes  | Yes[66][67]
| 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[68] |  |  | Yes  | Yes  | With plugins[69] | Yes[70] | With plugin[71] | Yes  |  | Yes  |  | Yes  |  |  | Yes  | Yes[72]
Hierarchical Tree |  |  | Yes  | Yes[73] |  | Yes[74] | Yes[75] | Yes  | With plugins[76] | Yes[77] | With plugins[78] | Yes  |  | Yes[79] |  | Yes  |  |  | Yes  | Yes[80]
Rich text editor |  | No  | Yes  | Yes[81] |  |  | Yes[82] | Yes  | With plugins[83] | Yes[84] | Yes[85] |  |  | Yes  |  | Via plugin  |  |  | Yes  | Yes[86]
Autocompletion tools  |  | No  |  | Yes[87] |  |  | Yes  | Yes  | Yes[88] | Yes[89] | With plugin[90] |  | Yes  |  |  | With plugins  |  |  | Yes  | Yes
HTML generation tools  |  | No  |  | Yes[91] |  |  | Yes  | Yes  | Yes  | Yes[84] | Yes[92] |  | Yes  | Yes  |  | Yes  |  |  | Yes  | Yes
Widgets themeable / skinnable  |  |  | Yes  | Yes[93] |  | Yes  | Yes[94] | Yes[95] | Yes[96] |  | Yes  | Yes  | Yes  |  |  | Yes  |  |  | Yes  | Yes
GUI resizable panels and modal dialogs  |  |  | Yes  | Yes  |  | Yes  | Yes[97] | Yes  | With plugins  | Yes[98] | Yes[99] |  |  | Yes  |  | Yes  |  |  | Yes[100] | Yes
GUI page layout  |  |  |  | Yes  |  |  | Yes  | Yes  | With plugin[101] | Yes[102][103] | Yes[99] |  |  | Yes  |  | Yes  |  |  | Yes[100] | Yes[104]
Canvas support  |  |  | Yes  | Yes[105] |  | Yes  | Yes  | Yes  | With plugin[106] | Yes[107] | Yes[108] |  |  | Yes  |  | Yes  |  |  | Yes[109] | Yes
Mobile/tablet support (touch events)  |  | Yes  | Yes  | Yes[110] | Yes  | Yes  | Yes  | With plugin[111] | With plugin[112] | Yes[113] | With plugin[114] | Yes  |  | Yes  |  | Yes  |  |  | Yes[115] | Yes[116]
Accessibility /
graceful degradation[117] |  | Yes  |  | Yes[118] | No  | Yes  | Yes[22] | Yes[119] | Yes  | Yes[120] | Yes  |  |  | No[121] |  | Degradation: No
Accessibility: Yes  |  |  | Yes  | Yes[122]
ARIA compliant  |  |  |  | Yes[118] |  |  | Yes[22] |  | Yes[123] | Yes[120] |  | Yes  |  | No  |  | Yes  | Yes[124] |  | Yes  | Yes[125]
Developer tools, Visual design  |  |  |  | Yes[126][127] |  | in progress[128] | Yes[129][130][131] | Yes  | Yes[132][133] | Yes[134][135][136] | Yes[137][138] |  |  | Yes[139] |  | No  |  |  | Yes  | Yes[140][141]
Offline storage[142] |  |  | Yes  | No[143] |  | Yes  | Yes[144] | Via Google Gears[145] | With plugin[146] | Yes[147] |  |  |  | Yes  |  | Yes  |  |  | Yes  | Yes
Cross-browser 2d Vector Graphics[148] |  |  |  | Yes[149] |  |  | Yes  |  | With plugin[150] | Yes[107] | Yes[151] |  |  |  |  | No  |  |  | Yes[109] | Yes (via Raphael)[152]
Charting & Dashboard[153] |  |  | Yes  | Yes[154] |  |  | Yes[155] |  | With plugin[156][157] | Yes[158][159] |  |  |  |  |  | No  |  |  | Yes[160] | Yes[161]
RTL Support in UI Components  |  |  | Yes  | Yes  |  |  | Yes  |  | Depends on the plugin used  | Yes[120] |  | 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

## Browser support

[edit]

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+[162] | 4[162] | 10.50+[162] | 3[162] |
Ember.js | 6+  | 3+  | 4+  | 10.6+  | 14+  |
Enyo | 8+[163] | >4[163] | >5[163] |  | >10[163] |
Ext JS | 8+  | 45+  | 11+  | 43+  | 64+[164] |
Google Web Toolkit | 8+  | 1+  | 5+  | 9+  | 1+  |
jQuery (3.x)  | 6+ (9+)[165] | 2+[165] | 3+[165] | 9+[165] | 1+[165] |
jQWidgets | 7+[166] | 2+[166] | 3+[166] | 9+[166] | 1+[166] |
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[167] | 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 | 11+[168] | 93+[168] | 5+[168] | 95+[168] | 95+[168] | 95+[168]

## Notes

[edit]

1. ^ Dojo Base Archived 28 November 2009 at the Wayback Machine
2. ^ "About Enyo JS". enyojs.com. Retrieved 23 November 2014.
3. ^ "Ext JS 7.3.0 Licensing". sencha.com. Archived from the original on 9 January 2011. Retrieved 5 November 2020.
4. ^ a b "jQuery Core - All Versions". jQuery. Archived from the original on 9 August 2013. Retrieved 22 March 2021.
5. ^ "License - Javascript, HTML5, jQuery Widgets". jqwidgets.com. Retrieved 17 December 2015.
6. ^ "MooTools Core Builder". mootools.net.
7. ^ "MooTools More Builder". mootools.net.
8. ^ "MooTools Core". mootools.net.
9. ^ a b c d e script.aculo.us is an add-on to Prototype.
10. ^ "OpenUI5". GitHub. Retrieved 22 December 2020.
11. ^ a b "vue CDN files". cdn.jsdelivr. JSDelivr. Retrieved 23 April 2019.
12. ^ "JavaScript UI Components Library Webix - Licenses". webix.com. Retrieved 1 June 2022.
13. ^ "ZK - Leading Enterprise Java Web Framework". ZK - Java Web Framework. Retrieved 1 June 2022.
14. ^ a b c Uzayr, Sufyan bin; Cloud, Nicholas; Ambler, Tim (November 2019). JavaScript Frameworks for Modern Web Development: The Essential Frameworks, Libraries, and Tools to Learn Right Now. Apress. ISBN 978-1484249949.
15. ^ a b c Rojas, Carlos (13 November 2020). Building Native Web Components: Front-End Development with Polymer and Vue.js. Apress. ISBN 978-1484259047.
16. ^ a b c Scherer, Justin (28 February 2020). Hands-On JavaScript High Performance: Build faster web apps using Node.js, Svelte.js, and WebAssembly. Packt Publishing, Limited. ISBN 978-1838821098.
17. ^ "Enhance". GitHub.
18. ^ "Astro framework". GitHub.
19. ^ "Fresh". GitHub.
20. ^ Feature detection is preferred by many to browser sniffing to support future browsers: Browser Detecting (and what to do Instead), Feature Detection: State of the Art Browser Scripting, Browser Feature Detection Archived 10 July 2017 at the Wayback Machine
21. ^ "dojo/has – The Dojo Toolkit - Reference Guide". dojotoolkit.org.
22. ^ a b c "Ext JS 7.3.0 - Sencha Docs". docs.sencha.com.
23. ^ "Google Code Archive - Long-term storage for Google Code Project Hosting". code.google.com.
24. ^ "Google Groups". google.com. Archived from the original on 5 May 2013.
25. ^ jquery.org, jQuery Foundation - (14 January 2009). "jQuery 1.3 Released - Official jQuery Blog". docs.jquery.com.
26. ^ "MooTools Blog: MooTools Core 1.3 Stable and MooTools More 1.3RC". mootools.net.
27. ^ Feature detection all the way Archived 21 April 2009 at the Wayback Machine
28. ^ kangax (5 April 2010). "What's wrong with extending the DOM". Retrieved 6 April 2010.
29. ^ "MooTools Core Documentation". mootools.net.
30. ^ "Prototype API Documentation - Element (Deprecated URL)". prototypejs.org.
31. ^ "Prototype 2.0 will not extend the DOM - Ajaxian". ajaxian.com. 17 November 2015.
32. ^ a b AJAX and Dojo Archived 9 February 2010 at the Wayback Machine
33. ^ a b "jQuery Data Adapter". jqwidgets.com. Retrieved 17 December 2015.
34. ^ a b "MooTools Core Documentation". mootools.net.
35. ^ Schäfer, Holger (25 January 2014). "OpenUI5 Developer: Simple chat server example using UI5 WebSocket".
36. ^ "WebSockets (Faye) of Guides, Interacting with the Server Side Webix Docs". docs.webix.com. Archived from the original on 3 August 2018. Retrieved 25 November 2016.
37. ^ a b "CometD JavaScript | cometd.org". Archived from the original on 19 September 2010. Retrieved 7 October 2010.
38. ^ "kembuco/extjs-cometd". GitHub. 8 July 2020.
39. ^ "Google Code Archive - Long-term storage for Google Code Project Hosting". code.google.com.
40. ^ "ZK - Leading Enterprise Ajax Solutions".
41. ^ "Dojox/Data - DojoCampus - Docs". Archived from the original on 17 March 2009. Retrieved 23 April 2009.
42. ^ "Dojo/DND - DojoCampus - Docs". Archived from the original on 6 April 2009. Retrieved 23 April 2009.
43. ^ "fredsa/gwt-dnd". GitHub. 8 February 2022.
44. ^ js.foundation, JS Foundation -. "Draggable - jQuery UI". jqueryui.com.
45. ^ "jQuery DragDrop Plugin". jqwidgets.com. Retrieved 17 December 2015.
46. ^ "MooTools More Documentation". mootools.net.
47. ^ "OpenUI5 SDK - Demo Kit v2.0". openui5.hana.ondemand.com.
48. ^ "Drag-and-Drop Support of UI Widgets, Tree Webix Docs". docs.webix.com.
49. ^ "Dojo/Fx - DojoCampus - Docs". Archived from the original on 16 April 2009. Retrieved 23 April 2009.
50. ^ "MooTools Core Documentation". mootools.net.
51. ^ a b "Showcase". showcase.sproutcore.com.
52. ^ "transition: • Docs • Svelte".
53. ^ "Dojox/Fx - DojoCampus - Docs". Archived from the original on 4 March 2009. Retrieved 23 April 2009.
54. ^ "Enyo API Reference". enyojs.com. Archived from the original on 20 December 2013. Retrieved 1 August 2012.
55. ^ "MooTools Core Documentation". mootools.net.
56. ^ "Animation of Guides, Styling and Animation Webix Docs". docs.webix.com.
57. ^ "Dojo/Back - DojoCampus - Docs". Archived from the original on 2 April 2009. Retrieved 23 April 2009.
58. ^ "Enyo API Viewer". enyojs.com. Archived from the original on 24 March 2016. Retrieved 24 April 2014.
59. ^ "Since v2.2". Archived from the original on 29 December 2010. Retrieved 11 September 2010.
60. ^ Asual. "Asual". asual.com.
61. ^ "cpojer/mootools-history". GitHub. 10 October 2021.
62. ^ "Dijit/Form - DojoCampus - Docs". Archived from the original on 3 April 2009. Retrieved 23 April 2009.
63. ^ "Input Validation with GWT". Archived from the original on 20 July 2011. Retrieved 11 October 2018.
64. ^ js.foundation, JS Foundation -. "jQuery Plugin Registry". plugins.jquery.com.
65. ^ "jQuery Validator". jqwidgets.com. Retrieved 17 December 2015.
66. ^ "Data Validation of Guides, Managing Data in a Component Webix Docs". docs.webix.com.
67. ^ "Formatted Text Inputs of UI Controls, Text Webix Docs". docs.webix.com.
68. ^ "Dojox/Grid - DojoCampus - Docs". Archived from the original on 23 April 2009. Retrieved 23 April 2009.
69. ^ "jqGrid ShieldUI jQuery Grid".
70. ^ "jQuery Grid, JavaScript Grid, jqxGrid, DataGrid, jQuery DataGrid". jqwidgets.com. Retrieved 17 December 2015.
71. ^ "JxLib Library". Archived from the original on 18 February 2009. Retrieved 18 November 2008. or "sortable table plugin". phatfusion. Archived from the original on 22 April 2009. or "DrasticGrid". Archived from the original on 15 April 2017. Retrieved 22 May 2009.
72. ^ "JavaScript Table (Grid) Widget – Webix HTML DataTable". webix.com.
73. ^ "Dijit/Tree - DojoCampus - Docs". Archived from the original on 9 May 2009. Retrieved 23 April 2009.
74. ^ "Enyo JavaScript Framework - Example - DiscoverSDK Code Examples".
75. ^ "Sencha - Ext JS 7.3.0 Examples". sencha.com. Archived from the original on 12 May 2014. Retrieved 5 August 2012.
76. ^ "treeview". Archived from the original on 9 October 2008., "file_tree_viewer". Archived from the original on 18 July 2008.
77. ^ "jQuery Tree". jqwidgets.com. Retrieved 17 December 2015.
78. ^ "mootree". sites.google.com. Archived from the original on 11 September 2016. Retrieved 18 November 2008.
79. ^ "Demo browser". Archived from the original on 2 April 2016. Retrieved 3 October 2008.
80. ^ "Tree Table or TreeGrid - Webix HTML5 library with jQuery integration". webix.com.
81. ^ "Dijit/Editor - DojoCampus - Docs". Archived from the original on 16 April 2009. Retrieved 23 April 2009.
82. ^ "HTML Editor". sencha.com.
83. ^ markitup, jwysiwyg, htmlbox Archived 7 July 2009 at the Wayback Machine, WYMeditor Archived 3 June 2008 at the Wayback Machine
84. ^ a b "jQuery Editor". jqwidgets.com. Retrieved 17 December 2015.
85. ^ "MooEditable". cheeaun.github.com. Archived from the original on 1 March 2013. Retrieved 19 September 2017.
86. ^ "RichText - The RichText control documentation: overview and initialization. Webix Docs". docs.webix.com.
87. ^ "Dijit/Form/ComboBox - DojoCampus - Docs". Archived from the original on 18 April 2009. Retrieved 23 April 2009.
88. ^ js.foundation, JS Foundation -. "Autocomplete - jQuery UI". jqueryui.com.
89. ^ "jQuery Input, jQuery Auto Complete". jqwidgets.com. Retrieved 17 December 2015.
90. ^ "AutoCompleter » digitarald:Harald Kirschner". digitarald.de. Archived from the original on 23 October 2017. Retrieved 25 April 2008.
91. ^ As of Dojo 1.3, the NodeList.addContent() api can be used to create content for example: dojo.query(".note").addContent("h4 NOTE: h4", "before");
92. ^ MooTools Elements Archived 5 September 2008 at the Wayback Machine
93. ^ UAB, Dinamenta. "JavaScript UI Library, Ajax Components & HTML5 Framework - Online Skin Builder". dhtmlx.com.
94. ^ "Blog". 26 February 2015.
95. ^ "Skinning GWT controls with style sheets". Archived from the original on 12 September 2008. Retrieved 17 March 2015.
96. ^ js.foundation, JS Foundation -. "ThemeRoller - jQuery UI". jqueryui.com.
97. ^ "Best JavaScript Frameworks". 16 September 2019.
98. ^ "jQuery Window". jqwidgets.com. Retrieved 17 December 2015.
99. ^ a b Using MochaUI Library or JxLib Archived 18 February 2009 at the Library of Congress Web Archives
100. ^ a b "A Sip of WYSIWYG Development with ZK Studio". Archived from the original on 12 October 2008. Retrieved 27 April 2011.
101. ^ "Google Code Archive - Long-term storage for Google Code Project Hosting". code.google.com.
102. ^ "jQuery Docking Layout". jqwidgets.com. Retrieved 17 December 2015.
103. ^ "jQuery Splitter". jqwidgets.com. Retrieved 17 December 2015.
104. ^ "JavaScript layout library Webix for Web Apps Developers". webix.com.
105. ^ dojo.gfx Archived 9 March 2009 at the Wayback Machine
106. ^ "jCanvas". jCanvas.
107. ^ a b "jQuery Draw Plugin". jqwidgets.com. Retrieved 17 December 2015.
108. ^ "Mocha UI – MooTools Canvas UI class - Ajaxian". ajaxian.com. 17 November 2015.
109. ^ a b "ZK - Leading Enterprise Ajax Solutions".
110. ^ "Dojo's new Mobile App Project". 13 June 2010.
111. ^ "Google Code Archive - Long-term storage for Google Code Project Hosting". code.google.com.
112. ^ "jQT". jQT.
113. ^ "jQWidgets Mobile Demos". jqwidgets.com. Retrieved 17 December 2015.
114. ^ "cpojer/mootools-mobile". GitHub. 10 October 2021.
115. ^ "ZK - Leading Enterprise Java Web Framework". ZK - Java Web Framework.
116. ^ [1] Webix mobile/tablet support
117. ^ All JavaScript frameworks can be written in an accessible way with graceful degradation, frameworks seen here which imply out-of-the-box accessibility have made a special effort to document best practices for their particular framework.
118. ^ a b "Quickstart/WritingWidgets/A11y - DojoCampus - Docs". Archived from the original on 6 April 2009. Retrieved 23 April 2009.
119. ^ "Built-in Accessibility in GWT 1.5 Applications".
120. ^ a b c "jQWidgets Accessibility Overview". jqwidgets.com. Retrieved 17 December 2015.
121. ^ Qooxdoo's "Extreme JavaScript" paradigm Archived 12 October 2008 at the Wayback Machine
122. ^ "Accessibility of Guides, Designing User Interface Webix Docs". docs.webix.com.
123. ^ js.foundation, JS Foundation -. "About jQuery UI - jQuery UI". jqueryui.com.
124. ^ "Compiler Warnings • Docs • Svelte".
125. ^ "Accessibility of Guides, Designing User Interface Webix Docs". docs.webix.com.
126. ^ Wavemaker
127. ^ Aptana Studio
128. ^ "HP webOS Developer Blog". Archived from the original on 9 July 2012. Retrieved 5 August 2012.
129. ^ "Sencha Architect". 25 March 2015.
130. ^ "Blog". 26 February 2015.
131. ^ "Sencha Ext JS". 5 November 2020.
132. ^ troy.giunipero@sun.com, lloyd.dunn @ sun.com. "Using jQuery to Enhance the Appearance and Usability of a Web Page - NetBeans Tutorial". netbeans.org. Archived from the original on 12 July 2017. Retrieved 9 February 2010.
133. ^ js.foundation, JS Foundation -. "jQuery API Documentation". api.jquery.com.
134. ^ "Theme Builder for jQWidgets". jqwidgets.com. Retrieved 17 December 2015.
135. ^ "ßeta - jQWidgets Charts Studio". jqwidgets.com. Retrieved 17 December 2015.
136. ^ "JSEditor". jqwidgets.com. Retrieved 17 December 2015.
137. ^ "MooTools-core Documentation". Archived from the original on 2 October 2009. Retrieved 14 October 2009.
138. ^ "MooTools-more Document". Archived from the original on 4 October 2009. Retrieved 14 October 2009.
139. ^ Custom build, JS Linker, API generation, Unit test framework, etc. Archived 25 July 2008 at the Wayback Machine
140. ^ "Webix Skin Builder". webix.com.
141. ^ "Formbuilder". webix.com.
142. ^ JavaScript frameworks currently only have the ability to support offline storage by taking advantage of pre-installed browser extensions such as Google Gears. If a user does not have one of these supported extensions installed in their browser already then offline support will be unavailable to the framework. JavaScript framework developers interested in implementing Gears may want to start with the Gears Getting Started Guide.
143. ^ o.DojoToolkit.Org/offline Archived 10 February 2010 at the Wayback Machine says "Dojo Offline is no longer supported after Dojo 1.3"
144. ^ "Ext JS 7.3.0 - Sencha Docs". docs.sencha.com.
145. ^ "googlearchive/gwt-google-apis". GitHub. 24 April 2021.
146. ^ "jQuery HTML5 Storage plugin - daveschindler". sites.google.com. Archived from the original on 4 March 2017. Retrieved 15 October 2012.
147. ^ "This example shows how to Save/Load the Grid's state". jqwidgets.com. Retrieved 17 December 2015.
148. ^ Some JavaScript libraries provide 2d graphics primitives that can be used for cross-browser vector graphics. These libraries rely on underlying technologies in the browser or plugins such as Canvas, SVG, VML, Flash, and Silverlight to do the actual rendering, but help isolate application and widget code from the rendering engine API differences
149. ^ "Dojox/GFX - DojoCampus - Docs". Archived from the original on 9 March 2009. Retrieved 23 April 2009.
150. ^ jQuery SVG plugin
151. ^ "kamicane/art". GitHub. 26 February 2021.
152. ^ "Chart Integration - Third-party charts integration guide. Webix Docs". docs.webix.com.
153. ^ Some JavaScript libraries include widgets for Charts, Gauges, and other data visualizations.
154. ^ "Dojox/Charting - DojoCampus - Docs". Archived from the original on 3 March 2009. Retrieved 23 April 2009.
155. ^ Chart API
156. ^ "Flot: Attractive JavaScript plotting for jQuery". flotcharts.org.
157. ^ jQuery Visualize Plugin Archived 9 July 2009 at the Wayback Machine
158. ^ "jqxChart - javascript chart widget powered by jQuery, HTML5, SVG". jqwidgets.com. Retrieved 17 December 2015.
159. ^ "jQuery Gauge". jqwidgets.com. Retrieved 17 December 2015.
160. ^ "ZK Live Demo - Other Charts". Live Demo - ZK Web Application Framework.
161. ^ "JavaScript Charts UI Widget - Webix JS Charts". webix.com.
162. ^ a b c d "Releasenotes/1.4 - DojoCampus - Docs". Archived from the original on 8 February 2010. Retrieved 17 December 2009.
163. ^ a b c d "Supported Platforms | Enyo JS". Archived from the original on 23 July 2012. Retrieved 26 July 2012.
164. ^ "Sencha Ext JS". 5 November 2020.
165. ^ a b c d e js.foundation, JS Foundation -. "Browser Support - jQuery". docs.jquery.com.
166. ^ a b c d e "jQuery UI Widgets - Help Documentation". jqwidgets.com. Retrieved 17 December 2015.
167. ^ "OpenUI5SDK - Demo Kit". openui5.hana.ondemand.com. Retrieved 22 March 2021.
168. ^ a b c d e f "Compatibility Webix Docs". docs.webix.com.

* v
* t
* e

Web frameworks

* Comparison

.NET|

* ASP.NET
* Core
* AJAX
* Dynamic Data
* MVC
* Razor
* Web Forms
* Blazor
* DNN
* BFC
* MonoRail
* Umbraco
* WebSharper

C++|

* CppCMS
* Drogon
* Wt

ColdFusion|

* ColdBox Platform

Common Lisp|

* CL-HTTP

Haskell|

* Servant
* Snap
* Yesod

Java|

* AppFuse
* Grails
* GWT
* ICEfaces
* JHipster
* JWt
* Mojarra
* Play
* Remote Application Platform
* Seam
* Sling
* Spring
* Stripes
* Struts
* Tapestry
* Vaadin
* Vert.x
* Wicket
* WaveMaker
* ZK

JavaScript|

* Angular/AngularJS
* Backbone.js
* Closure
* Dojo Toolkit
* Ember.js
* Express.js
* Ext JS
* Fastify
* htmx
* jQuery
* Knockout.js
* Meteor
* MooTools
* NestJS
* Next.js
* Nuxt.js
* Node.js
* OpenUI5
* Prototype
* React
* Remix
* Sencha Touch
* SproutCore
* Svelte
* Vue.js

Perl|

* Catalyst
* Dancer
* Maypole
* Mojolicious
* WebGUI

PHP|

* CakePHP
* CodeIgniter
* Drupal
* eZ Publish
* Fat-Free
* Flow
* FuelPHP
* Grav
* Gyroscope
* Horde
* Joomla!
* Laminas
* Laravel
* li₃
* Midgard
* MODX
* Phalcon
* PHP-Fusion
* PHP-Nuke
* Pop PHP
* PRADO
* ProcessWire
* Qcodo
* Silverstripe
* Symfony
* TYPO3
* WordPress
* XOOPS
* Yii

Python|

* BlueBream
* CherryPy
* CubicWeb
* Django
* FastAPI
* Flask
* Grok
* Nevow
* Pyjs
* Pylons
* Pyramid
* Quixote
* Tornado
* TurboGears
* web2py
* Zope 2
* more...

Ruby|

* Merb
* Padrino
* Ruby on Rails
* Sinatra

Rust|

* Rocket

Scala|

* Lift
* Play
* Scalatra

Smalltalk|

* AIDA/Web
* Seaside

Other languages|

* Application Express (PL/SQL)
* Grails (Groovy)
* OpenACS (Tcl)
* Phoenix (Elixir)
* Shiny (web framework) (R)
* SproutCore (JavaScript-Ruby)
* Yaws (Erlang)

* v
* t
* e

ECMAScript

Dialects|

* ActionScript
* Haxe
* Caja
* JavaScript
* engines
* asm.js
* JScript
* JScript .NET
* QtScript
* TypeScript
* WMLScript

Engines
(list)|

* Carakan
* Futhark
* InScript
* JavaScriptCore
* JScript
* KJS
* Linear B
* QtScript
* Rhino
* SpiderMonkey
* TraceMonkey
* JägerMonkey
* Tamarin
* V8
* ChakraCore
* Chakra
* JScript .NET
* Nashorn

Frameworks|

| Client-side|

* Dojo
* Echo
* Ext JS
* Google Web Toolkit
* jQuery
* Lively Kernel
* midori
* MochiKit
* MooTools
* Prototype
* Pyjs
* qooxdoo
*   * SproutCore
* Spry
* Wakanda Framework

|

Server-side|

* Node.js
* Deno
* Bun
* Jaxer
* AppJet
* WakandaDB

Multiple|

* Cappuccino

Libraries|

* Backbone.js
* SWFObject
* Underscore.js

People|

* Brendan Eich
* Douglas Crockford
* John Resig
* Scott Isaacs

Other|

* DHTML
* Ecma International
* JSDoc
* JSGI
* JSHint
* JSLint
* JSON
* JSSS
* Sputnik
* SunSpider
* Asynchronous module definition
* CommonJS

Lists: JavaScript libraries • Ajax frameworks • Server-side JavaScript
Comparison: JavaScript web frameworks

* v
* t
* e

JavaScript

Code analysis|

* ESLint
* JSHint
* JSLint

Supersets|

* ArkTS
* JS++
* TypeScript

Transpilers|

* AtScript
* Babel
* ClojureScript
* CoffeeScript
* Dart
* Elm
* Emscripten
* Google Closure Compiler
* Google Web Toolkit
* Haxe
* LiveScript
* Morfik
* Nim
* Opa
* PureScript
* Reason
* WebSharper

Concepts|

* JavaScript library
* JavaScript syntax
* JavaScript stack

Debuggers|

* Chrome DevTools
* Firefox Inspector
* Komodo IDE
* Microsoft Edge DevTools
* Opera DevTools
* Safari Web Inspector

Documentation generators|

* JSDoc

Editors (comparison)|

* Ace
* Cloud9 IDE
* Atom
* CodeMirror
* Brackets
* Light Table
* PhpStorm
* Orion
* Visual Studio
* Visual Studio Express
* Visual Studio Code
* Visual Studio Team Services
* Vim

Engines|

* List of ECMAScript engines

Frameworks|

* Comparison of JavaScript frameworks
* List of JavaScript libraries

Related technologies|

* Ajax
* AssemblyScript
* asm.js
* Cascading Style Sheets
* Document Object Model
* HTML
* HTML5
* JSON
* WebAssembly
* WebAuthn

Package managers|

* npm
* pnpm
* yarn

Module bundlers|

* Webpack
* Vite
* esbuild

Server-side|

* Active Server Pages
* Bun
* CommonJS
* Deno
* JSGI
* Node.js

Unit testing frameworks (list)|

* Jasmine
* Mocha
* QUnit

People|

* Douglas Crockford
* Ryan Dahl
* Brendan Eich
* John Resig
* Jesse James Garrett

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template