Comparison of JavaScript frameworks
From Seo Wiki - Search Engine Optimization and Programming Languages
Jump to navigationJump to search
Please help improve this incomplete table by expanding it. Further information might be found on the talk page. (March 2008) |
dhtmlx | Dojo | Echo3 | Ext | Google Web Toolkit | jQuery | midori | MochiKit | MooTools | Prototype & script. aculo.us[1] | Pyjamas | qooxdoo | Rialto Toolkit | Rico | SmartClient & SmartGWT | SweetDEV RIA | YUI | ZK | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Version compared | 2.1 11 Mar 2009 |
1.4 12 Dec 2009 |
3.0.beta1 13 March 2008 |
3.0 6 July 2009 |
1.7.1 July 2009 |
1.4 14 Jan 2010 |
2009.11 15 Nov 2009 |
1.4.2 17 Nov 2008 |
1.2.4 19 Oct 2009 |
1.6.1/1.8.3 14 Nov 2009 |
0.5 Mar 2009 |
1.0.1 27 Jan 2010 |
1.0 30 May 2008 |
2.0 |
SmartClient 7.0 August 2009 SmartGWT 1.2 August 2009 |
3.1 9 Jun 2008 |
3.0 29 Sept 2009 |
5.0 RC 29 Sept 2009 |
Size | Variable | Variable; Base size: 65 KB minified, 28 KB minified and gzipped, 123 KB uncompressed[2] |
84–502 KB | Variable | 68 KB minified, 23 KB minified and gzipped, 156 KB uncompressed |
47 KB uncompressed, 9 KB minified and gzipped |
32–200 KB | 26 KB core,[3] | 46–278 KB | Variable | Variable | 520 KB | 100-500kb gzipped. | 550 KB | Variable; library core is 31KB | Variable | ||
License | GPL & Commercial | BSD & AFL | MPL, LGPL or GPL | Commercial & GPL 3.0 (since Ext 2.1, see Ext history) | Apache License | MIT & GPL | MIT License | MIT & AFL | MIT License | MIT License | Apache 2 License & GPL | LGPL & EPL | Apache License | Apache License | LGPL & Commercial | Apache 2 License | BSD License | LGPL && GPL |
Demo | Samples Explorer | Feature Explorer,Demos,Documentation and 300+ Examples,API Cheatsheet,API Docs | Client-Side JavaScript Demo | Samples & Demos | GWT Examples | UI demo, Documentation | midori Documentation | Effects Demos | Demos | Effects Demos and Example Game | pyjs.org examples | qooxdoo demo | Demos | Demos | SmartClient Showcase SmartGWT Showcase SmartGWT EE Showcase |
Getting Started | 300 examples, including adv. app example | ZkDemo |
Features | ||||||||||||||||||
dhtmlx | Dojo | Echo3 | Ext | Google Web Toolkit | jQuery | midori | MochiKit | MooTools | Prototype & script. aculo.us[1] | Pyjamas | qooxdoo | Rialto Toolkit | Rico | SmartClient and SmartGWT | SweetDEV RIA | YUI | ZK | |
Feature detection[4] | No | No[5] | No | No | No[6] | Yes[7] | No[8] | No[9] | No[10] | No[11] | No | No[12] | No | Partial [13] | No[14] | No[15] | ||
XMLHTTPRequest data retrieval |
Yes | Yes[16] | Yes | Yes | Yes | Yes | Yes | Yes[17] | Yes | Yes | Yes | No | Yes[18] | Yes | Yes | Yes | ||
JSON data retrieval | Yes | Yes[19] | Yes | Yes | Yes | Yes | Yes | Yes[20] | Yes | Yes[21] | Yes | No | Yes | Yes | Yes | Yes | ||
Other data retrieval | Yes: XML, CSV | Yes: XML, HTML, CSV, ATOM, etc.[22] | Yes: XML | Yes: RPC | Yes: XML, HTML | Yes: XML, HTML | Yes: XML, WSDL, RSS, and Java-based SQL, Hibernate, POJO adapters | |||||||||||
Drag and drop | Yes | Yes[23] | Yes | Yes | With plugin[24] | Yes | Yes | Yes | Yes[25] | Yes | Depends | Yes | Yes | Yes | Yes | Depends [26] | Yes | Yes |
Simple visual effects | No | Yes[27] | Yes | Yes | Yes | Yes | Yes | Yes[28] | Yes | Yes | Yes | No | Yes | Yes | No | Yes | Yes | |
Animation / advanced visual effects |
No | Yes[29] | Yes | Yes | Yes | Yes | Yes | Yes[30] | Yes[31] | Yes | Yes | No | Yes | Yes | No | Yes | Yes | |
Event handling | Yes | Yes[32] | Yes | Yes | Yes | Yes | Yes | Yes[33] | Yes | Yes[34] | Yes | Yes | Yes | Yes | Depends[35] | Yes | Yes | |
Back button support / history management |
No | Yes[36] | Yes[37] | Yes | With plugins[38] | Yes | With plugin[39] | Yes | Yes[40] | Yes | No | Yes | Yes | No[41] | Yes | Yes | ||
Input form widgets & validation | No | Yes[42] | Yes | Yes | Yes | With plugins[43] | Yes | Yes | Yes | Yes[40] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
dhtmlx | Dojo | Echo3 | Ext | Google Web Toolkit | jQuery | midori | MochiKit | MooTools | Prototype & script. aculo.us[1] | Pyjamas | qooxdoo | Rialto Toolkit | Rico | SmartClient and SmartGWT | SweetDEV RIA | YUI | ZK | |
Grid | Yes[44] | Yes[45] | Yes | Yes | Yes | With plugins[46] | No | With plugin[47] | Yes | Yes | Yes | Yes[48] | Yes | Yes | Yes[49] | Yes | ||
Hierarchical Tree | Yes[50] | Yes[51] | Yes[52] | Yes | With plugins[53] | No | With plugins[54] | Yes[55] | Yes[56] | Yes | Yes | Yes | Yes[57] | Yes | ||||
Rich text editor | Yes[58] | Yes[59] | Yes[60] | Yes[61] | Yes | With plugins[62] | No | Yes[63] | Yes | Yes[64] | No | No | Yes | No | Yes | Yes | ||
Autocompletion tools | Yes[65] | Yes[66] | Yes | Yes | With plugins[67] | Yes | With plugin[68] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||
HTML generation tools | No | Yes[69] | Yes | Yes | Yes | No | Yes [70] | Yes | Yes | Yes | Yes | Yes | No | Yes | ||||
Widgets themeable / skinnable | Yes | Yes[71] | Yes[72] | Yes [73] | Yes[74] | Yes | Yes | Yes[75] | Yes | Yes[76] | Yes | |||||||
GUI resizable panels and modal dialogs | Yes[77] | Yes | Yes | Yes | With plugins | Yes[78] | Yes | Yes | ||||||||||
GUI page layout | Yes[79] | Yes | Yes | Yes | With plugin[80] | Yes[78] | Yes | Yes | ||||||||||
Canvas support | Yes[81] | Yes | Yes | Yes | ||||||||||||||
Accessibility / graceful degradation [82] |
No | Yes[83] | No[84] | Yes [85] | Yes | No[86] | Degradation: No Accessibility: Yes |
No | Yes[87] | Yes | ||||||||
ARIA compliant | No | Yes[88] | In development[89][90] | No | Yes | No | Yes | Yes | ||||||||||
Developer tools | Yes[91] | In development[92] | Yes[93] | Yes | Yes[94][95] | Yes[96][97] | No | Yes[98] | Yes | No | Yes[99] | Yes | ||||||
Offline storage [100] | No | No[101] | Via Google Gears or Adobe Air | Via Google Gears[102] | No | No | Via Pyjamas-Desktop[103] | Via Google Gears | No | Via Google Gears or Adobe Air | No | Yes | ||||||
Cross-browser 2d Vector Graphics[104] | Yes[105] | Yes[106] | Yes | Yes | ||||||||||||||
Charting & Dashboard [107] | Yes[108] | With plugin[109] | Yes | Yes[110] | ||||||||||||||
dhtmlx | Dojo | Echo3 | Ext | Google Web Toolkit | jQuery | midori | MochiKit | MooTools | Prototype & script. aculo.us[1] | Pyjamas | qooxdoo | Rialto Toolkit | Rico | SmartClient and SmartGWT | SweetDEV RIA | YUI | ZK | |
Browser Support | ||||||||||||||||||
Internet Explorer | 6+ | 6-8 | 6+ | 6+ | 6+ | 6+ [111] | 6+ | 6 | 6+ | 6+ | 6+ | 6+ | 6+ | 5.5+ | 6+ | 6+ | 6+ | 6+ |
Mozilla Firefox | 1+ | 3+ [112] | 1.5+ | 1.5+ | 1+ | 2+ [113] | 1.5+ | 1.0.7, 1.5b2 | 1.5+ | 1.5+ | 1+ | 2+ | 1.5+ | 1+ | 1+ | 3+ [114] | 2.0+ | |
Safari | 2.0+ | 4 [115] | 3+ | 3+ | 3+ | 3+ [116] | 2+ | 2.0.2 | 2+ | 2.0.4+ | 2+ | 3+ | 2.0.3 [117] | 3+ | 3+ | 4.0 | 3+ | |
Opera | 9.0+ | 10 [118] | 9+ | 9+ | 9+ | 9+ [119] | 9+ | 8.5 | 9+ | 9.25+ | 9+ | 9+ | 9+ | 9+ | 9.21+, possibly earlier as well | 10.0+ | 9+ | |
Chrome | 1+ | 3 [120] | 1+ | 1+ [121] | 1+ | 1+ (starting with 1.6.1RC3) | 2+ | 1+ | 2+ |
See also
External links
- Performance tests for different JavaScript Frameworks (Dojo, jQuery, Mootools, qooxdoo, Prototype, YUI), Jan 8, 2010
- jQuery vs Mootools by Aaron Newton, May, 2009
- Slashdot: jQuery compares favorably to MooTools
- StackOverflow: jQuery vs. Prototype+Script.aculo.us and MooTools
- Dojo vs JQuery vs MooTools vs Prototype Performance Comparison (not up-to-date, outdated versions of YUI, jQuery and also Dojo Toolkit used)| Peter Velichkov's Blog - Jan 19, 2009
- JavaScript frameworks survey results | Kyle Hayes' Blog - Mar 29, 2009
- Which JavaScript libraries are most used on the most popular websites?
Notes
- ↑ 1.0 1.1 1.2 1.3 script.aculo.us is an add-on to Prototype.
- ↑ Dojo Base
- ↑ Mootools Core functionality
- ↑ 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
- ↑ Integrate of Feature Detection Code
- ↑ GWT implementations for every browser
- ↑ jQuery 1.3
- ↑ http://www.midorijs.com/midori.js midori.js
- ↑ http://www.mochikit.com/MochiKit/Style.js MochiKit/Style.js
- ↑ http://mootools.net/download/get/mootools-1.2.3-core-nc.js mootools-1.2.3-core-nc.js
- ↑ Feature detection all the way
- ↑ https://svn.improve.fr/rialto/Rialto-coreV1/rialtoEngine/javascript/rialto.js
- ↑ Author disagrees that feature detection alone is sufficient
- ↑ http://yui.yahooapis.com/3.0.0/build/yui/yui.js yui.js
- ↑ http://zssdemo.zkoss.org/zkau/web/js/zk/zk.js.dsp zk.js
- ↑ AJAX and Dojo
- ↑ MooTools Request
- ↑ Inner HTML demo
- ↑ http://docs.dojocampus.org/dojo/data
- ↑ MooTools JSON
- ↑ Pyjamas JSON-RPC Example
- ↑ http://docs.dojocampus.org/dojox/data
- ↑ http://docs.dojocampus.org/dojo/dnd
- ↑ http://code.google.com/p/gwt-dnd/
- ↑ MooTools Drag.Move Plugin
- ↑ For nodes in treeview only
- ↑ http://docs.dojocampus.org/dojo/fx/
- ↑ MooTools Fx.Tween (Simple CSS Transitions)
- ↑ http://docs.dojocampus.org/dojox/fx/
- ↑ Mochikit.Visual
- ↑ MooTools Fx.Morph (Advanced CSS Transitions)
- ↑ http://docs.dojocampus.org/quickstart/events
- ↑ http://docs.mootools.net/Native/Event#Event MooTools Events
- ↑ Pyjamas demo of onclick event handling
- ↑ No event management between components on client side, server side only for some basic event
- ↑ http://docs.dojocampus.org/dojo/back
- ↑ http://extjs.com/products/extjs/roadmap.php Since v2.2
- ↑ History, jquery History, History/Remote
- ↑ Digitarald's HistoryManager Plugin
- ↑ 40.0 40.1 Pyjamas Kitchen Sink demo
- ↑ Back button support not in the demo, and no documentation about it, or about browser history support
- ↑ http://docs.dojocampus.org/dijit/form
- ↑ http://docs.jquery.com/Plugins
- ↑ dhtmlxGrid
- ↑ http://docs.dojocampus.org/dojox/grid
- ↑ jqGrid, Ingrid, Flexigrid
- ↑ JxLib Library or phatfusion sortable table plugin or DrasticGrid
- ↑ Live grid
- ↑ YUI DataTable
- ↑ dhtmlxTree
- ↑ http://docs.dojocampus.org/dijit/Tree
- ↑ Tree demos
- ↑ treeview, file_tree_viewer
- ↑ MooTree 2 or JxLib Library
- ↑ http://pyjs.org/examples/kitchensink/output/KitchenSink.html#Trees Tree
- ↑ http://demo.qooxdoo.org/current/demobrowser/ Demo browser
- ↑ http://developer.yahoo.com/yui/treeview/ YUI TreeView
- ↑ dhtmlxEditor
- ↑ http://docs.dojocampus.org/dijit/Editor
- ↑ Echo 3 new features
- ↑ problems with the HTMLEditor creating XHTML vs the HTML it does now
- ↑ markitup, jwysiwyg, htmlbox, WYMeditor
- ↑ MooEditable
- ↑ HtmlArea
- ↑ dhtmlxCombo
- ↑ http://docs.dojocampus.org/dijit/form/ComboBox
- ↑ Autocomplete, Dylans Autocomplete, Yet Another Autocomplete, jQuery plugin for Autocomplete, Jquery Autocomplete, jquery.suggest, Interface Autocompleter
- ↑ Digitarald's Autocompleter Plugin
- ↑ As of Dojo 1.3, the NodeList.addContent() api can be used to create content for example: dojo.query(".note").addContent("h4 NOTE: h4", "before");
- ↑ MooTools Elements
- ↑ http://docs.dojocampus.org/dijit-themes
- ↑ Community-driven skins, Theme Builder
- ↑ Skinning GWT controls with style sheets
- ↑ ThemeRoller
- ↑ http://qooxdoo.org/documentation/ui_theming
- ↑ Skinning YUI
- ↑ dhtmlxWindows
- ↑ 78.0 78.1 Using MochaUI Library or JxLib
- ↑ dhtmlxLayout
- ↑ [1]
- ↑ MochaUI Library
- ↑ 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.
- ↑ http://docs.dojocampus.org/quickstart/writingWidgets/a11y
- ↑ Section 508 accessibility improvements – v3.0 roadmap
- ↑ Built-in Accessibility in GWT 1.5 Applications
- ↑ Qooxdoo's "Extreme JavaScript" paradigm
- ↑ Yahoo! UI Graded Browser Support
- ↑ http://docs.dojocampus.org/quickstart/writingWidgets/a11y
- ↑ Ticket #2514 Add ARIA semantics to UI
- ↑ Fluid Project's Michelle D'Souza is working on ARIA support
- ↑ Dojo Development Tools
- ↑ EchoStudio 3
- ↑ GUI builder, Theme Builder, Ext on Air, Custom build tool
- ↑ Netbeans has jQuery support
- ↑ jQuery API
- ↑ MooTools-core Documentation
- ↑ [http://mootools.net/docs/more MooTools-more Document
- ↑ Custom build, JS Linker, API generation, Unit test framework, etc.
- ↑ CSS Grid Builder, YUI Test Utility, Profiler, Logger Control
- ↑ 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.
- ↑ DojoToolkit.Org/offline says "Dojo Offline is no longer supported after Dojo 1.3"
- ↑ Google API Libraries for Google Web Toolkit
- ↑ Pyjamas Desktop
- ↑ 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
- ↑ http://docs.dojocampus.org/dojox/gfx
- ↑ MooTools ART
- ↑ Some JavaScript libraries include widgets for Charts, Gauges, and other data visualizations.
- ↑ http://docs.dojocampus.org/dojox/charting
- ↑ jQuery Visualize Plugin
- ↑ [2]
- ↑ http://docs.jquery.com/Browser_Compatibility
- ↑ http://docs.dojocampus.org/releasenotes/1.4
- ↑ http://docs.jquery.com/Browser_Compatibility
- ↑ http://developer.yahoo.com/yui/articles/gbs/
- ↑ http://docs.dojocampus.org/releasenotes/1.4
- ↑ http://docs.jquery.com/Browser_Compatibility
- ↑ http://openrico.org/resources
- ↑ http://docs.dojocampus.org/releasenotes/1.4
- ↑ http://docs.jquery.com/Browser_Compatibility
- ↑ http://docs.dojocampus.org/releasenotes/1.4
- ↑ http://docs.jquery.com/Browser_Compatibility
If you like SEOmastering Site, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...
→