Software:Comparison of JavaScript-based web frameworks
| This software needs to be updated. The reason given is: Does not reflect newer libraries or versions made available in the last several years. Please update this software 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
This section may be confusing or unclear to readers. In particular, Size column redundantly refers to developer download but may be confused with runtime size. (January 2026) (Learn how and when to remove this template message) |
High-level framework comparison
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.[8][9][10]
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.[8][9][10]
A newer category of web frameworks, including enhance.dev, Astro, and Fresh, leverages native web standards while minimizing abstractions and development tooling.[11][12][13] 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.[8][9][10]
Features
| Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 [46] |
Yes | Yes | ||||
| Animation / advanced visual effects |
Yes | Yes [47] |
Yes [48] |
Yes | Yes | Yes | Yes | Yes [49] |
Yes | Yes | Yes [45] |
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 [60][61] | |||||
| Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | |
| Grid | Yes | Yes [62] |
Yes | Yes | With plugins [63] |
Yes [64] |
With plugin [65] |
Yes | Yes | Yes | Yes | Yes [66] | ||||||||
| Hierarchical Tree | Yes | Yes [67] |
Yes [68] |
Yes [69] |
Yes | With plugins [70] |
Yes [71] |
With plugins [72] |
Yes | Yes [73] |
Yes | Yes | Yes [74] | |||||||
| Rich text editor | No | Yes | Yes [75] |
Yes [76] |
Yes | With plugins [77] |
Yes [78] |
Yes [79] |
Yes | Via plugin | Yes | Yes [80] | ||||||||
| Autocompletion tools | No | Yes [81] |
Yes | Yes | Yes [82] |
Yes [83] |
With plugin [84] |
Yes | With plugins | Yes | Yes | |||||||||
| HTML generation tools | No | Yes [85] |
Yes | Yes | Yes | Yes [78] |
Yes [86] |
Yes | Yes | Yes | Yes | Yes | ||||||||
| Widgets themeable / skinnable | Yes | Yes [87] |
Yes | Yes [88] |
Yes [89] |
Yes [90] |
Yes | Yes | Yes | Yes | Yes | Yes | ||||||||
| GUI resizable panels and modal dialogs | Yes | Yes | Yes | Yes [91] |
Yes | With plugins | Yes [92] |
Yes [93] |
Yes | Yes | Yes [94] |
Yes | ||||||||
| GUI page layout | Yes | Yes | Yes | With plugin [95] |
Yes [96][97] |
Yes [93] |
Yes | Yes | Yes [94] |
Yes [98] | ||||||||||
| Canvas support | Yes | Yes [99] |
Yes | Yes | Yes | With plugin [100] |
Yes [101] |
Yes [102] |
Yes | Yes | Yes [103] |
Yes | ||||||||
| Mobile/tablet support (touch events) | Yes | Yes | Yes [104] |
Yes | Yes | Yes | With plugin [105] |
With plugin [106] |
Yes [107] |
With plugin [108] |
Yes | Yes | Yes | Yes [109] |
Yes [110] | |||||
| Accessibility / graceful degradation[111] |
Yes | Yes [112] |
No | Yes | Yes [16] |
Yes [113] |
Yes | Yes [114] |
Yes | No [115] |
Degradation: No Accessibility: Yes |
Yes | Yes [116] | |||||||
| ARIA compliant | Yes [112] |
Yes [16] |
Yes [117] |
Yes [114] |
Yes | No | Yes | Yes [118] |
Yes | Yes [119] | ||||||||||
| Developer tools, Visual design | Yes [120][121] |
in progress [122] |
Yes [123][124][125] |
Yes | Yes [126][127] |
Yes [128][129][130] |
Yes [131][132] |
Yes [133] |
No | Yes | Yes [134][135] | |||||||||
| Offline storage[136] | Yes | No [137] |
Yes | Yes [138] |
Via Google Gears [139] |
With plugin [140] |
Yes [141] |
Yes | Yes | Yes | Yes | |||||||||
| Cross-browser 2d Vector Graphics[142] | Yes [143] |
Yes | With plugin [144] |
Yes [101] |
Yes [145] |
No | Yes [103] |
Yes (via Raphael)[146] | ||||||||||||
| Charting & Dashboard[147] | Yes | Yes [148] |
Yes [149] |
With plugin [150][151] |
Yes [152][153] |
No | Yes [154] |
Yes [155] | ||||||||||||
| RTL Support in UI Components | Yes | Yes | Yes | Depends on the plugin used | Yes [114] |
Yes | Yes | No | ||||||||||||
| Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". | Script error: No such module "Vertical header". |
Browser support
| 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+[156] | 4[156] | 10.50+[156] | 3[156] | |
| Ember.js | 6+ | 3+ | 4+ | 10.6+ | 14+ | |
| Enyo | 8+[157] | >4[157] | >5[157] | >10[157] | ||
| Ext JS | 8+ | 45+ | 11+ | 43+ | 64+[158] | |
| Google Web Toolkit | 8+ | 1+ | 5+ | 9+ | 1+ | |
| jQuery (3.x) | 6+ (9+)[159] | 2+[159] | 3+[159] | 9+[159] | 1+[159] | |
| jQWidgets | 7+[160] | 2+[160] | 3+[160] | 9+[160] | 1+[160] | |
| MooTools | 6+ | 2+ | 3+ | 9+ | 1+ | |
| Prototype & script. aculo.us[4] | 6+ | 1.5+ | 2.0.4+ | 9.25+ | 1+ (starting with 1.6.1RC3) | |
| qooxdoo | 6+ | 2+ | 3+ | 9+ | 2+ | |
| React | ||||||
| SAP OpenUI5[161] | 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+[162] | 93+[162] | 5+[162] | 95+[162] | 95+[162] | 95+[162] |
Notes
- ↑ "About Enyo JS". http://enyojs.com/about/#License.
- ↑ "Ext JS 7.3.0 Licensing". http://www.sencha.com/products/license.php.
- ↑ "License - Javascript, HTML5, jQuery Widgets". http://www.jqwidgets.com/license/.
- ↑ 4.0 4.1 script.aculo.us is an add-on to Prototype.
- ↑ "OpenUI5". GitHub. https://github.com/SAP/openui5/.
- ↑ "JavaScript UI Components Library Webix - Licenses" (in en). https://webix.com/licenses/.
- ↑ "ZK - Leading Enterprise Java Web Framework" (in en). http://www.zkoss.org/.
- ↑ 8.0 8.1 8.2 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.
- ↑ 9.0 9.1 9.2 Rojas, Carlos (13 November 2020). Building Native Web Components: Front-End Development with Polymer and Vue.js. Apress. ISBN 978-1484259047.
- ↑ 10.0 10.1 10.2 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.
- ↑ "Enhance". GitHub. https://github.com/enhance-dev.
- ↑ "Astro framework". GitHub. https://github.com/withastro/astro.
- ↑ "Fresh". GitHub. https://github.com/denoland/fresh.
- ↑ 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
- ↑ "dojo/has – The Dojo Toolkit - Reference Guide". http://dojotoolkit.org/reference-guide/dojo/has.html.
- ↑ 16.0 16.1 16.2 "Ext JS 7.3.0 - Sencha Docs". http://docs.sencha.com/extjs/latest.
- ↑ "Google Code Archive - Long-term storage for Google Code Project Hosting.". https://code.google.com/p/google-web-toolkit/source/browse/#svn/trunk/user/src/com/google/gwt/user/client/impl.
- ↑ "Google Groups". https://www.google.com/support/forum/p/Google+Docs/thread?tid=72fe7b0e15737560&hl=en.
- ↑ jquery.org, jQuery Foundation - (14 January 2009). "jQuery 1.3 Released - Official jQuery Blog". http://docs.jquery.com/Release:jQuery_1.3.
- ↑ "MooTools Blog: MooTools Core 1.3 Stable and MooTools More 1.3RC". http://mootools.net/blog/2010/10/11/mootools-core-1-3-stable-and-mootools-more-1-3rc/.
- ↑ Feature detection all the way
- ↑ kangax (5 April 2010). "What's wrong with extending the DOM". http://perfectionkills.com/whats-wrong-with-extending-the-dom/.
- ↑ "MooTools Core Documentation". http://mootools.net/docs/core/Element/Element.
- ↑ "Prototype API Documentation - Element (Deprecated URL)". http://www.prototypejs.org/api/element.
- ↑ "Prototype 2.0 will not extend the DOM - Ajaxian". 17 November 2015. http://ajaxian.com/archives/prototype-2-0-will-not-extend-the-dom.
- ↑ 26.0 26.1 AJAX and Dojo
- ↑ 27.0 27.1 "jQuery Data Adapter". http://www.jqwidgets.com/jquery-widgets-documentation/documentation/jqxdataadapter/jquery-data-adapter.htm.
- ↑ 28.0 28.1 "MooTools Core Documentation". http://mootools.net/docs/core/Request/Request.
- ↑ Schäfer, Holger (25 January 2014). "OpenUI5 Developer: Simple chat server example using UI5 WebSocket". http://openui5.blogspot.com/2014/01/simple-chat-server-example-using-ui5.html.
- ↑ "WebSockets (Faye) of Guides, Interacting with the Server Side Webix Docs". https://docs.webix.com/desktop__server_faye.html.
- ↑ 31.0 31.1 "CometD JavaScript | cometd.org". http://cometd.org/documentation/cometd-javascript.
- ↑ "kembuco/extjs-cometd". 8 July 2020. https://github.com/kembuco/extjs-cometd/.
- ↑ "Google Code Archive - Long-term storage for Google Code Project Hosting.". https://code.google.com/p/rocket-gwt/wiki/Comet.
- ↑ "ZK - Leading Enterprise Ajax Solutions". http://books.zkoss.org/wiki/ZK_Developer's_Reference/Server_Push.
- ↑ "Dojox/Data - DojoCampus - Docs". http://docs.dojocampus.org/dojox/data.
- ↑ "Dojo/DND - DojoCampus - Docs". http://docs.dojocampus.org/dojo/dnd.
- ↑ "fredsa/gwt-dnd". 8 February 2022. https://code.google.com/p/gwt-dnd/.
- ↑ js.foundation, JS Foundation -. "Draggable - jQuery UI". https://jqueryui.com/draggable/.
- ↑ "jQuery DragDrop Plugin". http://www.jqwidgets.com/jquery-widgets-documentation/documentation/jqxdragdrop/jquery-dragdrop-getting-started.htm.
- ↑ "MooTools More Documentation". http://mootools.net/docs/more/Drag/Drag.Move.
- ↑ "OpenUI5 SDK - Demo Kit v2.0". https://openui5.hana.ondemand.com/#test-resources/sap/ui/commons/demokit/Accordion.html.
- ↑ "Drag-and-Drop Support of UI Widgets, Tree Webix Docs". http://docs.webix.com/datatree__dnd_support.html.
- ↑ "Dojo/Fx - DojoCampus - Docs". http://docs.dojocampus.org/dojo/fx/.
- ↑ "MooTools Core Documentation". http://mootools.net/docs/core/Fx/Fx.Tween.
- ↑ 45.0 45.1 "Showcase". http://showcase.sproutcore.com/#demos/Transition+Plugins.
- ↑ "transition: • Docs • Svelte". https://svelte.dev/docs/svelte/transition.
- ↑ "Dojox/Fx - DojoCampus - Docs". http://docs.dojocampus.org/dojox/fx/.
- ↑ "Enyo API Reference". http://enyojs.com/api/#enyo.Animator.
- ↑ "MooTools Core Documentation". http://mootools.net/docs/core/Fx/Fx.Morph.
- ↑ "Animation of Guides, Styling and Animation Webix Docs". https://docs.webix.com/desktop__animation.html.
- ↑ "Dojo/Back - DojoCampus - Docs". http://docs.dojocampus.org/dojo/back.
- ↑ "Enyo API Viewer". http://enyojs.com/docs/2.4.0/api/#enyo.Router.
- ↑ "Since v2.2". http://www.sencha.com/products/js/roadmap.php.
- ↑ Asual. "Asual". http://www.asual.com/jquery/address/.
- ↑ "cpojer/mootools-history". 10 October 2021. https://github.com/cpojer/mootools-history.
- ↑ "Dijit/Form - DojoCampus - Docs". http://docs.dojocampus.org/dijit/form.
- ↑ "Input Validation with GWT". http://techblog.maydu.eu/?p=7/.
- ↑ js.foundation, JS Foundation -. "jQuery Plugin Registry". http://plugins.jquery.com.
- ↑ "jQuery Validator". http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxvalidator/index.htm.
- ↑ "Data Validation of Guides, Managing Data in a Component Webix Docs". https://docs.webix.com/desktop__data_validation.html.
- ↑ "Formatted Text Inputs of UI Controls, Text Webix Docs". https://docs.webix.com/desktop__formatted_text_inputs.html.
- ↑ "Dojox/Grid - DojoCampus - Docs". http://docs.dojocampus.org/dojox/grid.
- ↑ "jqGrid ShieldUI jQuery Grid". http://www.trirand.com/blog/.
- ↑ "jQuery Grid, JavaScript Grid, jqxGrid, DataGrid, jQuery DataGrid". http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxgrid/index.htm.
- ↑ "JxLib Library". http://jxlib.org/. or "sortable table plugin". phatfusion. http://www.phatfusion.net/sortabletable/index.htm. or "DrasticGrid". http://www.drasticdata.nl/DDHome.php?m=3.
- ↑ "JavaScript Table (Grid) Widget – Webix HTML DataTable". https://webix.com/widget/datatable/.
- ↑ "Dijit/Tree - DojoCampus - Docs". http://docs.dojocampus.org/dijit/Tree.
- ↑ "Enyo JavaScript Framework - Example - DiscoverSDK Code Examples". http://www.discoversdk.com/knowledge-base/enya-javascript-framework.
- ↑ "Sencha - Ext JS 7.3.0 Examples". https://examples.sencha.com/extjs/7.3.0/.
- ↑ "treeview". http://jquery.bassistance.de/treeview/demo/., "file_tree_viewer". http://abeautifulsite.net/notebook/58.
- ↑ "jQuery Tree". http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxtree/index.htm.
- ↑ "mootree". http://sites.google.com/a/mindplay.dk/mootree/.
- ↑ "Demo browser". http://demo.qooxdoo.org/current/demobrowser/.
- ↑ "Tree Table or TreeGrid - Webix HTML5 library with jQuery integration". https://webix.com/widget/treetable/.
- ↑ "Dijit/Editor - DojoCampus - Docs". http://docs.dojocampus.org/dijit/Editor.
- ↑ "HTML Editor". http://www.sencha.com/forum/showthread.php?23979-HTML-Editor&p=129748#post129748.
- ↑ markitup, jwysiwyg, htmlbox , WYMeditor
- ↑ 78.0 78.1 "jQuery Editor". http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxeditor/index.htm.
- ↑ "MooEditable". https://cheeaun.github.com/mooeditable/.
- ↑ "RichText - The RichText control documentation: overview and initialization. Webix Docs". https://docs.webix.com/desktop__richtext.html.
- ↑ "Dijit/Form/ComboBox - DojoCampus - Docs". http://docs.dojocampus.org/dijit/form/ComboBox.
- ↑ js.foundation, JS Foundation -. "Autocomplete - jQuery UI". http://jqueryui.com/autocomplete/.
- ↑ "jQuery Input, jQuery Auto Complete". http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxinput/index.htm.
- ↑ "AutoCompleter » digitarald:Harald Kirschner". http://digitarald.de/project/autocompleter/.
- ↑ 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");
- ↑ MooTools Elements
- ↑ UAB, Dinamenta. "JavaScript UI Library, Ajax Components & HTML5 Framework - Online Skin Builder". http://www.dhtmlx.com/docs/products/skinBuilder/index.shtml.
- ↑ "Blog". 26 February 2015. http://www.sencha.com/blog/2008/03/03/can-ext-be-skinned-of-course/.
- ↑ "Skinning GWT controls with style sheets". https://code.google.com/webtoolkit/documentation/com.google.gwt.doc.DeveloperGuide.UserInterface.html#StyleSheets.
- ↑ js.foundation, JS Foundation -. "ThemeRoller - jQuery UI". http://jqueryui.com/themeroller.
- ↑ "Best JavaScript Frameworks". 16 September 2019. https://www.plerdy.com/blog/top-javascript-frameworks-and-libraries/#14.
- ↑ "jQuery Window". http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxwindow/index.htm.
- ↑ 93.0 93.1 Using MochaUI Library or JxLib
- ↑ 94.0 94.1 "A Sip of WYSIWYG Development with ZK Studio". http://www.zkoss.org/smalltalks/zkstudio_vedemo/.
- ↑ "Google Code Archive - Long-term storage for Google Code Project Hosting.". https://code.google.com/p/css-template-layout/.
- ↑ "jQuery Docking Layout". http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxdockinglayout/index.htm.
- ↑ "jQuery Splitter". http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxsplitter/index.htm.
- ↑ "JavaScript layout library Webix for Web Apps Developers". https://webix.com/widget/layout/.
- ↑ dojo.gfx
- ↑ "jCanvas". http://calebevans.me/projects/jcanvas/index.php.
- ↑ 101.0 101.1 "jQuery Draw Plugin". http://www.jqwidgets.com/jquery-widgets-documentation/documentation/jqxdraw/jquery-draw-getting-started.htm.
- ↑ "Mocha UI – MooTools Canvas UI class - Ajaxian". 17 November 2015. http://ajaxian.com/archives/mocha-ui-mootools-canvas-ui-class.
- ↑ 103.0 103.1 "ZK - Leading Enterprise Ajax Solutions". http://books.zkoss.org/wiki/Small_Talks/2010/June/How_To_Use_Canvas4Z.
- ↑ "Dojo's new Mobile App Project". 13 June 2010. http://shaneosullivan.wordpress.com/2010/06/13/dojos-new-mobile-app-project/.
- ↑ "Google Code Archive - Long-term storage for Google Code Project Hosting.". https://code.google.com/p/jqm4gwt/.
- ↑ "jQT". http://www.jqtouch.com/.
- ↑ "jQWidgets Mobile Demos". http://www.jqwidgets.com/jquery-widgets-demo/mobiledemos/.
- ↑ "cpojer/mootools-mobile". 10 October 2021. https://github.com/cpojer/mootools-mobile.
- ↑ "ZK - Leading Enterprise Java Web Framework". http://www.zkoss.org/whyzk/Features.
- ↑ [1] Webix mobile/tablet support
- ↑ 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.
- ↑ 112.0 112.1 "Quickstart/WritingWidgets/A11y - DojoCampus - Docs". http://docs.dojocampus.org/quickstart/writingWidgets/a11y.
- ↑ "Built-in Accessibility in GWT 1.5 Applications". https://webtoolkit.googleblog.com/2008/09/built-in-accessibility-in-gwt-15.html.
- ↑ 114.0 114.1 114.2 "jQWidgets Accessibility Overview". http://www.jqwidgets.com/jquery-widgets-documentation/documentation/accessibility/jqwidgets-accessibility-overview.htm.
- ↑ Qooxdoo's "Extreme JavaScript" paradigm
- ↑ "Accessibility of Guides, Designing User Interface Webix Docs". https://docs.webix.com/desktop__accessibility.html.
- ↑ js.foundation, JS Foundation -. "About jQuery UI - jQuery UI". http://jqueryui.com/about.
- ↑ "Compiler Warnings • Docs • Svelte". https://svelte.dev/docs/svelte/compiler-warnings#a11y_accesskey.
- ↑ "Accessibility of Guides, Designing User Interface Webix Docs". https://docs.webix.com/desktop__accessibility.html#waiariaattributes.
- ↑ Wavemaker
- ↑ Aptana Studio
- ↑ "HP webOS Developer Blog". http://developer.palm.com/blog/2012/04/april-code-releases-for-open-webos/.
- ↑ "Sencha Architect". 25 March 2015. http://www.sencha.com/products/designer/.
- ↑ "Blog". 26 February 2015. http://www.sencha.com/blog/2008/04/07/spket-ide-1611-released-includes-new-ext-theme-builder/.
- ↑ "Sencha Ext JS". 5 November 2020. http://www.sencha.com/products/js/build/.
- ↑ troy.giunipero@sun.com, lloyd.dunn @ sun.com. "Using jQuery to Enhance the Appearance and Usability of a Web Page - NetBeans Tutorial". http://netbeans.org/kb/docs/web/js-toolkits-jquery.html.
- ↑ js.foundation, JS Foundation -. "jQuery API Documentation". http://api.jquery.com/.
- ↑ "Theme Builder for jQWidgets". http://www.jqwidgets.com/themebuilder/.
- ↑ "ßeta - jQWidgets Charts Studio". https://www.jqwidgets.com/chartstudio/.
- ↑ "JSEditor". https://www.jqwidgets.com/jseditor/.
- ↑ "MooTools-core Documentation". http://mootools.net/docs/core.
- ↑ "MooTools-more Document". http://mootools.net/docs/more.
- ↑ Custom build, JS Linker, API generation, Unit test framework, etc.
- ↑ "Webix Skin Builder". https://webix.com/skin-builder/.
- ↑ "Formbuilder". https://webix.com/form-builder/.
- ↑ 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.
- ↑ o.DojoToolkit.Org/offline says "Dojo Offline is no longer supported after Dojo 1.3"
- ↑ "Ext JS 7.3.0 - Sencha Docs". http://docs.sencha.com/extjs/latest/.
- ↑ "googlearchive/gwt-google-apis". 24 April 2021. https://code.google.com/p/gwt-google-apis/.
- ↑ "jQuery HTML5 Storage plugin - daveschindler". https://sites.google.com/site/daveschindler/jquery-html5-storage-plugin/.
- ↑ "This example shows how to Save/Load the Grid's state.". http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxgrid/saveloadstate.htm?arctic.
- ↑ 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
- ↑ "Dojox/GFX - DojoCampus - Docs". http://docs.dojocampus.org/dojox/gfx.
- ↑ jQuery SVG plugin
- ↑ "kamicane/art". 26 February 2021. https://github.com/kamicane/art.
- ↑ "Chart Integration - Third-party charts integration guide. Webix Docs". https://docs.webix.com/desktop__chart_integration.html#raphaeumllcharts.
- ↑ Some JavaScript libraries include widgets for Charts, Gauges, and other data visualizations.
- ↑ "Dojox/Charting - DojoCampus - Docs". http://docs.dojocampus.org/dojox/charting.
- ↑ Chart API
- ↑ "Flot: Attractive JavaScript plotting for jQuery". http://www.flotcharts.org/.
- ↑ jQuery Visualize Plugin
- ↑ "jqxChart - javascript chart widget powered by jQuery, HTML5, SVG". http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxchart/index.htm.
- ↑ "jQuery Gauge". http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxgauge/index.htm.
- ↑ "ZK Live Demo - Other Charts". http://www.zkoss.org/zkdemo/chart.
- ↑ "JavaScript Charts UI Widget - Webix JS Charts". https://webix.com/widget/charts/.
- ↑ 156.0 156.1 156.2 156.3 "Releasenotes/1.4 - DojoCampus - Docs". http://docs.dojocampus.org/releasenotes/1.4.
- ↑ 157.0 157.1 157.2 157.3 "Supported Platforms | Enyo JS". http://enyojs.com/docs/platforms.
- ↑ "Sencha Ext JS". 5 November 2020. http://www.sencha.com/products/extjs/.
- ↑ 159.0 159.1 159.2 159.3 159.4 js.foundation, JS Foundation -. "Browser Support - jQuery". http://docs.jquery.com/Browser_Compatibility.
- ↑ 160.0 160.1 160.2 160.3 160.4 "jQuery UI Widgets - Help Documentation". http://www.jqwidgets.com/jquery-widgets-documentation/.
- ↑ "OpenUI5SDK - Demo Kit". https://openui5.hana.ondemand.com/topic/74b59efa0eef48988d3b716bd0ecc933.
- ↑ 162.0 162.1 162.2 162.3 162.4 162.5 "Compatibility Webix Docs". https://docs.webix.com/desktop__compatibility.html.
