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.26.6
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: 10.0

SmartGWT: 5.0
(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+ 3+ 4+ 9+ 1+

See also

Notes

  1. ^ "Licenses". dhtmlx.com. Retrieved . 
  2. ^ Dojo Base
  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
  22. ^ Author disagrees that feature detection alone is sufficient
  23. ^ http://zssdemo.zkoss.org/zkau/web/js/zk/zk.js.dsp 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
  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 http://cometd.org/documentation/cometd-javascript
  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. ^ http://docs.dojocampus.org/dojox/data
  40. ^ SSV : special separate value(rs,ds character delimeter) for fast speed parsing
  41. ^ http://docs.dojocampus.org/dojo/dnd
  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. ^ http://docs.dojocampus.org/dojo/fx/
  48. ^ MooTools Fx.Tween (Simple Transitions)
  49. ^ a b http://showcase.sproutcore.com/#demos/Transition%20Plugins
  50. ^ http://docs.dojocampus.org/dojox/fx/
  51. ^ http://enyojs.com/api/#enyo.Animator
  52. ^ MooTools Fx.Morph (Advanced Transitions)
  53. ^ [6]
  54. ^ http://docs.dojocampus.org/dojo/back
  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, jQuery BBQ
  58. ^ MooTools-History
  59. ^ dhtmlxForm
  60. ^ http://docs.dojocampus.org/dijit/form
  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. ^ http://docs.dojocampus.org/dojox/grid
  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 or DrasticGrid
  71. ^ Wakanda DataGrid
  72. ^ Webix grid widget
  73. ^ dhtmlxTree
  74. ^ http://docs.dojocampus.org/dijit/Tree
  75. ^ Tree demo
  76. ^ Tree demos
  77. ^ treeview, file_tree_viewer
  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. ^ Webix Tree widget
  83. ^ dhtmlxEditor
  84. ^ http://docs.dojocampus.org/dijit/Editor
  85. ^ problems with the HTMLEditor creating XHTML vs the HTML it does now
  86. ^ markitup, jwysiwyg, htmlbox, WYMeditor
  87. ^ a b "jQuery Editor". www.jqwidgets.com. Retrieved . 
  88. ^ MooEditable
  89. ^ Wakanda WYSIWYG Editor
  90. ^ Webix Rich Text editor
  91. ^ dhtmlxCombo
  92. ^ http://docs.dojocampus.org/dijit/form/ComboBox
  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
  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 http://www.zkoss.org/smalltalks/zkstudio_vedemo/
  108. ^ dhtmlxLayout
  109. ^ [7]
  110. ^ "jQuery Docking Layout". www.jqwidgets.com. Retrieved . 
  111. ^ "jQuery Splitter". www.jqwidgets.com. Retrieved . 
  112. ^ Wakanda Container / Layout
  113. ^ Webix Layout
  114. ^ dojo.gfx
  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 http://docs.dojocampus.org/quickstart/writingWidgets/a11y
  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
  136. ^ [12]
  137. ^ jQuery UI has ARIA support
  138. ^ [13]
  139. ^ Visual Designer for DHTMLX
  140. ^ Wavemaker
  141. ^ Aptana Studio
  142. ^ [14]
  143. ^ [15]
  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.
  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 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. ^ http://docs.dojocampus.org/dojox/gfx
  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. ^ http://docs.dojocampus.org/dojox/charting
  173. ^ http://dev.sencha.com/deploy/dev/docs/?class=Ext.chart.Chart Chart API
  174. ^ jQuery Flot Plugin
  175. ^ jQuery Visualize Plugin
  176. ^ "jqxChart - javascript chart widget powered by jQuery, HTML5, SVG". www.jqwidgets.com. Retrieved . 
  177. ^ "jQuery Gauge". www.jqwidgets.com. Retrieved . 
  178. ^ WakandaChart
  179. ^ [16]
  180. ^ Webix Charts
  181. ^ a b c d http://docs.dojocampus.org/releasenotes/1.4
  182. ^ a b c d http://enyojs.com/docs/platforms
  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 . 

  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