| Perbandingan -- JavaScript frameworksThere are many JavaScript frameworks available. The intention of this comparison is to show some examples of notable JavaScript frameworks. Perbandingan -- JavaScript frameworks | AccDC | Ample SDK | CupQ | DHTMLX | Dojo | Echo3 | Enyo | Ext JS | Google Web Toolkit | jQuery | midori | MochiKit | MooTools | Prototype & script. aculo.us[1] | Pyjamas | qooxdoo | Rialto Toolkit | Rico | SmartClient & SmartGWT | Wakanda | YUI | ZK |
---|
Version compared | 2.0.2 December 2012 | 0.9.3 1 Jul 2010 | 0.2 June 2012 | 3.5 2 Aug 2012 | 1.8.0 15 Aug 2012 | 3.0.rc1 24 Mar 2011 | 2.0.1 30 August 2012 | 4.2b 22 Jan 2013 | 2.4 September 2011 | 1.9.1 4 Feb 2013 | 2010.05 10 May 2010 | 1.4.2 17 Nov 2008 | 1.4.5 26 February 2012 | Prototype: 1.7.1 8 Aug 2012 script.aculo.us: 1.9.0 23 Dec 2010 | 0.5 Mar 2009 | 2.1 14 Nov 2012 | 1.1.5 25 Feb 2011 | 2.0 03 May 2009 | SmartClient: 8.3 Nov 2012 SmartGWT: 3.1 Nov 2012 | 3 19 Dec 2012 | 3.4 18 Aug 2011 | 6.5.1.1 13 Dec 2012 / September 12, 2012; | Size | | Variable. Core size: 40 kB (minified & gzipped) | 20 kB (minified) | Variable | Variable. Base size: 28 kB (minified & gzipped), 65 kB (minified), 123 kB (uncompressed)[2] | | <25 kB (core gzipped) | 84–502 kB | Variable | 32 KiB (minified & gzipped), 93 KiB (minified), 252 KiB (uncompressed) | 9 kB (minified & gzipped), 50 kB (uncompressed) | 32–200 kB | Variable; 7.3–65 KiB (YUI Compressor),[3] 101 KiB (uncompressed)[4] | 46–278 kB | Variable | Variable, starting at 6 kB (gzipped) | 520 kB | | 100–500 kb (gzipped). | Variable | Variable; library core is 31 kB | Variable | License | MIT License | MIT & GPL | MIT | GPL & Commercial | BSD & AFL | MPL, LGPL or GPL | Apache 2 [13] | GPL and Commercial | Apache | MIT | MIT | MIT & AFL | MIT | MIT | Apache 2 & GPL | LGPL & EPL | Apache | Apache | LGPL & Commercial | GPL & Commercial | BSD | LGPL & GPL & ZOL | Source language | JavaScript | ? | JavaScript | JavaScript | JavaScript + HTML | JavaScript and/or Java | JavaScript | JavaScript | Java | JavaScript | ? | ? | JavaScript | JavaScript | Python | JavaScript | ? | ? | Server: Java Client: Java (Smart GWT) or Javascript (SmartClient) or XML (both) | Javascript + HTML + CSS | Javascript + HTML + CSS | XML + Java (Javascript Optional) | Features |
---|
| AccDC | Ample SDK | CupQ | DHTMLX | Dojo | Echo3 | Enyo | Ext JS | Google Web Toolkit | jQuery | midori | MochiKit | MooTools | Prototype & script. aculo.us[1] | Pyjamas | qooxdoo | Rialto Toolkit | Rico | SmartClient and SmartGWT | Wakanda | YUI | ZK |
---|
Feature detection[5] | Yes | No[6] | Yes[7] | No | Yes[8] | No | | No | No[9][10] | Yes[11] | No[12] | No[13] | Yes[14] | No[15] | | Yes | No[16] | No | Partial [17] | Partial | Yes | No[18] |
---|
DOM wrapped[19] | Yes | Yes[20] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No[21] | No[22][23] | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes |
---|
XMLHttpRequest data retrieval | Yes | Yes | No | Yes | Yes[24] | | Yes | Yes | Yes | Yes | Yes | Yes | Yes[25] | Yes | Yes | Yes | No | Yes[26] | Yes | Yes | Yes | |
---|
JSON data retrieval | Yes | Yes | No | Yes | Yes[27] | | Yes | Yes | Yes | Yes | Yes | Yes | Yes[28] | Yes | Yes[29] | Yes | No | Yes | Yes | Yes | Yes | |
---|
Server push data retrieval | Yes | | | | Yes[30] | | | Yes[31] | Yes[32] | Yes[33] | | | | | | | | | Yes[34] | | Via Plugin | Yes[35] |
---|
Other data retrieval | Yes: XML, HTML | Yes: XML | | Yes: XML, CSV, HTML | Yes: XML, HTML, CSV, ATOM[36] | | | Yes: XML | Yes: RPC, RequestFactory | Yes: XML, HTML | | | Yes: XML, HTML | | | | | | Yes: XML, WSDL, RSS, and Java-based SQL, Hibernate, POJO adapters | Yes: JSON-RPC, Wakanda REST | Yes | |
---|
Drag and drop | Yes: With keyboard accessibility | Yes | No | Yes | Yes[37] | Yes | | Yes | With plugin[38] | Yes | Yes | Yes | Yes[39] | Yes | Depends | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
---|
Simple visual effects | Yes | Yes | No | Yes | Yes[40] | | Yes | Yes | Yes | Yes | Yes | Yes | Yes[41] | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes |
---|
Animation / advanced visual effects | | Yes | No | No | Yes[42] | Yes | Yes[43] | Yes | Yes | Yes | Yes | Yes[44] | Yes[45] | Yes | | Yes | No | Yes | Yes | Yes | Yes | Yes |
---|
Event handling | Yes | Yes[46] | Yes | Yes | Yes[47] | | Yes | Yes | Yes | Yes | Yes | Yes | Yes[48] | Yes | Yes[49] | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
---|
Back button support / history management | | Yes | No | No | Yes[50] | | | Yes[51] | Yes | With plugins[52] | Yes | | With plugin[53] | Yes | Yes[54] | Yes | No | Yes | Yes | | Yes | Yes |
---|
Input form widgets & validation | | Yes | No | Yes[55] | Yes[56] | Yes | Yes | Yes | Yes, Validation requires plugin[57] | With plugins[58] | Yes | | Yes | Yes | Yes[54] | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
---|
| AccDC | Ample SDK | CupQ | DHTMLX | Dojo | Echo3 | Enyo | ExtJS | Google Web Toolkit | jQuery | midori | MochiKit | MooTools | Prototype & script. aculo.us[1] | Pyjamas | qooxdoo | Rialto Toolkit | Rico | SmartClient and SmartGWT | Wakanda | YUI | ZK |
---|
Grid | | Yes[59] | No | Yes[60] | Yes[61] | Yes | | Yes | Yes | With plugins[62] | No | | With plugin[63] | | Yes | Yes | Yes | Yes[64] | Yes | Yes[65] | Yes[66] | Yes |
---|
Hierarchical Tree | Yes | Yes[67] | Yes | Yes[68] | Yes[69] | | Yes[70] | Yes[71] | Yes | With plugins[72] | No | | With plugins[73] | | Yes[74] | Yes[75] | Yes | | Yes | Yes (Auto Form)[76] | Yes[77] | Yes |
---|
Rich text editor | | Yes[78] | No | Yes[79] | Yes[80] | Yes[81] | | Yes[82] | Yes | With plugins[83] | No | | Yes[84] | | Yes | Yes | No | No | Yes | Yes[85] | Yes | Yes |
---|
Autocompletion tools | | | No | Yes[86] | Yes[87] | | | Yes | Yes | With plugins[88] | Yes | | With plugin[89] | Yes | Yes | | Yes | Yes | Yes | Yes[90] | Yes | Yes |
---|
HTML generation tools | Yes | Yes | Yes | Yes | Yes[91] | | | Yes | Yes | Yes | No | | Yes[92] | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
---|
Widgets themeable / skinnable | Yes | Yes | | Yes[93] | Yes[94] | | Yes | Yes[95] | Yes[96] | Yes[97] | | | Yes | | Yes | Yes[98] | | | Yes | Yes[99] | Yes[100] | Yes |
---|
GUI resizable panels and modal dialogs | Yes | Yes | | Yes[101] | Yes | | Yes | Yes | Yes | With plugins | | | Yes[102] | | | Yes | | | Yes | Yes[103] | Yes | Yes[104] |
---|
GUI page layout | Yes | Yes | | Yes[105] | Yes | | | Yes | Yes | With plugin[106] | | | Yes[102] | | | Yes | | | Yes | Yes[107] | Yes | Yes[108] |
---|
Canvas support | | Yes | | Yes | Yes[109] | | Yes | Yes | Yes | With plugin[110] | | | Yes[111] | | Yes | Yes | | | Yes | Yes[112] | Yes | Yes[113] |
---|
Mobile/tablet support (touch events) | Yes | Yes | Yes | Yes[114] | Yes[115] | No | Yes | Yes | With plugin[116] | With plugin[117] | | | With plugin[118] | | | Yes | | | Yes | Yes[119][120] | Yes | Yes[121] |
---|
Accessibility / graceful degradation[122] | Yes | No | Yes | No | Yes[123] | | Yes | Partial[124] | Yes[125] | Yes | | | Yes | | | No[126] | | | Degradation: No Accessibility: Yes | | Yes[127] | Yes |
---|
ARIA compliant | Yes | | | | Yes[123] | | | No | | Yes[128] | | | | | | No | | | Yes | | Yes | Yes |
---|
Developer tools, Visual design | Yes | No | No | Yes[129] | Yes[130] | In development[131] | in progress[132] | Yes[133] | Yes | Yes[134][135] | | | Yes[136][137] | | No | Yes[138] | | | Yes | Yes[139] | Yes[140] | Yes |
---|
Offline storage[141] | | | No | Yes[142] | No[143] | | Yes | Via Adobe Air | Via Google Gears[144] | With plugin[145] | No | | | | Via Pyjamas-Desktop[146] | Yes | No | | Yes | planned | Via plugin[147] | Yes |
---|
Cross-browser 2d Vector Graphics[148] | | Yes[149] | | | Yes[150] | | | Yes | | With plugin[151] | | | Yes[152] | | Yes | | | | Yes | Yes (via Raphael) | Yes | Yes[153] |
---|
Charting & Dashboard[154] | | Yes[155] | | Yes[156] | Yes[157] | | | Yes[158] | | With plugin[159][160] | | | | | | | | | Yes | Yes[161] | Yes[162] | Yes[163] |
---|
RTL Support in UI Components | | | | | Yes | | | No | | Depends on the plugin used | | | | | | | | | | | | |
---|
| AccDC | Ample SDK | CupQ | DHTMLX | Dojo | Echo3 | Enyo | Ext JS | Google Web Toolkit | jQuery | midori | MochiKit | MooTools | Prototype & script. aculo.us[1] | Pyjamas | qooxdoo | Rialto Toolkit | Rico | SmartClient and SmartGWT | Wakanda | YUI | ZK |
---|
Browser Support |
---|
Internet Explorer | 6+ | 6+ | 6+ | 6+ | 6+ | 6+ | 8+[164] | 6+ | 6+ | 6+[165] | 6+ | 6 | 6+ | 6+ | 6+ | 6+ | 6+ | 5.5+ | 6+ | 9+ | 6+ | 6+ |
---|
Mozilla Firefox | 2+ | 1+ | 2+ | 1+ | 3+[166] | 1.5+ | >4[164] | 1.5+ | 1+ | 2+[165] | 1.5+ | 1.0.7, 1.5b2 | 2+ | 1.5+ | 1+ | 2+ | 1.5+ | 1+ | 1+ | 4+ | 3+[167] | 2.0+ |
---|
Safari | 3+ | 3+ | 3+ | 2.0+ | 4[166] | 3+ | >5[164] | 3+ | 3+ | 3+[165] | 2+ | 2.0.2 | 3+ | 2.0.4+ | 2+ | 3+ | | 2.0.3[168] | 3+ | 5+ | 4.0 | 3+ |
---|
Opera | 9+ | 9.6+ | 9+ | 9+ | 10.50+[166] | 9+ | [164] | 9+ | 9+ | 9+[165] | 9+ | 8.5 | 9+ | 9.25+ | 9+ | 9+ | 9+ | | 9+ | | 10.0+ | 9+ |
---|
Chrome | 1+ | 1+ | 1+ | 1+ | 3[166] | 1+ | >10[164] | 3+[169] | 1+ | 1+[165] | | | 1+ | 1+ (starting with 1.6.1RC3) | | 2+ | | | 1+ | 11+ | | 2+ |
---|
See also Notes- ^ a b c d script.aculo.us is an add-on to Prototype.
- ^ Dojo Base
- ^ [1]
- ^ [2]
- ^ 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
- ^ Ample SDK uses Browser Sniffing
- ^ [CupQ uses Browser Sniffing]
- ^ Documentation dojo/has
- ^ GWT implementations for every browser
- ^ Google Docs (built on GWT) stops working on a Firefox rebranding because of not doing proper Feature Detection
- ^ jQuery 1.3
- ^ http://www.midorijs.com/midori.js midori.js
- ^ http://www.mochikit.com/MochiKit/Styl e.js MochiKit/Style.js
- ^ http://mootools.net/blog/2010/10/11/m ootools-core-1-3-stable-and-mootools- more-1-3rc/
- ^ 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://zssdemo.zkoss.org/zkau/web/js/ zk/zk.js.dsp zk.js
- ^ kangax (5 April 2010). "What’s wrong with extending the DOM". http://perfectionkills.com/whats-wron g-with-extending-the-dom/. Retrieved 6 April 2010.
- ^ http://www.amplesdk.com/about/technol ogies/javascript/
- ^ MooTools Docs - Element/Element
- ^ Prototype JavaScript framework: Element
- ^ Prototype 2.0 will not extend the DOM - Ajaxian
- ^ AJAX and Dojo
- ^ MooTools Request
- ^ Inner HTML demo
- ^ http://docs.dojocampus.org/dojo/data
- ^ MooTools Request.JSON
- ^ Pyjamas JSON-RPC Example
- ^ http://cometd.org/documentation/comet d-javascript
- ^ https://github.com/kembuco/extjs-come td/
- ^ http://code.google.com/p/rocket-gwt/w iki/Comet
- ^ http://cometd.org/documentation/comet d-javascript
- ^ Real-time Messaging Module
- ^ http://books.zkoss.org/wiki/ZK_Develo per%27s_Reference/Server_Push
- ^ http://docs.dojocampus.org/dojox/data
- ^ http://docs.dojocampus.org/dojo/dnd
- ^ http://code.google.com/p/gwt-dnd/
- ^ MooTools Drag.Move
- ^ http://docs.dojocampus.org/dojo/fx/
- ^ MooTools Fx.Tween (Simple Transitions)
- ^ http://docs.dojocampus.org/dojox/fx/
- ^ http://enyojs.com/api/#enyo.Animator
- ^ Mochikit.Visual
- ^ MooTools Fx.Morph (Advanced Transitions)
- ^ http://www.amplesdk.com/about/technol ogies/javascript/
- ^ http://docs.dojocampus.org/quickstart /events
- ^ http://mootools.net/docs/core/Types/E vent MooTools Events
- ^ Pyjamas demo of onclick event handling
- ^ http://docs.dojocampus.org/dojo/back
- ^ http://www.sencha.com/products/js/roa dmap.php Since v2.2
- ^ Address, History, jquery History, History/Remote, jQuery BBQ
- ^ MooTools-History
- ^ a b Pyjamas Kitchen Sink demo
- ^ dhtmlxForm
- ^ http://docs.dojocampus.org/dijit/form
- ^ http://techblog.maydu.eu/?p=7
- ^ http://docs.jquery.com/Plugins
- ^ Data Views
- ^ dhtmlxGrid
- ^ http://docs.dojocampus.org/dojox/grid
- ^ jqGrid, Ingrid, Flexigrid, SlickGrid, ParamQuery Grid
- ^ JxLib Library or phatfusion sortable table plugin or DrasticGrid
- ^ Live grid
- ^ Wakanda DataGrid
- ^ YUI DataTable
- ^ Data Views
- ^ dhtmlxTree
- ^ http://docs.dojocampus.org/dijit/Tree
- ^ Tree demo
- ^ Tree demos
- ^ treeview, file_tree_viewer
- ^ MooTree 2 or JxLib Library or MooTools PowerTools!
- ^ http://pyjs.org/examples/kitchensink/ output/KitchenSink.html#Trees Tree
- ^ http://demo.qooxdoo.org/current/demob rowser/ Demo browser
- ^ Wakanda Auto Form
- ^ http://developer.yahoo.com/yui/treevi ew/ YUI TreeView
- ^ [3]
- ^ dhtmlxEditor
- ^ http://docs.dojocampus.org/dijit/Edit or
- ^ Echo 3 new features
- ^ problems with the HTMLEditor creating XHTML vs the HTML it does now
- ^ markitup, jwysiwyg, htmlbox, WYMeditor
- ^ MooEditable
- ^ Wakanda WYSIWYG Editor
- ^ 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
- ^ Wakanda Combo Box
- ^ 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
- ^ SkinBuilder
- ^ http://docs.dojocampus.org/dijit-them es
- ^ Community-driven skins, Theme Builder
- ^ Skinning GWT controls with style sheets
- ^ ThemeRoller
- ^ http://manual.qooxdoo.org/current/pag es/gui_toolkit.html#themes
- ^ Wakanda Widget Overview (skins / styles)
- ^ Skinning YUI
- ^ dhtmlxWindows
- ^ a b Using MochaUI Library or JxLib
- ^ Wakanda Dialogs
- ^ http://www.zkoss.org/smalltalks/zkstu dio_vedemo/
- ^ dhtmlxLayout
- ^ [4]
- ^ Wakanda Container / Layout
- ^ http://www.zkoss.org/smalltalks/zkstu dio_vedemo/
- ^ dojo.gfx
- ^ jQuery Canvas plugin
- ^ MochaUI Library
- ^ Wakanda Canvas
- ^ [5]
- ^ DHTMLX Touch
- ^ dojox.mobile & dojox.mobile.app
- ^ [6]
- ^ jQTouch, jQuery Mobile Project
- ^ MooTools Mobile (unofficial)
- ^ Wakanda Navigation View
- ^ Wakanda Split View
- ^ http://www.zkoss.org/whyzk/Features
- ^ 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.
- ^ a b 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
- ^ jQuery UI has ARIA support
- ^ Visual Designer for DHTMLX
- ^ Wavemaker, Aptana Studio
- ^ EchoStudio 3
- ^ [7]
- ^ [8], Theme Builder, Custom build tool
- ^ Netbeans has jQuery support
- ^ jQuery API
- ^ MooTools-core Documentation
- ^ MooTools-more Document
- ^ Custom build, JS Linker, API generation, Unit test framework, etc.
- ^ Wakanda Studio
- ^ 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.
- ^ Tutorial - How to Add Offline Support
- ^ o.DojoToolkit.Org/offline says "Dojo Offline is no longer supported after Dojo 1.3"
- ^ Google API Libraries for Google Web Toolkit
- ^ jQuery HTML5 Storage plugin
- ^ Pyjamas Desktop
- ^ http://yuilibrary.com/gallery/show/st orage-lite
- ^ 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
- ^ [9]
- ^ http://docs.dojocampus.org/dojox/gfx
- ^ http://keith-wood.name/svg.html jQuery SVG plugin
- ^ MooTools ART
- ^ http://books.zkoss.org/wiki/Small_Tal ks/2010/June/How_To_Use_Canvas4Z
- ^ Some JavaScript libraries include widgets for Charts, Gauges, and other data visualizations.
- ^ [10]
- ^ dhtmlxChart
- ^ http://docs.dojocampus.org/dojox/char ting
- ^ http://dev.sencha.com/deploy/dev/docs /?class=Ext.chart.Chart Chart API
- ^ jQuery Flot Plugin
- ^ jQuery Visualize Plugin
- ^ Wakanda Chart
- ^ [11]
- ^ [12]
- ^ a b c d e http://enyojs.com/docs/platforms
- ^ a b c d e http://docs.jquery.com/Browser_Compat ibility
- ^ a b c d http://docs.dojocampus.org/releasenot es/1.4
- ^ http://developer.yahoo.com/yui/articl es/gbs/
- ^ http://openrico.org/resources
- ^ http://www.sencha.com/products/js/
|
| |