Comparison Of JavaScript Frameworks

There are many JavaScript frameworks available. The intention of this comparison is to show some examples of notable JavaScript frameworks.

General information

Framework Version compared Size License Source language
AngularJS 1.5.0
(minified & compressed) MIT JavaScript
Backbone.js 1.2.1
(Packed and gzipped) MIT JavaScript
DHTMLX 4.0
Variable GPL & Commercial[1] JavaScript
Dojo 1.10.4
Variable.
Base size:
(minified & gzipped),
(minified),
(uncompressed)[2]
BSD & AFL JavaScript + HTML
Ember.js 1.7.0
(minified & gzipped),
(minified),
(uncompressed)
MIT JavaScript
Enyo 2.0.1
(core gzipped) Apache 2 [3] JavaScript
Ext JS 4.2
GPL & Commercial [4] JavaScript
Google Web Toolkit 2.7.0
Variable Apache Java
jQuery (library) 1.9.1
(minified & gzipped),
(minified),
(uncompressed)
MIT JavaScript
jQWidgets 3.9.1
(minified),
(uncompressed)
Creative Commons Attribution-NonCommercial 3.0 and Commercial[5] JavaScript, HTML, CSS
Knockout 3.4.0
58 KB minified / 280 KB (development mode) MIT JavaScript
MooTools 1.6.0
Variable;
,[6]


Variable;
,[7]
(uncompressed)[8]

MIT JavaScript
React (JavaScript library) 15.4.1
(minified)[9]
including React (21kB) + ReactDOM(121kB))
BSD JavaScript
SAP OpenUI5 1.44.9
20.8MB (1.34.7 runtime, minified, zipped)
6.8MB(1.34.7 runtime mobile, minified, zipped)
52.1MB (1.34.7 SDK, zipped)
Apache 2[10] JavaScript
Prototype & script. aculo.us[11] Prototype: 1.7.3

script.aculo.us: 1.9.0
MIT JavaScript
qooxdoo 5.0.1
Variable, starting at (gzipped) LGPL & EPL JavaScript
SmartClient & SmartGWT SmartClient: 11.1

SmartGWT: 6.1
(gzipped). LGPL & Commercial Server: Java
Client: Java (Smart GWT) or Javascript (SmartClient) or XML (both)
SproutCore 1.11.2
(gzipped). MIT JavaScript
Unified.js 14.0
variable about 871 KiB (minified & gzipped) BSD(component only) & Commercial JavaScript
Vue.js 2.1.10
26 kB (minified & gzipped)

71 kB (minified) [12]

219 kB (uncompressed) [13]

MIT JavaScript
Wakanda 9
Variable GPL3 (framework), AGPL (server) & Commercial JavaScript + HTML + CSS
Webix 4.1
188 kB (gzipped) GPL & Commercial JavaScript
ZK 8.0.1
Variable LGPL & GPL & ZOL XML + Java (JavaScript optional)

Features

 v AngularJS DHTMLX Dojo Ember.js Enyo Ext JS Google Web Toolkit jQuery jQWidgets MooTools OpenUI5 Prototype & script. aculo.us[11] qooxdoo SmartClient and SmartGWT SproutCore Unified.js Wakanda ZK Webix
