Comparison of JavaScript-based web frameworks: Difference between revisions

Content deleted Content added
m General information: Added link to Typescript page
Undid revision 1303638924 by Cedar101 (talk)
 
(21 intermediate revisions by 14 users not shown)
Line 14:
<!-- section (such as the "References" section) will also be removed. -->
<!-- ====================================================================== -->
This is a comparison of [[web framework]]s for [[front-end web development]] that are heavily reliant on [[JavaScript]] code for their behavior.
 
==General information==
 
{|class="wikitable sortable" style="font-size:small90%;"
|-
! style="width:10%;" | Framework
! style="width:8%;" | Version <br>compared
! style="width:10%;" | Size
! style="width:12%;" | License
! style="width:10%;" | Source language
|-
!{{rh}}|[[Angular (applicationweb platformframework)|Angular]]
|<!-- Version --> 14.0.4<br />{{nowrap|29 June 2022}}
|<!-- Size --> {{nowrap|563 kB}} (minified & compressed)
|<!-- License --> {{free|[[MIT License|MIT]]}}
|[[TypeScript|<!-- Language -->TypeScript]]
|-
!{{rh}}|[[AngularJS]]
Line 82:
!{{rh}}|[[jQuery]] (library)
|<!-- Version -->3.6.0<br />{{nowrap|3 Mar 2021}}
|<!-- Size -->{{nowrap|70.7KB}} (slim, minified), <br />{{nowrap|87.4KB}} (minified),<ref name="jquery CDN files">{{cite web|title=jQuery Core - All Versions|url=https://code.jquery.com/jquery/|url-status=live|access-date=22 March 2021|website=jQuery|publisher=jQuery|archive-url=https://web.archive.org/web/20130809042048/http://code.jquery.com/jquery/ |archive-date=9 August 2013 }}</ref> <br />{{nowrap|282 KiB}} (uncompressed)<ref name="jquery CDN files"/>
|<!-- License --> {{free|[[MIT License|MIT]]}}
|<!-- Language --> JavaScript
Line 131:
|<!-- License --> {{free|[[Apache 2 License|Apache 2]]}}<ref>{{cite web | url=https://github.com/SAP/openui5/ | title=OpenUI5 | publisher=GitHub | access-date=22 December 2020 }}</ref>
|<!-- Language --> JavaScript
|-
!{{rh}}|[[SolidJS]]
|<!-- Version --> 1.7.0<br />{{nowrap|30 Mar 2023}}
|<!-- Size --> {{nowrap|7.9 kB}} (gzipped).
|<!-- License --> {{free|[[MIT License|MIT]]}}
|<!-- Language --> JavaScript / TypeScript
|-
!{{rh}}|[[SproutCore]]
Line 158 ⟶ 152:
|<!-- License --> {{free|[[MIT License|MIT]]}}
|<!-- Language --> JavaScript / TypeScript
|-
!{{rh}}|[[Wakanda (software)|Wakanda]]
|<!-- Version --> 9<br />{{nowrap|14 Nov 2014}}
|<!-- Size --> Variable
|<!-- License -->[[GPL3]] (framework), [[Affero General Public License|AGPL]] (server) & Commercial<ref>{{Cite web |date=2014-12-10 |title=Licensing & pricing {{!}} wakanda |url=http://www.wakanda.org/licensing-pricing |access-date=2022-06-01 |archive-date=10 December 2014 |archive-url=https://web.archive.org/web/20141210051445/http://www.wakanda.org/licensing-pricing |url-status=bot: unknown }}</ref>
|<!-- Language --> JavaScript + HTML + CSS
|-
!{{rh}}|[[Webix]]
|<!-- Version --> 411.10<br />{{nowrap|November 20162024}}
|<!-- Size --> 188 kB (gzipped)
|<!-- License -->[[GPL]] & Commercial<ref>{{Cite web |title=JavaScript UI Components Library Webix - Licenses |url=https://webix.com/licenses/ |access-date=2022-06-01 |website=webix.com |language=en}}</ref>
Line 177 ⟶ 165:
|<!-- Language --> XML + Java (JavaScript optional)
|}
 
== High-level framework comparison ==
JavaScript-based web application frameworks, such as [[React (software)|React]] and [[Vue.js|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 API|Fetch]] and [[ECMAScript Modules|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. <ref name=":02">{{Cite book |title=JavaScript Frameworks for Modern Web Development: The Essential Frameworks, Libraries, and Tools to Learn Right Now |isbn=978-1484249949 |last1=Uzayr |first1=Sufyan bin |last2=Cloud |first2=Nicholas |last3=Ambler |first3=Tim |date=November 2019 |publisher=Apress }}</ref><ref name=":12">{{Cite book |title=Building Native Web Components: Front-End Development with Polymer and Vue.js |isbn=978-1484259047 |last1=Rojas |first1=Carlos |date=13 November 2020 |publisher=Apress }}</ref><ref name=":22">{{Cite book |title=Hands-On JavaScript High Performance: Build faster web apps using Node.js, Svelte.js, and WebAssembly |isbn=978-1838821098 |last1=Scherer |first1=Justin |date=28 February 2020 |publisher=Packt Publishing, Limited }}</ref>
 
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. <ref name=":02" /><ref name=":12" /><ref name=":22" />
 
A newer category of web frameworks, including enhance.dev, Astro, and Fresh, leverages native web standards while minimizing abstractions and development tooling. <ref>{{Cite web |title=Enhance |website=[[GitHub]] |url=https://github.com/enhance-dev }}</ref><ref>{{Cite web |title=Astro framework |website=[[GitHub]] |url=https://github.com/withastro/astro }}</ref><ref>{{Cite web |title=Fresh |website=[[GitHub]] |url=https://github.com/denoland/fresh }}</ref> 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. <ref name=":02" /><ref name=":12" /><ref name=":22" />
 
== Features ==
{| class="wikitable" style="font-size:small;"
!
! {{verth|[[Angular (web framework)|Angular]]}}
! {{verth|[[AngularJS]]}}
! {{verth|[[Apache Royale]]}}
! {{verth|[[Dojo Toolkit|Dojo]]}}
!Cash
! {{verth|[[Ember.js]]}}
![[Dojo Toolkit|Dojo]]
! {{verth|[[Enyo (software)|Enyo]]}}
![[Ember.js]]
! {{verth|[[Ext (JavaScript library)|Ext JS]]}}
![[Enyo (software)|Enyo]]
! {{verth|[[Google Web Toolkit]]}}
![[Ext (JavaScript library)|Ext JS]]
! {{verth|[[jQuery]]}}
![[Google Web Toolkit]]
! {{verth|[[jQWidgets]]}}
![[jQuery]]
! {{verth|[[MooTools]]}}
![[jQWidgets]]
! {{verth|[[MooToolsOpenUI5]]}}
! {{verth|[[Prototype JavaScript Framework|Prototype]] & [[script.aculo.us|script. aculo.us]]<ref name="addon" />}}
![[OpenUI5]]
! {{verth|[[qooxdoo]]}}
![[Prototype JavaScript Framework|Prototype]] & [[script.aculo.us|script. aculo.us]]<ref name="addon" />
! {{verth|[[React (JavaScript library)|React]]}}
![[qooxdoo]]
! {{verth|[[SproutCore]]}}
![[React (JavaScript library)|React]]
! {{verth|[[Svelte]]}}
![[SproutCore]]
! {{verth|[[Vue.js|Vue]]}}
![[Svelte]]
! {{verth|[[ZK Framework|ZK]]}}
![[Vue.js|Vue]]
! {{verth|[[Webix]]}}
![[Wakanda (software)|Wakanda]]
![[ZK Framework|ZK]]
![[Webix]]
|-
!{{rh}}| [[Feature detection (web development)|Feature detection]]<ref>Feature detection is preferred by many to browser sniffing to support future browsers: [http://www.jibbering.com/faq/faq_notes/not_browser_detect.html Browser Detecting (and what to do Instead)], [http://peter.michaux.ca/articles/feature-detection-state-of-the-art-browser-scripting Feature Detection: State of the Art Browser Scripting], [https://developer.mozilla.org/En/Browser_Feature_Detection Browser Feature Detection] {{Webarchive|url=https://web.archive.org/web/20170710191705/https://developer.mozilla.org/En/Browser_Feature_Detection |date=10 July 2017 }}</ref>
Line 208 ⟶ 201:
|<!-- AngularJS --> {{yes}}
|<!-- Apache Royale -->
|<!-- dojo --> {{yes}}<br/><ref>{{cite web|url=http://dojotoolkit.org/reference-guide/dojo/has.html|title=dojo/has – The Dojo Toolkit - Reference Guide|website=dojotoolkit.org}}</ref>
|<!-- Cash -->
|<!-- dojo --> {{yes}}<ref>{{cite web|url=http://dojotoolkit.org/reference-guide/dojo/has.html|title=dojo/has – The Dojo Toolkit - Reference Guide|website=dojotoolkit.org}}</ref>
|<!-- Ember.js --> {{yes}}
|<!-- Enyo -->
|<!-- ExtJS --> {{yes}}<br/><ref name="docs.sencha.com"/>
|<!-- GWT --> {{no}}<br/><ref>{{cite web|url=https://code.google.com/p/google-web-toolkit/source/browse/#svn/trunk/user/src/com/google/gwt/user/client/impl|title=Google Code Archive - Long-term storage for Google Code Project Hosting.|website=code.google.com}}</ref><ref>{{cite web|url=https://www.google.com/support/forum/p/Google+Docs/thread?tid=72fe7b0e15737560&hl=en|title=Google Groups|websitearchive-url=https://archive.today/20130505035218/http://www.google.com}}{{Dead link/support/forum/p/Google+Docs/thread?tid=72fe7b0e15737560&hl=en|url-status=dead|archive-date=February5 2022May 2013|bottitle=InternetArchiveBotGoogle Groups|fix-attemptedwebsite=yes google.com}}</ref>
|<!-- jQuery --> {{yes}}<br/><ref>{{cite web|url=http://docs.jquery.com/Release:jQuery_1.3|title=jQuery 1.3 Released - Official jQuery Blog|first=jQuery Foundation -|last=jquery.org|website=docs.jquery.com|date=14 January 2009 }}</ref>
|<!-- jQWidgets --> {{yes}}
|<!-- MooTools --> {{yes}}<br/><ref>{{cite web|url=http://mootools.net/blog/2010/10/11/mootools-core-1-3-stable-and-mootools-more-1-3rc/|title=MooTools Blog: MooTools Core 1.3 Stable and MooTools More 1.3RC|website=mootools.net}}</ref>
|<!-- OpenUi5 -->
|<!-- proto --> {{no}}<br/><ref>[http://thinkweb2.com/projects/prototype/feature-detection-all-the-way/ Feature detection all the way] {{webarchive|url=https://web.archive.org/web/20090421020449/http://thinkweb2.com/projects/prototype/feature-detection-all-the-way/ |date=21 April 2009 }}</ref>
|<!-- qooxdoo --> {{yes}}
|<!-- React -->
Line 224 ⟶ 216:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda --> Partial
| {{no}}
|<!-- Webix --> {{yes}}
Line 232 ⟶ 223:
|<!-- AngularJS --> {{yes}}
|<!-- Apache Royale -->
|<!-- jQuery --> {{yes}}
|<!-- dojo --> {{yes}}
|<!-- Ember.js --> {{no}}
Line 240 ⟶ 230:
|<!-- jQuery --> {{yes}}
|<!-- jQWidgets -->
|<!-- MooTools --> {{no}}<br/><ref>{{cite web|url=http://mootools.net/docs/core/Element/Element|title=MooTools Core Documentation|website=mootools.net}}</ref>
|<!-- OpenUi5 -->
|<!-- proto --> {{no}}<br/><ref>{{cite web|url=http://www.prototypejs.org/api/element|title=Prototype API Documentation - Element (Deprecated URL)|website=prototypejs.org}}</ref><ref>{{cite web|url=http://ajaxian.com/archives/prototype-2-0-will-not-extend-the-dom|title=Prototype 2.0 will not extend the DOM - Ajaxian|website=ajaxian.com|date=17 November 2015 }}</ref>
|<!-- qooxdoo --> {{yes}}
|<!-- React -->
Line 248 ⟶ 238:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda --> {{yes}}
|<!-- ZK --> {{yes}}
|<!-- Webix --> {{yes}}
Line 256 ⟶ 245:
|<!-- AngularJS --> {{yes}}
|<!-- Apache Royale --> {{yes}}
|<!-- dojo --> {{yes}}<br/><ref name="AJAX and Dojo">[http://docs.dojocampus.org/quickstart/ajax AJAX and Dojo] {{webarchive|url=https://web.archive.org/web/20100209042422/http://docs.dojocampus.org/quickstart/ajax |date=9 February 2010 }}</ref>
|<!-- Ember.js --> {{no}}
|<!-- dojo --> {{yes}}<ref name="AJAX and Dojo">[http://docs.dojocampus.org/quickstart/ajax AJAX and Dojo] {{webarchive|url=https://web.archive.org/web/20100209042422/http://docs.dojocampus.org/quickstart/ajax |date=9 February 2010 }}</ref>
|<!-- Ember.js -->
|<!-- Enyo --> {{yes}}
Line 263 ⟶ 251:
|<!-- GWT --> {{yes}}
|<!-- jQuery --> {{yes}}
|<!-- jQWidgets --> {{yes}}<br/><ref name="jqxDataAdapter">{{cite web |url=http://www.jqwidgets.com/jquery-widgets-documentation/documentation/jqxdataadapter/jquery-data-adapter.htm |title=jQuery Data Adapter |website=jqwidgets.com |access-date=2015-12-17}}</ref>
|<!-- MooTools --> {{yes}}<br/><ref name="MooTools Request">{{cite web|url=http://mootools.net/docs/core/Request/Request|title=MooTools Core Documentation|website=mootools.net}}</ref>
|<!-- OpenUi5 --> {{yes}}
|<!-- proto --> {{yes}}
Line 272 ⟶ 260:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda --> {{yes}}
|<!-- ZK -->
|<!-- Webix --> {{yes}}
Line 280 ⟶ 267:
|<!-- AngularJS -->
|<!-- Apache Royale -->
|<!-- dojo --> {{yes}}<br/><ref name="AJAX and Dojo"/>
|<!-- Cash -->
|<!-- dojo --> {{yes}}<ref name="AJAX and Dojo"/>
|<!-- Ember.js -->
|<!-- Enyo --> {{yes}}
Line 288 ⟶ 274:
|<!-- jQuery --> {{yes}}
|<!-- jQWidgets --> {{no}}
|<!-- MooTools --> {{yes}}<br/><ref name="MooTools Request"/>
|<!-- OpenUi5 --> {{yes}}<br/><ref>{{cite web|url=http://openui5.blogspot.com/2014/01/simple-chat-server-example-using-ui5.html|title=OpenUI5 Developer: Simple chat server example using UI5 WebSocket|first=Holger|last=Schäfer|date=25 January 2014}}</ref>
|<!-- proto --> {{yes}}
|<!-- qooxdoo --> {{yes}}
Line 296 ⟶ 282:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda --> {{yes}}
|<!-- ZK -->
|<!-- Webix --> {{yes}}<br/><ref>{{cite web|url=https://docs.webix.com/desktop__server_faye.html|title=WebSockets (Faye) of Guides, Interacting with the Server Side Webix Docs|website=docs.webix.com|access-date=25 November 2016|archive-url=https://web.archive.org/web/20180803044459/https://docs.webix.com/desktop__server_faye.html|archive-date=3 August 2018|url-status=dead}}</ref>
|-
!{{rh}}| [[Server push]] data retrieval
Line 304 ⟶ 289:
|<!-- AngularJS -->
|<!-- Apache Royale -->
|<!-- dojo --> {{yes}}<br/><ref name="cometd.org">{{cite web |url=http://cometd.org/documentation/cometd-javascript |title=CometD JavaScript &#124; cometd.org |access-date=2010-10-07 |url-status=dead |archive-url=https://web.archive.org/web/20100919030621/http://cometd.org/documentation/cometd-javascript |archive-date=19 September 2010 }}</ref>
|<!-- Cash -->
|<!-- dojo --> {{yes}}<ref name="cometd.org">{{cite web |url=http://cometd.org/documentation/cometd-javascript |title=CometD JavaScript &#124; cometd.org |access-date=2010-10-07 |url-status=dead |archive-url=https://web.archive.org/web/20100919030621/http://cometd.org/documentation/cometd-javascript |archive-date=19 September 2010 }}</ref>
|<!-- Ember.js -->
|<!-- Enyo -->
|<!-- ExtJS --> {{yes}}<br/><ref>{{cite web|url=https://github.com/kembuco/extjs-cometd/|title=kembuco/extjs-cometd|website=GitHub|date=8 July 2020 }}</ref>
|<!-- GWT --> {{yes}}<br/><ref>{{cite web|url=https://code.google.com/p/rocket-gwt/wiki/Comet|title=Google Code Archive - Long-term storage for Google Code Project Hosting.|website=code.google.com}}</ref>
|<!-- jQuery --> {{yes}}<br/><ref name="cometd.org"/>
|<!-- jQWidgets --> {{no}}
|<!-- MooTools -->
Line 320 ⟶ 304:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- ZK --> {{yes}}<br/><ref>{{cite web|url=http://books.zkoss.org/wiki/ZK_Developer's_Reference/Server_Push|title=ZK - Leading Enterprise Ajax Solutions}}</ref>
|<!-- Wakanda -->
|<!-- ZK --> {{yes}}<ref>{{cite web|url=http://books.zkoss.org/wiki/ZK_Developer's_Reference/Server_Push|title=ZK - Leading Enterprise Ajax Solutions}}</ref>
|<!-- Webix --> {{yes}}
|-
Line 328 ⟶ 311:
|<!-- AngularJS -->
|<!-- Apache Royale --> {{yes| Yes: XML, HTML, CSV, ATOM, AMF, JSON}}
|<!-- dojo --> {{yes| Yes: XML, HTML, CSV, ATOM}}<br/><ref>{{cite web |url=http://docs.dojocampus.org/dojox/data |title=Dojox/Data - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090317061859/http://docs.dojocampus.org/dojox/data/ |archive-date=17 March 2009 }}</ref>
|<!-- Cash -->
|<!-- dojo --> {{yes| Yes: XML, HTML, CSV, ATOM}}<ref>{{cite web |url=http://docs.dojocampus.org/dojox/data |title=Dojox/Data - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090317061859/http://docs.dojocampus.org/dojox/data/ |archive-date=17 March 2009 }}</ref>
|<!-- Ember.js -->
|<!-- Enyo -->
Line 335 ⟶ 317:
|<!-- GWT --> {{yes | Yes: RPC, RequestFactory}}
|<!-- jQuery --> {{yes | Yes: XML, HTML}}
|<!-- jQWidgets --> {{yes | Yes: XML, JSON, CSV, TSV}}<br/><ref name="jqxDataAdapter" />
|<!-- MooTools --> {{yes | Yes: XML, HTML}}
|<!-- OpenUi5 -->
Line 344 ⟶ 326:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda --> {{yes | Yes: JSON-RPC, Wakanda REST}}
|<!-- ZK -->
|<!-- Webix --> {{yes | Yes: XML, HTML, CS, JSON, JSArray, CSV}}
Line 352 ⟶ 333:
|<!-- AngularJS -->
|<!-- Apache Royale --> {{yes}}
|<!-- dojo --> {{yes}}<br/><ref>{{cite web |url=http://docs.dojocampus.org/dojo/dnd |title=Dojo/DND - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090406045822/http://docs.dojocampus.org/dojo/dnd |archive-date=6 April 2009 }}</ref>
|<!-- Cash -->
|<!-- dojo --> {{yes}}<ref>{{cite web |url=http://docs.dojocampus.org/dojo/dnd |title=Dojo/DND - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090406045822/http://docs.dojocampus.org/dojo/dnd |archive-date=6 April 2009 }}</ref>
|<!-- Ember.js -->
|<!-- Enyo -->
|<!-- ExtJS --> {{yes}}
|<!-- GWT --> {{depends| With plugin}}<br/><ref>{{cite web|url=https://code.google.com/p/gwt-dnd/|title=fredsa/gwt-dnd|website=GitHub|date=8 February 2022 }}</ref>
|<!-- jQuery --> {{depends|With plugins}}<br/><ref>{{cite web|url=https://jqueryui.com/draggable/|title=Draggable - jQuery UI|first=JS Foundation -|last=js.foundation|website=jqueryui.com}}</ref>
|<!-- jQWidgets --> {{yes}}<br/><ref>{{cite web |url=http://www.jqwidgets.com/jquery-widgets-documentation/documentation/jqxdragdrop/jquery-dragdrop-getting-started.htm |title=jQuery DragDrop Plugin |website=jqwidgets.com |access-date=2015-12-17}}</ref>
|<!-- MooTools --> {{yes}}<br/><ref>{{cite web|url=http://mootools.net/docs/more/Drag/Drag.Move|title=MooTools More Documentation|website=mootools.net}}</ref>
|<!-- OpenUi5 --> {{yes}}<br/><ref>{{cite web|url=https://openui5.hana.ondemand.com/#test-resources/sap/ui/commons/demokit/Accordion.html|title=OpenUI5 SDK - Demo Kit v2.0|website=openui5.hana.ondemand.com}}</ref>
|<!-- proto --> {{yes}}
|<!-- qooxdoo --> {{yes}}
Line 368 ⟶ 348:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda --> {{yes}}
|<!-- ZK --> {{yes}}
|<!-- Webix --> {{yes}}<br/><ref>{{cite web|url=http://docs.webix.com/datatree__dnd_support.html|title=Drag-and-Drop Support of UI Widgets, Tree Webix Docs|website=docs.webix.com}}</ref>
|-
!{{rh}}| Simple visual effects
Line 376 ⟶ 355:
|<!-- AngularJS --> {{yes}}
|<!-- Apache Royale --> {{yes}}
|<!-- dojo --> {{yes}}<br/><ref>{{cite web |url=http://docs.dojocampus.org/dojo/fx/ |title=Dojo/Fx - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090416192527/http://docs.dojocampus.org/dojo/fx |archive-date=16 April 2009 }}</ref>
|<!-- Enyo --> {{yes}}
|<!-- dojo --> {{yes}}<ref>{{cite web |url=http://docs.dojocampus.org/dojo/fx/ |title=Dojo/Fx - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090416192527/http://docs.dojocampus.org/dojo/fx |archive-date=16 April 2009 }}</ref>
|<!-- Ember.js -->
|<!-- Enyo --> {{yes}}
Line 384 ⟶ 362:
|<!-- jQuery --> {{yes}}
|<!-- jQWidgets --> {{yes}}
|<!-- MooTools --> {{yes}}<br/><ref>{{cite web|url=http://mootools.net/docs/core/Fx/Fx.Tween|title=MooTools Core Documentation|website=mootools.net}}</ref>
|<!-- OpenUi5 --> {{yes}}
|<!-- proto --> {{yes}}
|<!-- qooxdoo --> {{yes}}
|<!-- React -->
|<!-- SproutCore --> {{yes}}<br/><ref name="showcase.sproutcore.com">{{cite web|url=http://showcase.sproutcore.com/#demos/Transition+Plugins|title=Showcase|website=showcase.sproutcore.com}}</ref>
|<!-- Svelte --> {{yes}}<br/><ref>{{cite web|url=https://svelte.dev/docs/svelte/transition|title=transition: • Docs • Svelte}}</ref>
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda --> {{yes}}
|<!-- ZK --> {{yes}}
|<!-- Webix --> {{yes}}
Line 400 ⟶ 377:
|<!-- AngularJS --> {{yes}}
|<!-- Apache Royale -->
|<!-- dojo --> {{yes}}<br/><ref>{{cite web |url=http://docs.dojocampus.org/dojox/fx/ |title=Dojox/Fx - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090304002856/http://docs.dojocampus.org/dojox/fx |archive-date=4 March 2009 }}</ref>
|<!-- Cash -->
|<!-- dojo --> {{yes}}<ref>{{cite web |url=http://docs.dojocampus.org/dojox/fx/ |title=Dojox/Fx - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090304002856/http://docs.dojocampus.org/dojox/fx |archive-date=4 March 2009 }}</ref>
|<!-- Ember.js -->
|<!-- Enyo --> {{yes}}<br/><ref>{{cite web|url=http://enyojs.com/api/#enyo.Animator|title=Enyo API Reference|website=enyojs.com|access-date=1 August 2012|archive-date=20 December 2013|archive-url=https://web.archive.org/web/20131220053530/http://enyojs.com/api/#enyo.Animator|url-status=dead}}</ref>
|<!-- ExtJS --> {{yes}}
|<!-- GWT --> {{yes}}
|<!-- jQuery --> {{yes}}
|<!-- jQWidgets --> {{yes}}
|<!-- MooTools --> {{yes}}<br/><ref>{{cite web|url=http://mootools.net/docs/core/Fx/Fx.Morph|title=MooTools Core Documentation|website=mootools.net}}</ref>
|<!-- OpenUi5 -->
|<!-- proto --> {{yes}}
|<!-- qooxdoo --> {{yes}}
|<!-- React -->
|<!-- SproutCore --> {{yes}}<br/><ref name="showcase.sproutcore.com"/>
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda --> {{yes}}
|<!-- ZK --> {{yes}}
|<!-- Webix --> {{yes}}<br/><ref>{{cite web|url=https://docs.webix.com/desktop__animation.html|title=Animation of Guides, Styling and Animation Webix Docs|website=docs.webix.com}}</ref>
|-
!{{rh}}| Back button support / <br /> history management
Line 424 ⟶ 399:
|<!-- AngularJS -->
|<!-- Apache Royale -->
|<!-- dojo --> {{yes}}<br/><ref>{{cite web |url=http://docs.dojocampus.org/dojo/back |title=Dojo/Back - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090402140220/http://docs.dojocampus.org/dojo/back |archive-date=2 April 2009 }}</ref>
|<!-- Cash -->
|<!-- dojo --> {{yes}}<ref>{{cite web |url=http://docs.dojocampus.org/dojo/back |title=Dojo/Back - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090402140220/http://docs.dojocampus.org/dojo/back |archive-date=2 April 2009 }}</ref>
|<!-- Ember.js --> {{yes}}
|<!-- Enyo --> {{yes}}<br/><ref>{{cite web|url=http://enyojs.com/docs/2.4.0/api/#enyo.Router|title=Enyo API Viewer|website=enyojs.com|access-date=24 April 2014|archive-date=24 March 2016|archive-url=https://web.archive.org/web/20160324004253/http://enyojs.com/docs/2.4.0/api/#enyo.Router|url-status=dead}}</ref>
|<!-- ExtJS --> {{yes}}<br/><ref>{{Cite web |url=http://www.sencha.com/products/js/roadmap.php |title=Since v2.2 |access-date=11 September 2010 |archive-url=https://web.archive.org/web/20101229115415/http://www.sencha.com/products/js/roadmap.php |archive-date=29 December 2010 |url-status=dead }}</ref>
|<!-- GWT --> {{yes}}
|<!-- jQuery --> {{depends|With plugins}}<br/><ref>{{cite web|url=http://www.asual.com/jquery/address/|title=Asual|last=Asual|website=asual.com}}</ref>
|<!-- jQWidgets --> {{no}}
|<!-- MooTools --> {{depends|With plugin}}<br/><ref>{{cite web|url=https://github.com/cpojer/mootools-history|title=cpojer/mootools-history|website=GitHub|date=10 October 2021 }}</ref>
|<!-- OpenUi5 -->
|<!-- proto --> {{yes}}
Line 440 ⟶ 414:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda -->
|<!-- ZK --> {{yes}}
|<!-- Webix --> {{yes}}
Line 448 ⟶ 421:
|<!-- AngularJS --> {{yes}}
|<!-- Apache Royale --> {{yes}}
|<!-- dojo --> {{yes}}<br/><ref>{{cite web |url=http://docs.dojocampus.org/dijit/form |title=Dijit/Form - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090403160521/http://docs.dojocampus.org/dijit/form |archive-date=3 April 2009 }}</ref>
|<!-- Cash -->
|<!-- dojo --> {{yes}}<ref>{{cite web |url=http://docs.dojocampus.org/dijit/form |title=Dijit/Form - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090403160521/http://docs.dojocampus.org/dijit/form |archive-date=3 April 2009 }}</ref>
|<!-- Ember.js -->
|<!-- Enyo --> {{yes}}
|<!-- ExtJS --> {{yes}}
|<!-- GWT --> {{yes}}, :<br/>Validation requires plugin<ref>{{cite web |url=http://techblog.maydu.eu/?p=7/ |archive-url=https://web.archive.org/web/20110720164540/http://techblog.maydu.eu/?p=7%2F |archive-date=20 July 2011 |title=Input Validation with GWT |access-date=2018-10-11 |url-status=dead }}</ref>
|<!-- jQuery --> {{depends|With plugins}}<br/><ref>{{cite web|url=http://plugins.jquery.com|title=jQuery Plugin Registry|first=JS Foundation -|last=js.foundation|website=plugins.jquery.com}}</ref>
|<!-- jQWidgets --> {{yes}}<br/><ref>{{cite web |url=http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxvalidator/index.htm |title=jQuery Validator |website=jqwidgets.com |access-date=2015-12-17}}</ref>
|<!-- MooTools --> {{yes}}
|<!-- OpenUi5 --> {{yes}}
Line 464 ⟶ 436:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda --> {{yes}}
|<!-- ZK --> {{yes}}
|<!-- Webix --> {{yes}}<br/><ref>{{cite web|url=https://docs.webix.com/desktop__data_validation.html|title=Data Validation of Guides, Managing Data in a Component Webix Docs|website=docs.webix.com}}</ref><ref>{{cite web|url=https://docs.webix.com/desktop__formatted_text_inputs.html|title=Formatted Text Inputs of UI Controls, Text Webix Docs|website=docs.webix.com}}</ref>
|-
!style="width:15em; font-size:60%;"|
! {{verth|va=middle|[[Angular (web framework)|Angular]]}}
! {{verth|va=middle|[[AngularJS]]}}
! {{verth|va=middle|[[Apache Royale]]}}
! {{verth|va=middle|[[Dojo Toolkit|Dojo]]}}
!Cash
! {{verth|va=middle|[[Ember.js]]}}
![[Dojo Toolkit|Dojo]]
! {{verth|va=middle|[[Enyo (software)|Enyo]]}}
![[Ember.js]]
! {{verth|va=middle|[[Ext (JavaScript library)|ExtJS]]}}
![[Enyo (software)|Enyo]]
! {{verth|va=middle|[[Google Web Toolkit]]}}
![[Ext (JavaScript library)|ExtJS]]
! {{verth|va=middle|[[jQuery]]}}
![[Google Web Toolkit]]
! {{verth|va=middle|[[jQWidgets]]}}
![[jQuery]]
! {{verth|va=middle|[[MooTools]]}}
![[jQWidgets]]
! {{verth|va=middle|[[OpenUI5]]}}
![[MooTools]]
! {{verth|va=middle|[[Prototype JavaScript Framework|Prototype]] & [[script.aculo.us|script. aculo.us]]<ref name="addon" />}}
![[OpenUI5]]
! {{verth|va=middle|[[qooxdoo]]}}
![[Prototype JavaScript Framework|Prototype]] & [[script.aculo.us|script. aculo.us]]<ref name="addon" />
! {{verth|va=middle|[[React (JavaScript library)|React]]}}
![[qooxdoo]]
! {{verth|va=middle|[[SproutCore]]}}
![[React (JavaScript library)|React]]
! {{verth|va=middle|[[Svelte]]}}
![[SproutCore]]
! {{verth|va=middle|[[Vue.js|Vue]]}}
![[Svelte]]
! {{verth|va=middle|[[ZK Framework|ZK]]}}
![[Vue.js|Vue]]
! {{verth|va=middle|[[Webix]]}}
![[Wakanda (software)|Wakanda]]
![[ZK Framework|ZK]]
![[Webix]]
|-
!{{rh}}| [[Grid (graphic design)|Grid]]
Line 496 ⟶ 465:
|<!-- AngularJS -->
|<!-- Apache Royale --> {{yes}}
|<!-- dojo --> {{yes}}<br/><ref>{{cite web |url=http://docs.dojocampus.org/dojox/grid |title=Dojox/Grid - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090423165855/http://docs.dojocampus.org/dojox/grid |archive-date=23 April 2009 }}</ref>
|<!-- Cash -->
|<!-- dojo --> {{yes}}<ref>{{cite web |url=http://docs.dojocampus.org/dojox/grid |title=Dojox/Grid - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090423165855/http://docs.dojocampus.org/dojox/grid |archive-date=23 April 2009 }}</ref>
|<!-- Ember.js -->
|<!-- Enyo -->
|<!-- ExtJS --> {{yes}}
|<!-- GWT --> {{yes}}
|<!-- jQuery --> {{depends|With plugins}}<br/><ref>{{cite web|url=http://www.trirand.com/blog/|title=jqGrid] ShieldUI jQuery Grid}}</ref>
|<!-- jQWidgets --> {{yes}}<br/><ref>{{cite web |url=http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxgrid/index.htm |title=jQuery Grid, JavaScript Grid, jqxGrid, DataGrid, jQuery DataGrid |website=jqwidgets.com |access-date=2015-12-17}}</ref>
|<!-- MooTools --> {{depends|With plugin}}<br/><ref>{{cite web|url=http://jxlib.org/|title=JxLib Library|access-date=18 November 2008|archive-url=http://webarchive.loc.gov/all/20090218102758/http%3A//jxlib.org//|archive-date=18 February 2009|url-status=dead}} or {{cite web |url=http://www.phatfusion.net/sortabletable/index.htm |publisher=phatfusion |title=sortable table plugin |archive-url=https://web.archive.org/web/20090422131647/http://www.phatfusion.net/sortabletable/index.htm |archive-date=22 April 2009 }} or {{cite web |url=http://www.drasticdata.nl/DDHome.php?m=3 |title=DrasticGrid |access-date=22 May 2009 |archive-date=15 April 2017 |archive-url=https://web.archive.org/web/20170415143921/http://jxlib.org/ |url-status=dead }}</ref>
|<!-- OpenUi5 --> {{yes}}
|<!-- proto -->
Line 512 ⟶ 480:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda --> {{yes}}<ref>{{cite web|url=http://doc.wakanda.org/Wakanda-Studio-Reference-Guide/GUI-Designer/Grid.300-307017.en.html|title=Wakanda Doc Center|website=doc.wakanda.org}}</ref>
|<!-- ZK --> {{yes}}
|<!-- Webix --> {{yes}}<br/><ref>{{cite web|url=https://webix.com/widget/datatable/|title=JavaScript Table (Grid) Widget – Webix HTML DataTable|website=webix.com}}</ref>
|-
!{{rh}}| [[Tree structure|Hierarchical Tree]]
Line 520 ⟶ 487:
|<!-- AngularJS -->
|<!-- Apache Royale --> {{yes}}
|<!-- dojo --> {{yes}}<br/><ref>{{cite web |url=http://docs.dojocampus.org/dijit/Tree |title=Dijit/Tree - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090509101557/http://docs.dojocampus.org/dijit/Tree |archive-date=9 May 2009 }}</ref>
|<!-- Cash -->
|<!-- dojo --> {{yes}}<ref>{{cite web |url=http://docs.dojocampus.org/dijit/Tree |title=Dijit/Tree - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090509101557/http://docs.dojocampus.org/dijit/Tree |archive-date=9 May 2009 }}</ref>
|<!-- Ember.js -->
|<!-- Enyo --> {{yes}}<br/><ref>{{cite web|url=http://www.discoversdk.com/knowledge-base/enya-javascript-framework|title=Enyo JavaScript Framework - Example - DiscoverSDK Code Examples}}</ref>
|<!-- ExtJS --> {{yes}}<br/><ref>{{cite web|url=https://examples.sencha.com/extjs/7.3.0/|title=Sencha - Ext JS 7.3.0 Examples|website=sencha.com|access-date=5 August 2012|archive-url=https://web.archive.org/web/20140512083051/http://www.sencha.com/products/extjs/examples/#sample-6|archive-date=12 May 2014|url-status=dead}}</ref>
|<!-- GWT --> {{yes}}
|<!-- jQuery --> {{depends|With plugins}}<br/><ref>{{cite web|url=http://jquery.bassistance.de/treeview/demo/|title=treeview |archive-url=https://web.archive.org/web/20081009033326/http://jquery.bassistance.de/treeview/demo/ |archive-date=9 October 2008}}, {{cite web|url=http://abeautifulsite.net/notebook/58 |archive-url=https://web.archive.org/web/20080718170831/http://abeautifulsite.net/notebook/58 |url-status=dead|title=file_tree_viewer|archive-date=18 July 2008 }}</ref>
|<!-- jQWidgets --> {{yes}}<br/><ref>{{cite web |url=http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxtree/index.htm |title=jQuery Tree |website=jqwidgets.com |access-date=2015-12-17}}</ref>
|<!-- MooTools --> {{depends|With plugins}}<br/><ref>{{cite web|url=http://sites.google.com/a/mindplay.dk/mootree/|title=mootree|website=sites.google.com|access-date=18 November 2008|archive-date=11 September 2016|archive-url=https://web.archive.org/web/20160911065330/https://sites.google.com/a/mindplay.dk/mootree/|url-status=dead}}</ref>
|<!-- OpenUi5 --> {{yes}}
|<!-- proto -->
|<!-- qooxdoo --> {{yes}}<br/><ref>{{Cite web |url=http://demo.qooxdoo.org/current/demobrowser/ |title=Demo browser |access-date=3 October 2008 |archive-url=https://web.archive.org/web/20160402124804/http://demo.qooxdoo.org/current/demobrowser/ |archive-date=2 April 2016 |url-status=dead }}</ref>
|<!-- React -->
|<!-- SproutCore --> {{yes}}
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda --> {{yes}} (Auto Form)<ref>{{cite web|url=http://doc.wakanda.org/Wakanda-Studio-Reference-Guide/GUI-Designer/Auto-Form.300-307049.en.html|title=Wakanda Doc Center|website=doc.wakanda.org}}</ref>
|<!-- ZK --> {{yes}}
|<!-- Webix --> {{yes}}<br/><ref>{{cite web|url=https://webix.com/widget/treetable/|title=Tree Table or TreeGrid - Webix HTML5 library with jQuery integration|website=webix.com}}</ref>
|-
!{{rh}}| [[Online rich-text editor|Rich text editor]]
Line 544 ⟶ 509:
|<!-- AngularJS --> {{no}}
|<!-- Apache Royale --> {{yes}}
|<!-- dojo --> {{yes}}<br/><ref>{{cite web |url=http://docs.dojocampus.org/dijit/Editor |title=Dijit/Editor - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090416192415/http://docs.dojocampus.org/dijit/Editor |archive-date=16 April 2009 }}</ref>
|<!-- Cash -->
|<!-- dojo --> {{yes}}<ref>{{cite web |url=http://docs.dojocampus.org/dijit/Editor |title=Dijit/Editor - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090416192415/http://docs.dojocampus.org/dijit/Editor |archive-date=16 April 2009 }}</ref>
|<!-- Ember.js -->
|<!-- Enyo -->
|<!-- ExtJS --> {{yes}}<br/><ref>{{cite web|url=http://www.sencha.com/forum/showthread.php?23979-HTML-Editor&p=129748#post129748|title=HTML Editor|website=sencha.com}}</ref>
|<!-- GWT --> {{yes}}
|<!-- jQuery --> {{depends|With plugins}}<br/><ref>[http://markitup.jaysalvat.com/home/ markitup], [https://code.google.com/p/jwysiwyg/ jwysiwyg], [http://remiya.com/cms/projects/jquery-plugins/htmlbox/ htmlbox] {{webarchive|url=https://web.archive.org/web/20090707082332/http://remiya.com/cms/projects/jquery-plugins/htmlbox/ |date=7 July 2009 }}, [http://www.wymeditor.org/en/ WYMeditor] {{webarchive|url=https://web.archive.org/web/20080603155530/http://www.wymeditor.org/en/ |date=3 June 2008 }}</ref>
|<!-- jQWidgets --> {{yes}}<br/><ref name="jqxEditor">{{cite web |url=http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxeditor/index.htm |title=jQuery Editor |website=jqwidgets.com |access-date=2015-12-17}}</ref>
|<!-- MooTools --> {{yes}}<br/><ref>{{cite web|url=https://cheeaun.github.com/mooeditable/|title=MooEditable|website=cheeaun.github.com|access-date=19 September 2017|archive-date=1 March 2013|archive-url=https://web.archive.org/web/20130301160627/http://cheeaun.github.com/mooeditable/|url-status=dead}}</ref>
|<!-- OpenUi5 -->
|<!-- proto -->
Line 560 ⟶ 524:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda --> {{yes}}<ref>{{cite web|url=http://doc.wakanda.org/Wakanda-Studio-Reference-Guide/GUI-Designer/WYSIWYG-Editor.300-944628.en.html|title=Wakanda Doc Center|website=doc.wakanda.org}}</ref>
|<!-- ZK --> {{yes}}
|<!-- Webix --> {{yes}}<br/><ref>{{cite web|url=https://docs.webix.com/desktop__richtext.html|title=RichText - The RichText control documentation: overview and initialization. Webix Docs|website=docs.webix.com}}</ref>
|-
!{{rh}}| [[Autocomplete|Autocompletion]] tools
Line 568 ⟶ 531:
|<!-- AngularJS --> {{no}}
|<!-- Apache Royale -->
|<!-- dojo --> {{yes}}<br/><ref>{{cite web |url=http://docs.dojocampus.org/dijit/form/ComboBox |title=Dijit/Form/ComboBox - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090418063316/http://docs.dojocampus.org/dijit/form/ComboBox |archive-date=18 April 2009 }}</ref>
|<!-- Cash -->
|<!-- dojo --> {{yes}}<ref>{{cite web |url=http://docs.dojocampus.org/dijit/form/ComboBox |title=Dijit/Form/ComboBox - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090418063316/http://docs.dojocampus.org/dijit/form/ComboBox |archive-date=18 April 2009 }}</ref>
|<!-- Ember.js -->
|<!-- Enyo -->
|<!-- ExtJS --> {{yes}}
|<!-- GWT --> {{yes}}
|<!-- jQuery --> {{yes}}<br/><ref>{{cite web|url=http://jqueryui.com/autocomplete/|title=Autocomplete - jQuery UI|first=JS Foundation -|last=js.foundation|website=jqueryui.com}}</ref>
|<!-- jQWidgets --> {{yes}}<br/><ref>{{cite web |url=http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxinput/index.htm |title=jQuery Input, jQuery Auto Complete |website=jqwidgets.com |access-date=2015-12-17}}</ref>
|<!-- MooTools --> {{depends|With plugin}}<br/><ref>{{cite web|url=http://digitarald.de/project/autocompleter/|title=AutoCompleter » digitarald:Harald Kirschner|website=digitarald.de|access-date=25 April 2008|archive-date=23 October 2017|archive-url=https://web.archive.org/web/20171023134913/http://digitarald.de/project/autocompleter/|url-status=dead}}</ref>
|<!-- OpenUi5 -->
|<!-- proto --> {{yes}}
Line 584 ⟶ 546:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda --> {{yes}}<ref>{{cite web|url=http://doc.wakanda.org/Wakanda-Studio-Reference-Guide/GUI-Designer/Combo-Box.300-716637.en.html|title=Wakanda Doc Center|website=doc.wakanda.org}}</ref>
|<!-- ZK --> {{yes}}
|<!-- Webix --> {{yes}}
Line 592 ⟶ 553:
|<!-- AngularJS --> {{no}}
|<!-- Apache Royale -->
|<!-- dojo --> {{yes}}<br/><ref>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");</ref>
|<!-- Cash -->
|<!-- dojo --> {{yes}}<ref>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");</ref>
|<!-- Ember.js -->
|<!-- Enyo -->
Line 599 ⟶ 559:
|<!-- GWT --> {{yes}}
|<!-- jQuery --> {{yes}}
|<!-- jQWidgets --> {{yes}}<br/><ref name="jqxEditor" />
|<!-- MooTools --> {{yes}}<br/><ref>[http://docs.mootools.net/Element/Element#Element MooTools Elements] {{webarchive|url=https://web.archive.org/web/20080905200158/http://docs.mootools.net/Element/Element/ |date=5 September 2008 }}</ref>
|<!-- OpenUi5 -->
|<!-- proto --> {{yes}}
Line 608 ⟶ 568:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda -->{{no}}
|<!-- ZK --> {{yes}}
|<!-- Webix --> {{yes}}
Line 616 ⟶ 575:
|<!-- AngularJS -->
|<!-- Apache Royale --> {{yes}}
|<!-- dhtmlx --> {{yes}}<br/><ref>{{cite web|url=http://www.dhtmlx.com/docs/products/skinBuilder/index.shtml|title=JavaScript UI Library, Ajax Components & HTML5 Framework - Online Skin Builder|first=Dinamenta|last=UAB|website=dhtmlx.com}}</ref>
|<!-- Cash -->
|<!-- dhtmlx --> {{yes}}<ref>{{cite web|url=http://www.dhtmlx.com/docs/products/skinBuilder/index.shtml|title=JavaScript UI Library, Ajax Components & HTML5 Framework - Online Skin Builder|first=Dinamenta|last=UAB|website=dhtmlx.com}}</ref>
|<!-- Ember.js -->
|<!-- Enyo --> {{yes}}
|<!-- ExtJS --> {{yes}}<br/><ref>{{cite web|url=http://www.sencha.com/blog/2008/03/03/can-ext-be-skinned-of-course/|title=Blog|date=26 February 2015}}</ref>
|<!-- GWT --> {{yes}}<br/><ref>{{cite web|url=https://code.google.com/webtoolkit/documentation/com.google.gwt.doc.DeveloperGuide.UserInterface.html#StyleSheets|title=Skinning GWT controls with style sheets|access-date=17 March 2015|archive-date=12 September 2008|archive-url=https://web.archive.org/web/20080912071259/http://code.google.com/webtoolkit/documentation/com.google.gwt.doc.DeveloperGuide.UserInterface.html#StyleSheets|url-status=dead}}</ref>
|<!-- jQuery --> {{yes}}<br/><ref>{{cite web|url=http://jqueryui.com/themeroller|title=ThemeRoller - jQuery UI|first=JS Foundation -|last=js.foundation|website=jqueryui.com}}</ref>
|<!-- MochiKit -->
|<!-- MooTools --> {{yes}}
Line 632 ⟶ 590:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- YUI -->
|<!-- ZK --> {{yes}}
|<!-- Webix --> {{yes}}
Line 640 ⟶ 597:
|<!-- AngularJS -->
|<!-- Apache Royale --> {{yes}}
|<!-- Cash -->
|<!-- dojo --> {{yes}}
|<!-- Ember.js -->
|<!-- Enyo --> {{yes}}
|<!-- ExtJS --> {{yes}}<br/><ref>{{cite web|url=https://www.plerdy.com/blog/top-javascript-frameworks-and-libraries/#14|title=Best JavaScript Frameworks|date=16 September 2019}}</ref>
|<!-- GWT --> {{yes}}
|<!-- jQuery --> {{depends|With plugins}}
|<!-- jQWidgets --> {{yes}}<br/><ref>{{cite web |url=http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxwindow/index.htm |title=jQuery Window |website=jqwidgets.com |access-date=2015-12-17}}</ref>
|<!-- MooTools -->{{yes}}<br/><ref name="mochaJxlib">Using [http://mochaui.com/demo/ MochaUI Library] or [http://jxlib.org/ JxLib] {{Webarchive|url=http://webarchive.loc.gov/all/20090218102758/http%3A//jxlib.org// |date=18 February 2009 }}</ref>
|<!-- OpenUi5 -->
|<!-- proto -->
Line 656 ⟶ 612:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- ZK --> {{yes}}<br/><ref name="zkoss.org">{{cite web |url=http://www.zkoss.org/smalltalks/zkstudio_vedemo/ |title=A Sip of WYSIWYG Development with ZK Studio |access-date=2011-04-27 |url-status=dead |archive-url=https://web.archive.org/web/20081012063201/http://www.zkoss.org/smalltalks/zkstudio_vedemo/ |archive-date=12 October 2008 }}</ref>
|<!-- Wakanda --> {{yes}}<ref>{{cite web|url=http://doc.wakanda.org/Wakanda-Studio-Reference-Guide/GUI-Designer/Dialog.300-938942.en.html|title=Wakanda Doc Center|website=doc.wakanda.org}}</ref>
|<!-- ZK --> {{yes}}<ref name="zkoss.org">{{cite web |url=http://www.zkoss.org/smalltalks/zkstudio_vedemo/ |title=A Sip of WYSIWYG Development with ZK Studio |access-date=2011-04-27 |url-status=dead |archive-url=https://web.archive.org/web/20081012063201/http://www.zkoss.org/smalltalks/zkstudio_vedemo/ |archive-date=12 October 2008 }}</ref>
|<!-- Webix --> {{yes}}
|-
Line 664 ⟶ 619:
|<!-- AngularJS -->
|<!-- Apache Royale -->
|<!-- Cash -->
|<!-- dojo --> {{yes}}
|<!-- Ember.js -->
Line 670 ⟶ 624:
|<!-- ExtJS --> {{yes}}
|<!-- GWT --> {{yes}}
|<!-- jQuery --> {{depends|With plugin}}<br/><ref>{{cite web|url=https://code.google.com/p/css-template-layout/|title=Google Code Archive - Long-term storage for Google Code Project Hosting.|website=code.google.com}}</ref>
|<!-- jQWidgets --> {{yes}}<br/><ref>{{cite web |url=http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxdockinglayout/index.htm |title=jQuery Docking Layout |website=jqwidgets.com |access-date=2015-12-17}}</ref><ref>{{cite web |url=http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxsplitter/index.htm |title=jQuery Splitter |website=jqwidgets.com |access-date=2015-12-17}}</ref>
|<!-- MooTools -->{{yes}}<br/><ref name="mochaJxlib" />
|<!-- OpenUi5 -->
|<!-- proto -->
Line 680 ⟶ 634:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- ZK --> {{yes}}<br/><ref name="zkoss.org"/>
|<!-- Wakanda --> {{yes}}<ref>{{cite web|url=http://doc.wakanda.org/Wakanda-Studio-Reference-Guide/GUI-Designer/Container.300-661446.en.html|title=Wakanda Doc Center|website=doc.wakanda.org}}</ref>
|<!-- Webix --> {{yes}}<br/><ref>{{cite web|url=https://webix.com/widget/layout/|title=JavaScript layout library Webix for Web Apps Developers|website=webix.com}}</ref>
|<!-- ZK --> {{yes}}<ref name="zkoss.org"/>
|<!-- Webix --> {{yes}}<ref>{{cite web|url=https://webix.com/widget/layout/|title=JavaScript layout library Webix for Web Apps Developers|website=webix.com}}</ref>
|-
!{{rh}}| Canvas support
Line 688 ⟶ 641:
|<!-- AngularJS -->
|<!-- Apache Royale --> {{yes}}
|<!-- dojo -->{{yes}}<br/><ref>[http://docs.dojocampus.org/dojox/gfx dojo.gfx] {{webarchive|url=https://web.archive.org/web/20090309234151/http://docs.dojocampus.org/dojox/gfx |date=9 March 2009 }}</ref>
|<!-- Cash -->
|<!-- dojo -->{{yes}}<ref>[http://docs.dojocampus.org/dojox/gfx dojo.gfx] {{webarchive|url=https://web.archive.org/web/20090309234151/http://docs.dojocampus.org/dojox/gfx |date=9 March 2009 }}</ref>
|<!-- Ember.js -->
|<!-- Enyo --> {{yes}}
|<!-- ExtJS -->{{yes}}
|<!-- GWT -->{{yes}}
|<!-- jQuery --> {{depends|With plugin}}<br/><ref>{{cite web|url=http://calebevans.me/projects/jcanvas/index.php|title=jCanvas|website=jCanvas}}</ref>
|<!-- jQWidgets --> {{yes}}<br/><ref name="jqxDraw">{{cite web |url=http://www.jqwidgets.com/jquery-widgets-documentation/documentation/jqxdraw/jquery-draw-getting-started.htm |title=jQuery Draw Plugin |website=jqwidgets.com |access-date=2015-12-17}}</ref>
|<!-- MooTools -->{{yes}}<br/><ref>{{cite web|url=http://ajaxian.com/archives/mocha-ui-mootools-canvas-ui-class|title=Mocha UI – MooTools Canvas UI class - Ajaxian|website=ajaxian.com|date=17 November 2015 }}</ref>
|<!-- OpenUi5 -->
|<!-- proto -->
Line 704 ⟶ 656:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- WakandaZK --> {{yes}}<br/><ref name="zkoss1">{{cite web|url=http://docbooks.wakandazkoss.org/Wakanda-Studio-Reference-Guidewiki/GUI-DesignerSmall_Talks/2010/Canvas.300-950231.en.htmlJune/How_To_Use_Canvas4Z|title=WakandaZK Doc- Center|website=doc.wakanda.orgLeading Enterprise Ajax Solutions}}</ref>
|<!-- ZK --> {{yes}}<ref name="zkoss1">{{cite web|url=http://books.zkoss.org/wiki/Small_Talks/2010/June/How_To_Use_Canvas4Z|title=ZK - Leading Enterprise Ajax Solutions}}</ref>
|<!-- Webix --> {{yes}}
|-
Line 712 ⟶ 663:
|<!-- AngularJS --> {{yes}}
|<!-- Apache Royale --> {{yes}}
|<!-- dojo -->{{yes}}<br/><ref>{{cite web|url=http://shaneosullivan.wordpress.com/2010/06/13/dojos-new-mobile-app-project/|title=Dojo's new Mobile App Project|date=13 June 2010}}</ref>
|<!-- Cash -->
|<!-- dojo -->{{yes}}<ref>{{cite web|url=http://shaneosullivan.wordpress.com/2010/06/13/dojos-new-mobile-app-project/|title=Dojo's new Mobile App Project|date=13 June 2010}}</ref>
|<!-- Ember.js --> {{yes}}
|<!-- Enyo --> {{yes}}
|<!-- ExtJS --> {{yes}}
|<!-- GWT -->{{depends|With plugin}}<br/><ref>{{cite web|url=https://code.google.com/p/jqm4gwt/|title=Google Code Archive - Long-term storage for Google Code Project Hosting.|website=code.google.com}}</ref>
|<!-- jQuery --> {{depends|With plugin}}<br/><ref>{{cite web|url=http://www.jqtouch.com/|title=jQT|website=jQT}}</ref>
|<!-- jQWidgets --> {{yes}}<br/><ref>{{cite web |url=http://www.jqwidgets.com/jquery-widgets-demo/mobiledemos/ |title=jQWidgets Mobile Demos |website=jqwidgets.com |access-date=2015-12-17}}</ref>
|<!-- MooTools -->{{depends|With plugin}}<br/><ref>{{cite web|url=https://github.com/cpojer/mootools-mobile|title=cpojer/mootools-mobile|website=GitHub|date=10 October 2021 }}</ref>
|<!-- OpenUi5 --> {{yes}}
|<!-- proto -->
Line 728 ⟶ 678:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- ZK -->{{yes}}<br/><ref>{{cite web|url=http://www.zkoss.org/whyzk/Features|title=ZK - Leading Enterprise Java Web Framework|website=ZK - Java Web Framework}}</ref>
|<!-- Wakanda -->{{yes}}<ref>{{cite web|url=http://doc.wakanda.org/Wakanda-Studio-Reference-Guide/GUI-Designer/Navigation-View.300-950872.en.html|title=Wakanda Doc Center|website=doc.wakanda.org}}</ref><ref>{{cite web|url=http://doc.wakanda.org/Wakanda-Studio-Reference-Guide/GUI-Designer/Split-View.300-951276.en.html|title=Wakanda Doc Center|website=doc.wakanda.org}}</ref>
|<!-- ZKWebix --> {{yes}}<br/><ref>{{cite web|url=http[https://wwwwebix.zkoss.orgcom/whyzktouch/Features|title=ZK] -Webix Leadingmobile/tablet Enterprise Java Web Framework|website=ZK - Java Web Framework}}support</ref>
|<!-- Webix --> {{yes}}<ref>[https://webix.com/touch/] Webix mobile/tablet support</ref>
|-
!{{rh}}| Accessibility / <br /> graceful degradation<ref>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.</ref>
Line 736 ⟶ 685:
|<!-- AngularJS --> {{yes}}
|<!-- Apache Royale -->
|<!-- dojo --> {{yes}}<br/><ref name="docs.dojocampus.org">{{cite web |url=http://docs.dojocampus.org/quickstart/writingWidgets/a11y |title=Quickstart/WritingWidgets/A11y - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090406005938/http://docs.dojocampus.org/quickstart/writingWidgets/a11y |archive-date=6 April 2009 }}</ref>
|<!-- Cash -->
|<!-- dojo --> {{yes}}<ref name="docs.dojocampus.org">{{cite web |url=http://docs.dojocampus.org/quickstart/writingWidgets/a11y |title=Quickstart/WritingWidgets/A11y - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090406005938/http://docs.dojocampus.org/quickstart/writingWidgets/a11y |archive-date=6 April 2009 }}</ref>
|<!-- Ember.js --> {{no}}
|<!-- Enyo --> {{yes}}
|<!-- ExtJS --> {{yes}}<br/><ref name="docs.sencha.com">{{cite web|url=http://docs.sencha.com/extjs/latest|title=Ext JS 7.3.0 - Sencha Docs|website=docs.sencha.com}}</ref>
|<!-- GWT --> {{yes}}<br/><ref>{{cite web|url=https://webtoolkit.googleblog.com/2008/09/built-in-accessibility-in-gwt-15.html|title=Built-in Accessibility in GWT 1.5 Applications}}</ref>
|<!-- jQuery --> {{yes}}
|<!-- jQWidgets --> {{yes}}<br/><ref name="jQWidgetsAccessibility">{{cite web |url=http://www.jqwidgets.com/jquery-widgets-documentation/documentation/accessibility/jqwidgets-accessibility-overview.htm |title=jQWidgets Accessibility Overview |website=jqwidgets.com |access-date=2015-12-17}}</ref>
|<!-- MooTools --> {{yes}}
|<!-- OpenUi5 -->
|<!-- proto -->
|<!-- qooxdoo --> {{no}}<br/><ref>[http://codecorps.wordpress.com/2007/04/11/qooxdoo-funny-name-interesting-ajax-toolkit/ Qooxdoo's "Extreme JavaScript" paradigm] {{webarchive|url=https://web.archive.org/web/20081012051826/http://codecorps.wordpress.com/2007/04/11/qooxdoo-funny-name-interesting-ajax-toolkit/ |date=12 October 2008 }}</ref>
|<!-- React -->
|<!-- SproutCore -->{{partialyes-no| Degradation: No<br />Accessibility: Yes}}
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda -->
|<!-- ZK --> {{yes}}
|<!-- Webix --> {{yes}}<br/><ref>{{cite web|url=https://docs.webix.com/desktop__accessibility.html|title=Accessibility of Guides, Designing User Interface Webix Docs|website=docs.webix.com}}</ref>
|-
!{{rh}}| [[WAI-ARIA|ARIA]] compliant
Line 760 ⟶ 707:
|<!-- AngularJS -->
|<!-- Apache Royale -->
|<!-- dojo --> {{yes}}<br/><ref name="docs.dojocampus.org"/>
|<!-- Cash -->
|<!-- dojo --> {{yes}}<ref name="docs.dojocampus.org"/>
|<!-- Ember.js -->
|<!-- Enyo -->
|<!-- ExtJS --> {{yes}}<br/><ref name="docs.sencha.com"/>
|<!-- GWT -->
|<!-- jQuery --> {{yes}}<br/><ref>{{cite web|url=http://jqueryui.com/about|title=About jQuery UI - jQuery UI|first=JS Foundation -|last=js.foundation|website=jqueryui.com}}</ref>
|<!-- jQWidgets --> {{yes}}<br/><ref name="jQWidgetsAccessibility" />
|<!-- MooTools -->
|<!-- OpenUi5 --> {{yes}}
Line 774 ⟶ 720:
|<!-- React -->
|<!-- SproutCore --> {{yes}}
|<!-- Svelte --> {{yes}}<br/><ref>{{cite web|url=https://svelte.dev/docs/svelte/compiler-warnings#a11y_accesskey|title=Compiler Warnings • Docs • Svelte}}</ref>
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda -->
|<!-- ZK --> {{yes}}
|<!-- Webix --> {{yes}}<br/><ref>{{cite web|url=https://docs.webix.com/desktop__accessibility.html#waiariaattributes|title=Accessibility of Guides, Designing User Interface Webix Docs|website=docs.webix.com}}</ref>
|-
!{{rh}}| Developer tools, Visual design
Line 784 ⟶ 729:
|<!-- AngularJS -->
|<!-- Apache Royale -->
|<!-- dojo --> {{yes}}<br/><ref>[[Wavemaker]]</ref><ref>[[Aptana]] Studio</ref>
|<!-- Cash -->
|<!-- dojo --> {{yes}}<ref>[[Wavemaker]]</ref><ref>[[Aptana]] Studio</ref>
|<!-- Ember.js -->
|<!-- Enyo --> {{yes|in progress}}<br/><ref>{{cite web |url=http://developer.palm.com/blog/2012/04/april-code-releases-for-open-webos/ |title=HP webOS Developer Blog |access-date=2012-08-05 |url-status=dead |archive-url=https://web.archive.org/web/20120709053821/http://developer.palm.com/blog/2012/04/april-code-releases-for-open-webos/ |archive-date=9 July 2012 }}</ref>
|<!-- ExtJS --> {{yes}}<br/><ref>{{cite web|url=http://www.sencha.com/products/designer/|title=Sencha Architect|date=25 March 2015}}</ref><ref>{{cite web|url=http://www.sencha.com/blog/2008/04/07/spket-ide-1611-released-includes-new-ext-theme-builder/|title=Blog|date=26 February 2015}}</ref><ref>{{cite web|url=http://www.sencha.com/products/js/build/|title=Sencha Ext JS|date=5 November 2020}}</ref>
|<!-- GWT --> {{yes}}
|<!-- jQuery --> {{yes}}<br/><ref>{{cite web|url=http://netbeans.org/kb/docs/web/js-toolkits-jquery.html|title=Using jQuery to Enhance the Appearance and Usability of a Web Page - NetBeans Tutorial|first=lloyd.dunn @ sun.com|last=troy.giunipero@sun.com|website=netbeans.org|access-date=9 February 2010|archive-date=12 July 2017|archive-url=https://web.archive.org/web/20170712052659/https://netbeans.org/kb/docs/web/js-toolkits-jquery.html|url-status=dead}}</ref><ref>{{cite web|url=http://api.jquery.com/|title=jQuery API Documentation|first=JS Foundation -|last=js.foundation|website=api.jquery.com}}</ref>
|<!-- jQWidgets --> {{yes}}<br/><ref name="jQWidgetsThemeBuilder">{{cite web |url=http://www.jqwidgets.com/themebuilder/ |title=Theme Builder for jQWidgets |website=jqwidgets.com |access-date=2015-12-17}}</ref><ref>{{cite web |url=https://www.jqwidgets.com/chartstudio/ |title=ßeta - jQWidgets Charts Studio |website=jqwidgets.com |access-date=2015-12-17}}</ref><ref>{{cite web |url=https://www.jqwidgets.com/jseditor/ |title=JSEditor |website=jqwidgets.com |access-date=2015-12-17}}</ref>
|<!-- MooTools --> {{yes}}<br/><ref>{{cite web|url=http://mootools.net/docs/core|title=MooTools-core Documentation|access-date=14 October 2009|archive-url=https://web.archive.org/web/20091002162608/http://mootools.net/docs/core|archive-date=2 October 2009|url-status=dead}}</ref><ref>{{cite web|url=http://mootools.net/docs/more|title=MooTools-more Document|access-date=14 October 2009|archive-url=https://web.archive.org/web/20091004112249/http://www.mootools.net/docs/more|archive-date=4 October 2009|url-status=dead}}</ref>
|<!-- OpenUi5 -->
|<!-- proto -->
|<!-- qooxdoo --> {{yes}}<br/><ref>[http://qooxdoo.org/about/framework Custom build, JS Linker, API generation, Unit test framework, etc.] {{webarchive|url=https://web.archive.org/web/20080725201346/http://qooxdoo.org/about/framework |date=25 July 2008 }}</ref>
|<!-- React -->
|<!-- SproutCore --> {{no}}
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda -->{{yes}}<ref>{{cite web|url=http://www.wakanda.org/features/studio|title=Wakanda FullStack JavaScript Platform|first=Wakanda|last=SAS|website=Wakanda FullStack JavaScript Platform|access-date=20 March 2012|archive-url=https://web.archive.org/web/20120314180109/http://www.wakanda.org/features/studio|archive-date=14 March 2012|url-status=dead}}</ref>
|<!-- ZK --> {{yes}}
|<!-- Webix --> {{Yes}}<br/><ref>{{cite web|url=https://webix.com/skin-builder/|title=Webix Skin Builder|website=webix.com}}</ref><ref>{{cite web|url=https://webix.com/form-builder/|title=Formbuilder|website=webix.com}}</ref>
|-
!{{rh}}| Offline storage<ref>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 [https://code.google.com/apis/gears/design.html Gears Getting Started Guide].</ref>
Line 808 ⟶ 751:
|<!-- AngularJS -->
|<!-- Apache Royale --> {{yes}}
|<!-- dojo --> {{no}}<br/><ref>[http://o.dojotoolkit.org/offline o.DojoToolkit.Org/offline] {{webarchive|url=https://web.archive.org/web/20100210190309/http://o.dojotoolkit.org/offline |date=10 February 2010 }} says "Dojo Offline is no longer supported after Dojo 1.3"</ref>
|<!-- Cash -->
|<!-- dojo --> {{no}}<ref>[http://o.dojotoolkit.org/offline o.DojoToolkit.Org/offline] {{webarchive|url=https://web.archive.org/web/20100210190309/http://o.dojotoolkit.org/offline |date=10 February 2010 }} says "Dojo Offline is no longer supported after Dojo 1.3"</ref>
|<!-- Ember.js -->
|<!-- Enyo --> {{yes}}
|<!-- ExtJS --> {{yes}}<br/><ref>{{cite web|url=http://docs.sencha.com/extjs/latest/|title=Ext JS 7.3.0 - Sencha Docs|website=docs.sencha.com}}</ref>
|<!-- GWT --> {{depends| Via [[Google Gears]]}}<br/><ref>{{cite web|url=https://code.google.com/p/gwt-google-apis/|title=googlearchive/gwt-google-apis|website=GitHub|date=24 April 2021}}</ref>
|<!-- jQuery --> {{depends|With plugin}}<br/><ref>{{cite web|url=https://sites.google.com/site/daveschindler/jquery-html5-storage-plugin/|title=jQuery HTML5 Storage plugin - daveschindler|website=sites.google.com|access-date=15 October 2012|archive-date=4 March 2017|archive-url=https://web.archive.org/web/20170304153125/https://sites.google.com/site/daveschindler/jquery-html5-storage-plugin/|url-status=dead}}</ref>
|<!-- jQWidgets --> {{yes}}<br/><ref>{{cite web |url=http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxgrid/saveloadstate.htm?arctic |title=This example shows how to Save/Load the Grid's state. |website=jqwidgets.com |access-date=2015-12-17}}</ref>
|<!-- MooTools -->
|<!-- Yes -->
Line 824 ⟶ 766:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda --> planned
|<!-- ZK --> {{yes}}
|<!-- Webix --> {{yes}}
Line 832 ⟶ 773:
|<!-- AngularJS -->
|<!-- Apache Royale -->
|<!-- dojo --> {{yes}}<br/><ref>{{cite web |url=http://docs.dojocampus.org/dojox/gfx |title=Dojox/GFX - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090309234151/http://docs.dojocampus.org/dojox/gfx |archive-date=9 March 2009 }}</ref>
|<!-- Cash -->
|<!-- dojo --> {{yes}}<ref>{{cite web |url=http://docs.dojocampus.org/dojox/gfx |title=Dojox/GFX - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090309234151/http://docs.dojocampus.org/dojox/gfx |archive-date=9 March 2009 }}</ref>
|<!-- Ember.js -->
|<!-- Enyo -->
|<!-- ExtJS --> {{yes}}
|<!-- GWT -->
|<!-- jQuery --> {{depends| With plugin}}<br/><ref>[http://keith-wood.name/svg.html jQuery SVG plugin]</ref>
|<!-- jQWidgets --> {{yes}}<br/><ref name="jqxDraw" />
|<!-- MooTools --> {{yes}}<br/><ref>{{cite web|url=https://github.com/kamicane/art|title=kamicane/art|website=GitHub|date=26 February 2021}}</ref>
|<!-- OpenUi5 -->
|<!-- proto -->
Line 848 ⟶ 788:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- WakandaZK --> {{yes}}<br/><ref (via Raphael)name="zkoss1"/>
|<!-- ZK --> {{yes}}<ref name="zkoss1"/>
|<!-- Webix --> {{yes}} (via Raphael)<ref>{{cite web|url=https://docs.webix.com/desktop__chart_integration.html#raphaeumllcharts|title=Chart Integration - Third-party charts integration guide. Webix Docs|website=docs.webix.com}}</ref>
|-
Line 856 ⟶ 795:
|<!-- AngularJS -->
|<!-- Apache Royale --> {{yes}}
|<!-- dojo --> {{yes}}<br/><ref>{{cite web |url=http://docs.dojocampus.org/dojox/charting |title=Dojox/Charting - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090303111929/http://docs.dojocampus.org/dojox/charting |archive-date=3 March 2009 }}</ref>
|<!-- Cash -->
|<!-- dojo --> {{yes}}<ref>{{cite web |url=http://docs.dojocampus.org/dojox/charting |title=Dojox/Charting - DojoCampus - Docs |access-date=2009-04-23 |url-status=dead |archive-url=https://web.archive.org/web/20090303111929/http://docs.dojocampus.org/dojox/charting |archive-date=3 March 2009 }}</ref>
|<!-- Ember.js -->
|<!-- Enyo -->
|<!-- ExtJS -->{{yes}}<br/><ref>[https://archive.today/20120709235342/http://dev.sencha.com/deploy/dev/docs/?class=Ext.chart.Chart Chart API]{{Dead link|date=July 2020 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>
|<!-- GWT -->
|<!-- jQuery --> {{depends|With plugin}}<br/><ref>{{cite web|url=http://www.flotcharts.org/|title=Flot: Attractive JavaScript plotting for jQuery|website=flotcharts.org}}</ref><ref>[http://www.filamentgroup.com/lab/jquery_visualize_plugin_accessible_charts_graphs_from_tables_html5_canvas/ jQuery Visualize Plugin] {{webarchive|url=https://web.archive.org/web/20090709085716/http://www.filamentgroup.com/lab/jquery_visualize_plugin_accessible_charts_graphs_from_tables_html5_canvas |date=9 July 2009 }}</ref>
|<!-- jQWidgets --> {{yes}}<br/><ref>{{cite web |url=http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxchart/index.htm |title=jqxChart - javascript chart widget powered by jQuery, HTML5, SVG |website=jqwidgets.com |access-date=2015-12-17}}</ref><ref>{{cite web |url=http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxgauge/index.htm |title=jQuery Gauge |website=jqwidgets.com |access-date=2015-12-17}}</ref>
|<!-- MooTools -->
|<!-- OpenUi5 -->
Line 872 ⟶ 810:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- WakandaZK --> {{yes}}<br/><ref>{{cite web|url=http://docwww.wakandazkoss.org/Wakanda-Studio-Reference-Guidezkdemo/GUI-Designer/Chart.300-726286.en.htmlchart|title=WakandaZK DocLive CenterDemo - Other Charts|website=doc.wakanda.orgLive Demo - ZK Web Application Framework}}</ref>
|<!-- ZKWebix --> {{yes}}<br/><ref>{{cite web|url=httphttps://wwwwebix.zkoss.orgcom/zkdemowidget/charts/chart|title=ZKJavaScript LiveCharts DemoUI Widget - OtherWebix JS Charts|website=Live Demo - ZK Web Application Frameworkwebix.com}}</ref>
|<!-- Webix --> {{yes}}<ref>{{cite web|url=https://webix.com/widget/charts/|title=JavaScript Charts UI Widget - Webix JS Charts|website=webix.com}}</ref>
|-
!{{rh}}| RTL Support in UI Components
Line 880 ⟶ 817:
|<!-- AngularJS -->
|<!-- Apache Royale --> {{yes}}
|<!-- Cash -->
|<!-- dojo --> {{yes}}
|<!-- Ember.js -->
Line 887 ⟶ 823:
|<!-- GWT -->
|<!-- jQuery --> {{depends|Depends on the plugin used}}
|<!-- jQWidgets --> {{yes}}<br/><ref name="jQWidgetsAccessibility" />
|<!-- MooTools -->
|<!-- OpenUi5 --> {{yes}}
Line 896 ⟶ 832:
|<!-- Svelte -->
|<!-- Vue -->
|<!-- Wakanda -->
|<!-- ZK -->
|<!-- Webix --> {{no}}
|-
!
! {{verth|va=top|[[Angular (web framework)|Angular]]}}
! {{verth|va=top|[[AngularJS]]}}
! {{verth|va=top|[[Apache Royale]]}}
! {{verth|va=top|[[Dojo Toolkit|Dojo]]}}
!Cash
! {{verth|va=top|[[Ember.js]]}}
![[Dojo Toolkit|Dojo]]
! {{verth|va=top|[[Enyo (software)|Enyo]]}}
![[Ember.js]]
! {{verth|va=top|[[Ext (JavaScript library)|ExtJS]]}}
![[Enyo (software)|Enyo]]
! {{verth|va=top|[[Google Web Toolkit]]}}
![[Ext (JavaScript library)|ExtJS]]
! {{verth|va=top|[[jQuery]]}}
![[Google Web Toolkit]]
! {{verth|va=top|[[jQWidgets]]}}
![[jQuery]]
! {{verth|va=top|[[MooTools]]}}
![[jQWidgets]]
! {{verth|va=top|[[OpenUI5]]}}
![[MooTools]]
! {{verth|va=top|[[Prototype JavaScript Framework|Prototype]] & [[script.aculo.us|script. aculo.us]]<ref name="addon" />}}
![[OpenUI5]]
! {{verth|va=top|[[qooxdoo]]}}
![[Prototype JavaScript Framework|Prototype]] & [[script.aculo.us|script. aculo.us]]<ref name="addon" />
! {{verth|va=top|[[React (JavaScript library)|React]]}}
![[qooxdoo]]
! {{verth|va=top|[[SproutCore]]}}
![[React (JavaScript library)|React]]
! {{verth|va=top|[[Svelte]]}}
![[SproutCore]]
! {{verth|va=top|[[Vue.js|Vue]]}}
![[Svelte]]
! {{verth|va=top|[[ZK Framework|ZK]]}}
![[Vue.js|Vue]]
! {{verth|va=top|[[Webix]]}}
![[Wakanda (software)|Wakanda]]
![[ZK Framework|ZK]]
![[Webix]]
|}
 
Line 959 ⟶ 892:
|<!-- Chrome --> 23
|<!-- Edge -->
|-
!{{rh}}|Cash
|<!-- MSIE --> 11+
|<!-- Firefox --> 21+
|<!-- Safari --> 6+
|<!-- Opera --> 15+
|<!-- Chrome --> 23+
|<!-- Edge --> 12+
|-
!{{rh}}|[[Dojo Toolkit|Dojo]]
Line 1,088 ⟶ 1,013:
|<!-- Chrome -->23+
|<!-- Edge -->12+
|-
!{{rh}}|[[Wakanda (software)|Wakanda]]
|<!-- MSIE --> 9+
|<!-- Firefox --> 4+
|<!-- Safari --> 5+
|<!-- Opera -->
|<!-- Chrome --> 11+
|<!-- Edge -->
|-
!{{rh}}|[[ZK Framework|ZK]]
Line 1,106 ⟶ 1,023:
|-
!{{rh}}|[[Webix]]
|<!-- MSIE --> 811+<ref name="webix.com">{{cite web|url=https://docs.webix.com/desktop__compatibility.html|title=Compatibility Webix Docs|website=docs.webix.com}}</ref>
|<!-- Firefox --> 393+<ref name="webix.com"/>
|<!-- Safari --> 45+<ref name="webix.com"/>
|<!-- Opera --> 995+<ref name="webix.com"/>
|<!-- Chrome --> 195+<ref name="webix.com"/>
|<!-- Edge --> 95+<ref name="webix.com"/>
|}