Feature detection[14] Yes No Yes[15] Yes Yes[16] No[17][18] Yes[19] Yes Yes[20] No[21] Yes Partial [22] Yes Yes Partial No[23] Yes
DOM wrapped[24] Yes Yes Yes No Yes Yes Yes Yes No[25] No[26][27] Yes Yes No Yes Yes Yes Yes
XMLHttpRequest
data retrieval
Yes Yes Yes[28] Yes Yes Yes Yes Yes[29] Yes[30] Yes Yes Yes Yes Yes Yes Yes Yes
WebSocket Yes Yes[28] Yes Yes Yes Yes No Yes[30] Yes[31] Yes Yes Yes Via Plugin Yes Yes[32]
Server push data retrieval Yes[33] Yes[34] Yes[35] Yes[33] No Yes[36] Via Plugin Yes[37] Yes[38] Yes
Other data retrieval Yes: XML, CSV, HTML Yes: XML, HTML, CSV, ATOM[39] Yes: XML, SOAP, AMF, Ext.Direct Yes: RPC, RequestFactory Yes: XML, HTML Yes: XML, JSON, CSV, TSV[29] Yes: XML, HTML Yes: XML, WSDL, RSS, and Java-based SQL, Hibernate, POJO adapters Yes: XML, CSV,SSV,[40] JSON(with js plugin) Yes: JSON-RPC, Wakanda REST Yes: XML, HTML, CS, JSON, JSArray, CSV
Drag and drop Yes Yes[41] Yes With plugin[42] Yes[43] Yes[44] Yes[45] Yes Yes Yes Yes Yes Yes Yes Yes[46]
Simple visual effects Yes Yes Yes[47] Yes Yes Yes Yes Yes Yes[48] Yes Yes Yes Yes Yes[49] Yes Yes Yes Yes
Animation /
advanced visual effects
Yes Yes Yes[50] Yes[51] Yes Yes Yes Yes Yes[52] Yes Yes Yes Yes[49] Yes Yes Yes[53]
Back button support /
history management
No Yes[54] Yes Yes[55] Yes[56] Yes With plugins[57] No With plugin[58] Yes Yes Yes Yes no Yes Yes
Input form widgets & validation Yes Yes[59] Yes[60] Yes Yes Yes, Validation requires plugin[61] With plugins[62] Yes[63] Yes Yes Yes Yes Yes Yes No Yes Yes Yes [64][65]
AngularJS DHTMLX Dojo Ember.js Enyo ExtJS Google Web Toolkit jQuery jQWidgets MooTools OpenUI5 Prototype & script. aculo.us[11] qooxdoo SmartClient and SmartGWT SproutCore Unified.js Wakanda ZK Webix
Grid Yes[66] Yes[67] Yes Yes With plugins[68] Yes[69] With plugin[70] Yes Yes Yes Yes Yes Yes[71] Yes Yes[72]
Hierarchical Tree Yes[73] Yes[74] Yes[75] Yes[76] Yes With plugins[77] Yes[78] With plugins[79] Yes Yes[80] Yes Yes Yes Yes (Auto Form)[81] Yes Yes [82]
Rich text editor No Yes[83] Yes[84] Yes[85] Yes With plugins[86] Yes[87] Yes[88] Yes Yes Via plugin Yes[89] Yes Yes[90]
Autocompletion tools No Yes[91] Yes[92] Yes Yes Yes[93] Yes[94] With plugin[95] Yes Yes With plugins Yes Yes[96] Yes Yes
HTML generation tools No Yes Yes[97] Yes Yes Yes Yes[87] Yes[98] Yes Yes Yes Yes Yes No Yes Yes
Widgets themeable / skinnable Yes Yes[99] Yes Yes[100] Yes[101] Yes[102] Yes Yes Yes Yes Yes Yes Yes Yes
GUI resizable panels and modal dialogs Yes[103] Yes Yes Yes Yes With plugins Yes[104] Yes[105] Yes Yes Yes Yes Yes[106] Yes[107] Yes
GUI page layout Yes[108] Yes Yes Yes With plugin[109] Yes[110][111] Yes[105] Yes Yes Yes Yes Yes[112] Yes[107] Yes [113]
Canvas support Yes Yes[114] Yes Yes Yes With plugin[115] Yes[116] Yes[117] Yes Yes Yes Yes Yes[118] Yes[119] Yes
Mobile/tablet support (touch events) Yes Yes[120] Yes[121] Yes Yes Yes With plugin[122] With plugin[123] Yes[124] With plugin[125] Yes Yes Yes Yes Yes Yes[126][127] Yes[128] Yes[129]
Accessibility /
graceful degradation[130]
Yes No Yes[131] No Yes Yes[132] Yes[133] Yes Yes[134] Yes No[135] Degradation: No
Accessibility: Yes
Degradation: No
Accessibility: Yes
Yes Yes Yes[136]
ARIA compliant No Yes[131] Yes[132] Yes[137] Yes[134] Yes No Yes Yes Yes Yes Yes [138]
Developer tools, Visual design Yes[139] Yes[140][141] in progress[142] Yes[143][144][145] Yes Yes[146][147] Yes[148][149][150] Yes[151][152] Yes[153] Yes No Yes Yes[154] Yes Yes[155][156][157]
Offline storage[158] Yes No[159] Yes Yes[160] Via Google Gears[161] With plugin[162] Yes[163] Yes Yes Yes planned Yes Yes
Cross-browser 2d Vector Graphics[164] Yes[165] Yes With plugin[166] Yes[116] Yes[167] Yes No] Yes Yes (via Raphael) Yes[168] Yes (via Raphael)[169]
Charting & Dashboard[170] Yes[171] Yes[172] Yes[173] With plugin[174][175] Yes[176][177] Yes No Yes Yes[178] Yes[179] Yes[180]
RTL Support in UI Components Yes Yes Yes Depends on the plugin used Yes[134] Yes Yes Yes Yes No

Browser support

Framework Internet Explorer Mozilla Firefox Safari Opera Chrome
AngularJS (1.3) 8+ (9+) 4+ 5+ 11+ 30+
DHTMLX 6+ 1+ 2.0+ 9+ 1+
Dojo 6+ 3+[181] 4[181] 10.50+[181] 3[181]
Ember.js 6+ 3+ 4+ 10.6+ 14+
Enyo 8+[182] >4[182] >5[182] >10[182]
Ext JS 6+ 3.6+ 4+ 11+ 10+[183]
Google Web Toolkit 8+ 1+ 5+ 9+ 1+
jQuery 6+[184] 2+[184] 3+[184] 9+[184] 1+[184]
jQWidgets 7+[185] 2+[185] 3+[185] 9+[185] 1+[185]
MooTools 6+ 2+ 3+ 9+ 1+
Prototype & script. aculo.us[11] 6+ 1.5+ 2.0.4+ 9.25+ 1+ (starting with 1.6.1RC3)
qooxdoo 6+ 2+ 3+ 9+ 2+
SmartClient and SmartGWT 6+ 1+ 3+ 9+ 1+
SproutCore 6+ 3+ 4+ 9+ 1+
Unified.js 8+ 4+ 5+ 11+ 30+
Wakanda 9+ 4+ 5+ 11+
ZK 6+ 2.0+ 3+ 9+ 2+
Webix 8+[186] 3+[187] 4+[188] 9+[189] 1+[190]

See also

Notes

  1. ^ "Licenses". dhtmlx.com. Retrieved . 
  2. ^ Dojo Base Archived 28 November 2009 at the Wayback Machine.
  3. ^ "About Enyo JS". enyojs.com. Retrieved . 
  4. ^ "EXt JS 5 Licensing". http://www.sencha.com. Retrieved .  External link in |website= (help)
  5. ^ "License - Javascript, HTML5, jQuery Widgets". www.jqwidgets.com. Retrieved . 
  6. ^ [1]
  7. ^ [2]
  8. ^ [3]
  9. ^ "React Minified Library". Cloudflare. CDNJS. Retrieved 2016. 
  10. ^ https://github.com/SAP/openui5/ OpenUI5 on GitHub
  11. ^ a b c d script.aculo.us is an add-on to Prototype.
  12. ^ "Minified Vue.js Library". CloudFlare. CDNJS. Retrieved 2017. 
  13. ^ "Vue 2.1.10 uncompressed". Cloudflare CDN. Retrieved 2017. 
  14. ^ 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
  15. ^ Documentation dojo/has
  16. ^ http://docs.sencha.com/extjs/4.2.0/#!/api/Ext.supports
  17. ^ GWT implementations for every browser
  18. ^ Google Docs (built on GWT) stops working on a Firefox rebranding because of not doing proper Feature Detection
  19. ^ jQuery 1.3
  20. ^ http://mootools.net/blog/2010/10/11/mootools-core-1-3-stable-and-mootools-more-1-3rc/
  21. ^ Feature detection all the way Archived 21 April 2009 at the Wayback Machine.
  22. ^ Author disagrees that feature detection alone is sufficient
  23. ^ http://zssdemo.zkoss.org/zkau/web/js/zk/zk.js.dsp[permanent dead link] zk.js
  24. ^ kangax (5 April 2010). "What's wrong with extending the DOM". Retrieved 2010. 
  25. ^ MooTools Docs - Element/Element
  26. ^ Prototype JavaScript framework: Element
  27. ^ Prototype 2.0 will not extend the DOM - Ajaxian
  28. ^ a b AJAX and Dojo Archived 9 February 2010 at the Wayback Machine.
  29. ^ a b "jQuery Data Adapter". www.jqwidgets.com. Retrieved . 
  30. ^ a b MooTools Request
  31. ^ Simple chat server example using UI5 WebSocket
  32. ^ [4]
  33. ^ a b "Archived copy". Archived from the original on 19 September 2010. Retrieved 2010. 
  34. ^ https://github.com/kembuco/extjs-cometd/
  35. ^ https://code.google.com/p/rocket-gwthttp://www.defaultlogic.com/learn?s=Comet
  36. ^ Real-time Messaging Module
  37. ^ support only the nexacro browser currently
  38. ^ http://books.zkoss.orghttp://www.defaultlogic.com/learn?s=ZK_Developer%27s_Reference/Server_Push
  39. ^ "Archived copy". Archived from the original on 17 March 2009. Retrieved 2009. 
  40. ^ SSV : special separate value(rs,ds character delimiter) for fast speed parsing
  41. ^ "Archived copy". Archived from the original on 6 April 2009. Retrieved 2009. 
  42. ^ https://code.google.com/p/gwt-dnd/
  43. ^ "jQuery DragDrop Plugin". www.jqwidgets.com. Retrieved . 
  44. ^ MooTools Drag.Move
  45. ^ Accordion drag & drop
  46. ^ [5]
  47. ^ "Archived copy". Archived from the original on 16 April 2009. Retrieved 2009. 
  48. ^ MooTools Fx.Tween (Simple Transitions)
  49. ^ a b http://showcase.sproutcore.com/#demos/Transition%20Plugins
  50. ^ "Archived copy". Archived from the original on 4 March 2009. Retrieved 2009. 
  51. ^ http://enyojs.com/api/#enyo.Animator
  52. ^ MooTools Fx.Morph (Advanced Transitions)
  53. ^ [6]
  54. ^ "Archived copy". Archived from the original on 2 April 2009. Retrieved 2009. 
  55. ^ http://enyojs.com/docs/2.4.0/api/#enyo.Router
  56. ^ http://www.sencha.com/products/js/roadmap.php Since v2.2
  57. ^ Address, History, jquery History, History/Remote Archived 18 May 2008 at the Wayback Machine., jQuery BBQ
  58. ^ MooTools-History
  59. ^ dhtmlxForm
  60. ^ "Archived copy". Archived from the original on 3 April 2009. Retrieved 2009. 
  61. ^ http://techblog.maydu.eu/?p=7
  62. ^ http://plugins.jquery.com
  63. ^ "jQuery Validator". www.jqwidgets.com. Retrieved . 
  64. ^ Webix Data Validation
  65. ^ Webix Input form
  66. ^ dhtmlxGrid
  67. ^ "Archived copy". Archived from the original on 23 April 2009. Retrieved 2009. 
  68. ^ jqGrid, Ingrid, Flexigrid, SlickGrid, ParamQuery Grid, ShieldUI jQuery Grid
  69. ^ "jQuery Grid, JavaScript Grid, jqxGrid, DataGrid, jQuery DataGrid". www.jqwidgets.com. Retrieved . 
  70. ^ JxLib Library or phatfusion sortable table plugin Archived 22 April 2009 at the Wayback Machine. or DrasticGrid
  71. ^ Wakanda DataGrid
  72. ^ JS Grid widget
  73. ^ dhtmlxTree
  74. ^ "Archived copy". Archived from the original on 9 May 2009. Retrieved 2009. 
  75. ^ Tree demo
  76. ^ Tree demos
  77. ^ treeview Archived 9 October 2008 at the Wayback Machine., file_tree_viewer[permanent dead link]
  78. ^ "jQuery Tree". www.jqwidgets.com. Retrieved . 
  79. ^ MooTree 2 or JxLib Library or MooTools PowerTools!
  80. ^ http://demo.qooxdoo.org/current/demobrowser/ Demo browser
  81. ^ Wakanda Auto Form
  82. ^ JS Tree widget
  83. ^ dhtmlxEditor
  84. ^ "Archived copy". Archived from the original on 16 April 2009. Retrieved 2009. 
  85. ^ problems with the HTMLEditor creating XHTML vs the HTML it does now
  86. ^ markitup, jwysiwyg, htmlbox Archived 7 July 2009 at the Wayback Machine., WYMeditor Archived 3 June 2008 at the Wayback Machine.
  87. ^ a b "jQuery Editor". www.jqwidgets.com. Retrieved . 
  88. ^ MooEditable
  89. ^ Wakanda WYSIWYG Editor
  90. ^ HTML Rich Text editor
  91. ^ dhtmlxCombo
  92. ^ "Archived copy". Archived from the original on 18 April 2009. Retrieved 2009. 
  93. ^ http://jqueryui.com/autocomplete/
  94. ^ "jQuery Input, jQuery Auto Complete". www.jqwidgets.com. Retrieved . 
  95. ^ Digitarald's Autocompleter Plugin
  96. ^ Wakanda Combo Box
  97. ^ 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");
  98. ^ MooTools Elements Archived 5 September 2008 at the Wayback Machine.
  99. ^ SkinBuilder
  100. ^ Community-driven skins, Theme Builder
  101. ^ Skinning GWT controls with style sheets
  102. ^ ThemeRoller
  103. ^ dhtmlxWindows
  104. ^ "jQuery Window". www.jqwidgets.com. Retrieved . 
  105. ^ a b Using MochaUI Library or JxLib
  106. ^ Wakanda Dialogs
  107. ^ a b "Archived copy". Archived from the original on 12 October 2008. Retrieved 2011. 
  108. ^ dhtmlxLayout
  109. ^ [7]
  110. ^ "jQuery Docking Layout". www.jqwidgets.com. Retrieved . 
  111. ^ "jQuery Splitter". www.jqwidgets.com. Retrieved . 
  112. ^ Wakanda Container / Layout
  113. ^ JS Layout
  114. ^ dojo.gfx Archived 9 March 2009 at the Wayback Machine.
  115. ^ jQuery Canvas plugin
  116. ^ a b "jQuery Draw Plugin". www.jqwidgets.com. Retrieved . 
  117. ^ MochaUI Library
  118. ^ Wakanda Canvas
  119. ^ [8]
  120. ^ DHTMLX Touch
  121. ^ dojox.mobile & dojox.mobile.app
  122. ^ [9]
  123. ^ jQTouch, jQuery Mobile Project
  124. ^ "jQWidgets Mobile Demos". www.jqwidgets.com. Retrieved . 
  125. ^ MooTools Mobile (unofficial)
  126. ^ Wakanda Navigation View
  127. ^ Wakanda Split View
  128. ^ http://www.zkoss.org/whyzk/Features
  129. ^ [10] Webix mobile/tablet support
  130. ^ 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.
  131. ^ a b "Archived copy". Archived from the original on 6 April 2009. Retrieved 2009. 
  132. ^ a b [11]
  133. ^ Built-in Accessibility in GWT 1.5 Applications
  134. ^ a b c "jQWidgets Accessibility Overview". www.jqwidgets.com. Retrieved . 
  135. ^ Qooxdoo's "Extreme JavaScript" paradigm Archived 12 October 2008 at the Wayback Machine.
  136. ^ [12]
  137. ^ jQuery UI has ARIA support
  138. ^ [13]
  139. ^ Visual Designer for DHTMLX
  140. ^ Wavemaker
  141. ^ Aptana Studio
  142. ^ "Archived copy". Archived from the original on 9 July 2012. Retrieved 2012. 
  143. ^ [14]
  144. ^ Theme Builder
  145. ^ Custom build tool
  146. ^ Netbeans has jQuery support
  147. ^ jQuery API
  148. ^ "Theme Builder for jQWidgets". www.jqwidgets.com. Retrieved . 
  149. ^ "ßeta - jQWidgets Charts Studio". www.jqwidgets.com. Retrieved . 
  150. ^ "JSEditor". www.jqwidgets.com. Retrieved . 
  151. ^ MooTools-core Documentation
  152. ^ MooTools-more Document
  153. ^ Custom build, JS Linker, API generation, Unit test framework, etc. Archived 25 July 2008 at the Wayback Machine.
  154. ^ Wakanda Studio
  155. ^ https://webix.com/snippet/
  156. ^ https://webix.com/skin-builder/
  157. ^ https://webix.com/form-builder/
  158. ^ 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.
  159. ^ o.DojoToolkit.Org/offline Archived 10 February 2010 at the Wayback Machine. says "Dojo Offline is no longer supported after Dojo 1.3"
  160. ^ http://docs.sencha.com/extjs/4.2.0/#!/api/Ext.data.proxy.WebStorage
  161. ^ Google API Libraries for Google Web Toolkit
  162. ^ jQuery HTML5 Storage plugin
  163. ^ "This example shows how to Save/Load the Grid's state.". www.jqwidgets.com. Retrieved . 
  164. ^ 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
  165. ^ "Archived copy". Archived from the original on 9 March 2009. Retrieved 2009. 
  166. ^ http://keith-wood.name/svg.html jQuery SVG plugin
  167. ^ MooTools ART
  168. ^ http://books.zkoss.orghttp://www.defaultlogic.com/learn?s=Small_Talks/2010/June/How_To_Use_Canvas4Z
  169. ^ https://docs.webix.com/desktop__chart_integration.html#raphaeumllcharts
  170. ^ Some JavaScript libraries include widgets for Charts, Gauges, and other data visualizations.
  171. ^ dhtmlxChart
  172. ^ "Archived copy". Archived from the original on 3 March 2009. Retrieved 2009. 
  173. ^ http://dev.sencha.com/deploy/dev/docs/?class=Ext.chart.Chart Chart API
  174. ^ jQuery Flot Plugin
  175. ^ jQuery Visualize Plugin Archived 9 July 2009 at the Wayback Machine.
  176. ^ "jqxChart - javascript chart widget powered by jQuery, HTML5, SVG". www.jqwidgets.com. Retrieved . 
  177. ^ "jQuery Gauge". www.jqwidgets.com. Retrieved . 
  178. ^ WakandaChart
  179. ^ [15]
  180. ^ JS Charts
  181. ^ a b c d "Archived copy". Archived from the original on 8 February 2010. Retrieved 2009. 
  182. ^ a b c d "Archived copy". Archived from the original on 23 July 2012. Retrieved 2012. 
  183. ^ http://www.sencha.com/products/js/
  184. ^ a b c d e http://docs.jquery.com/Browser_Compatibility
  185. ^ a b c d e "jQuery UI Widgets - Help Documentation". www.jqwidgets.com. Retrieved . 
  186. ^ https://docs.webix.com/desktop__compatibility.html
  187. ^ https://docs.webix.com/desktop__compatibility.html
  188. ^ https://docs.webix.com/desktop__compatibility.html
  189. ^ https://docs.webix.com/desktop__compatibility.html
  190. ^ https://docs.webix.com/desktop__compatibility.html

  This article uses material from the Wikipedia page available here. It is released under the Creative Commons Attribution-Share-Alike License 3.0.


Comparison_of_JavaScript_frameworks



 
Connect with defaultLogic
What We've Done
Led Digital Marketing Efforts of Top 500 e-Retailers.
Worked with Top Brands at Leading Agencies.
Successfully Managed Over $50 million in Digital Ad Spend.
Developed Strategies and Processes that Enabled Brands to Grow During an Economic Downturn.
Taught Advanced Internet Marketing Strategies at the graduate level.



Manage research, learning and skills at defaultLogic. Create an account using LinkedIn or facebook to manage and organize your IT knowledge. defaultLogic works like a shopping cart for information -- helping you to save, discuss and share.


  Contact Us