Ilmu Komputer    
   
Daftar Isi
(Sebelumnya) Comparison of Java virtual machinesComparison of JavaScript-based ... (Berikutnya)

Perbandingan -- JavaScript frameworks

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

Perbandingan -- JavaScript frameworks

AccDCAmple SDKCupQDHTMLXDojoEcho3EnyoExt JSGoogle Web ToolkitjQuerymidoriMochiKitMooToolsPrototype & script. aculo.us[1]PyjamasqooxdooRialto ToolkitRicoSmartClient & SmartGWTWakandaYUIZK
Version compared2.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)VariableVariable.
Base size:
28 kB (minified & gzipped),
65 kB (minified),
123 kB (uncompressed)[2]
 <25 kB (core gzipped)84–502 kBVariable32 KiB (minified & gzipped),
93 KiB (minified),
252 KiB (uncompressed)
9 kB (minified & gzipped),
50 kB (uncompressed)
32–200 kBVariable;
7.3–65 KiB (YUI Compressor),[3]
101 KiB (uncompressed)[4]
46–278 kBVariableVariable, starting at 6 kB (gzipped)520 kB 100–500 kb (gzipped).VariableVariable; library core is 31 kBVariable
LicenseMIT LicenseMIT & GPLMITGPL & CommercialBSD & AFLMPL, LGPL or GPLApache 2 [13]GPL and CommercialApacheMITMITMIT & AFLMITMITApache 2 & GPLLGPL & EPLApacheApacheLGPL & CommercialGPL & CommercialBSDLGPL & GPL & ZOL
Source languageJavaScript ?JavaScriptJavaScriptJavaScript + HTMLJavaScript and/or JavaJavaScriptJavaScriptJavaJavaScript ? ?JavaScriptJavaScriptPythonJavaScript ? ?Server: Java
Client: Java (Smart GWT) or Javascript (SmartClient) or XML (both)
Javascript + HTML + CSSJavascript + HTML + CSSXML + Java (Javascript Optional)
Features
AccDCAmple SDKCupQDHTMLXDojoEcho3EnyoExt JSGoogle Web ToolkitjQuerymidoriMochiKitMooToolsPrototype & script. aculo.us[1]PyjamasqooxdooRialto ToolkitRicoSmartClient and SmartGWTWakandaYUIZK
Feature detection[5]YesNo[6]Yes[7]NoYes[8]No NoNo[9][10]Yes[11]No[12]No[13]Yes[14]No[15] YesNo[16]NoPartial [17]PartialYesNo[18]
DOM wrapped[19]YesYes[20]YesYesYesYesYesYesYesYesYesYesNo[21]No[22][23]YesYesYesNoYesYesYesYes
XMLHttpRequest
data retrieval
YesYesNoYesYes[24] YesYesYesYesYesYesYes[25]YesYesYesNoYes[26]YesYesYes 
JSON data retrievalYesYesNoYesYes[27] YesYesYesYesYesYesYes[28]YesYes[29]YesNoYesYesYesYes 
Server push data retrievalYes   Yes[30]  Yes[31]Yes[32]Yes[33]        Yes[34] Via PluginYes[35]
Other data retrievalYes: XML, HTMLYes: XML Yes: XML, CSV, HTMLYes: XML, HTML, CSV, ATOM[36]  Yes: XMLYes: RPC, RequestFactoryYes: XML, HTML  Yes: XML, HTML     Yes: XML, WSDL, RSS, and Java-based SQL, Hibernate, POJO adaptersYes: JSON-RPC, Wakanda RESTYes 
Drag and dropYes: With keyboard accessibilityYesNoYesYes[37]Yes YesWith plugin[38]YesYesYesYes[39]YesDependsYesYesYesYesYesYesYes
Simple visual effectsYesYesNoYesYes[40] YesYesYesYesYesYesYes[41]YesYesYesNoYesYesYesYesYes
Animation /
advanced visual effects
 YesNoNoYes[42]YesYes[43]YesYesYesYesYes[44]Yes[45]Yes YesNoYesYesYesYesYes
Event handlingYesYes[46]YesYesYes[47] YesYesYesYesYesYesYes[48]YesYes[49]YesYesYesYesYesYesYes
Back button support /
history management
 YesNoNoYes[50]  Yes[51]YesWith plugins[52]Yes With plugin[53]YesYes[54]YesNoYesYes YesYes
Input form widgets & validation YesNoYes[55]Yes[56]YesYesYesYes, Validation requires plugin[57]With plugins[58]Yes YesYesYes[54]YesYesYesYesYesYesYes
AccDCAmple SDKCupQDHTMLXDojoEcho3EnyoExtJSGoogle Web ToolkitjQuerymidoriMochiKitMooToolsPrototype & script. aculo.us[1]PyjamasqooxdooRialto ToolkitRicoSmartClient and SmartGWTWakandaYUIZK
Grid Yes[59]NoYes[60]Yes[61]Yes YesYesWith plugins[62]No With plugin[63] YesYesYesYes[64]YesYes[65]Yes[66]Yes
Hierarchical TreeYesYes[67]YesYes[68]Yes[69] Yes[70]Yes[71]YesWith plugins[72]No With plugins[73] Yes[74]Yes[75]Yes YesYes (Auto Form)[76]Yes[77]Yes
Rich text editor Yes[78]NoYes[79]Yes[80]Yes[81] Yes[82]YesWith plugins[83]No Yes[84] YesYesNoNoYesYes[85]YesYes
Autocompletion tools  NoYes[86]Yes[87]  YesYesWith plugins[88]Yes With plugin[89]YesYes YesYesYesYes[90]YesYes
HTML generation toolsYesYesYesYesYes[91]  YesYesYesNo Yes[92]YesYesYesYesYesYesNoYesYes
Widgets themeable / skinnableYesYes Yes[93]Yes[94] YesYes[95]Yes[96]Yes[97]  Yes YesYes[98]  YesYes[99]Yes[100]Yes
GUI resizable panels and modal dialogsYesYes Yes[101]Yes YesYesYesWith plugins  Yes[102]  Yes  YesYes[103]YesYes[104]
GUI page layoutYesYes Yes[105]Yes  YesYesWith plugin[106]  Yes[102]  Yes  YesYes[107]YesYes[108]
Canvas support Yes YesYes[109] YesYesYesWith plugin[110]  Yes[111] YesYes  YesYes[112]YesYes[113]
Mobile/tablet support (touch events)YesYesYesYes[114]Yes[115]NoYesYesWith plugin[116]With plugin[117]  With plugin[118]  Yes  YesYes[119][120]YesYes[121]
Accessibility /
graceful degradation[122]
YesNoYesNoYes[123] YesPartial[124]Yes[125]Yes  Yes  No[126]  Degradation: No
Accessibility: Yes
 Yes[127]Yes
ARIA compliantYes   Yes[123]  No Yes[128]     No  Yes YesYes
Developer tools, Visual designYesNoNoYes[129]Yes[130]In development[131]in progress[132]Yes[133]YesYes[134][135]  Yes[136][137] NoYes[138]  YesYes[139]Yes[140]Yes
Offline storage[141]  NoYes[142]No[143] YesVia Adobe AirVia Google Gears[144]With plugin[145]No   Via Pyjamas-Desktop[146]YesNo YesplannedVia plugin[147]Yes
Cross-browser 2d Vector Graphics[148] Yes[149]  Yes[150]  Yes With plugin[151]  Yes[152] Yes   YesYes (via Raphael)YesYes[153]
Charting & Dashboard[154] Yes[155] Yes[156]Yes[157]  Yes[158] With plugin[159][160]        YesYes[161]Yes[162]Yes[163]
RTL Support in UI Components    Yes  No Depends on the plugin used            
AccDCAmple SDKCupQDHTMLXDojoEcho3EnyoExt JSGoogle Web ToolkitjQuerymidoriMochiKitMooToolsPrototype & script. aculo.us[1]PyjamasqooxdooRialto ToolkitRicoSmartClient and SmartGWTWakandaYUIZK
Browser Support
Internet Explorer6+6+6+6+6+6+8+[164]6+6+6+[165]6+66+6+6+6+6+5.5+6+9+6+6+
Mozilla Firefox2+1+2+1+3+[166]1.5+>4[164]1.5+1+2+[165]1.5+1.0.7, 1.5b22+1.5+1+2+1.5+1+1+4+3+[167]2.0+
Safari3+3+3+2.0+4[166]3+>5[164]3+3+3+[165]2+2.0.23+2.0.4+2+3+ 2.0.3[168]3+5+4.03+
Opera9+9.6+9+9+10.50+[166]9+[164]9+9+9+[165]9+8.59+9.25+9+9+9+ 9+ 10.0+9+
Chrome1+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

  1. ^ a b c d script.aculo.us is an add-on to Prototype.
  2. ^ Dojo Base
  3. ^ [1]
  4. ^ [2]
  5. ^ 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
  6. ^ Ample SDK uses Browser Sniffing
  7. ^ [CupQ uses Browser Sniffing]
  8. ^ Documentation dojo/has
  9. ^ GWT implementations for every browser
  10. ^ Google Docs (built on GWT) stops working on a Firefox rebranding because of not doing proper Feature Detection
  11. ^ jQuery 1.3
  12. ^ http://www.midorijs.com/midori.js midori.js
  13. ^ http://www.mochikit.com/MochiKit/Styl e.js MochiKit/Style.js
  14. ^ http://mootools.net/blog/2010/10/11/m ootools-core-1-3-stable-and-mootools- more-1-3rc/
  15. ^ Feature detection all the way
  16. ^ https://svn.improve.fr/rialto/Rialto- coreV1/rialtoEngine/javascript/rialto .js
  17. ^ Author disagrees that feature detection alone is sufficient
  18. ^ http://zssdemo.zkoss.org/zkau/web/js/ zk/zk.js.dsp zk.js
  19. ^ 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.
  20. ^ http://www.amplesdk.com/about/technol ogies/javascript/
  21. ^ MooTools Docs - Element/Element
  22. ^ Prototype JavaScript framework: Element
  23. ^ Prototype 2.0 will not extend the DOM - Ajaxian
  24. ^ AJAX and Dojo
  25. ^ MooTools Request
  26. ^ Inner HTML demo
  27. ^ http://docs.dojocampus.org/dojo/data
  28. ^ MooTools Request.JSON
  29. ^ Pyjamas JSON-RPC Example
  30. ^ http://cometd.org/documentation/comet d-javascript
  31. ^ https://github.com/kembuco/extjs-come td/
  32. ^ http://code.google.com/p/rocket-gwt/w iki/Comet
  33. ^ http://cometd.org/documentation/comet d-javascript
  34. ^ Real-time Messaging Module
  35. ^ http://books.zkoss.org/wiki/ZK_Develo per%27s_Reference/Server_Push
  36. ^ http://docs.dojocampus.org/dojox/data
  37. ^ http://docs.dojocampus.org/dojo/dnd
  38. ^ http://code.google.com/p/gwt-dnd/
  39. ^ MooTools Drag.Move
  40. ^ http://docs.dojocampus.org/dojo/fx/
  41. ^ MooTools Fx.Tween (Simple Transitions)
  42. ^ http://docs.dojocampus.org/dojox/fx/
  43. ^ http://enyojs.com/api/#enyo.Animator
  44. ^ Mochikit.Visual
  45. ^ MooTools Fx.Morph (Advanced Transitions)
  46. ^ http://www.amplesdk.com/about/technol ogies/javascript/
  47. ^ http://docs.dojocampus.org/quickstart /events
  48. ^ http://mootools.net/docs/core/Types/E vent MooTools Events
  49. ^ Pyjamas demo of onclick event handling
  50. ^ http://docs.dojocampus.org/dojo/back
  51. ^ http://www.sencha.com/products/js/roa dmap.php Since v2.2
  52. ^ Address, History, jquery History, History/Remote, jQuery BBQ
  53. ^ MooTools-History
  54. ^ a b Pyjamas Kitchen Sink demo
  55. ^ dhtmlxForm
  56. ^ http://docs.dojocampus.org/dijit/form
  57. ^ http://techblog.maydu.eu/?p=7
  58. ^ http://docs.jquery.com/Plugins
  59. ^ Data Views
  60. ^ dhtmlxGrid
  61. ^ http://docs.dojocampus.org/dojox/grid
  62. ^ jqGrid, Ingrid, Flexigrid, SlickGrid, ParamQuery Grid
  63. ^ JxLib Library or phatfusion sortable table plugin or DrasticGrid
  64. ^ Live grid
  65. ^ Wakanda DataGrid
  66. ^ YUI DataTable
  67. ^ Data Views
  68. ^ dhtmlxTree
  69. ^ http://docs.dojocampus.org/dijit/Tree
  70. ^ Tree demo
  71. ^ Tree demos
  72. ^ treeview, file_tree_viewer
  73. ^ MooTree 2 or JxLib Library or MooTools PowerTools!
  74. ^ http://pyjs.org/examples/kitchensink/ output/KitchenSink.html#Trees Tree
  75. ^ http://demo.qooxdoo.org/current/demob rowser/ Demo browser
  76. ^ Wakanda Auto Form
  77. ^ http://developer.yahoo.com/yui/treevi ew/ YUI TreeView
  78. ^ [3]
  79. ^ dhtmlxEditor
  80. ^ http://docs.dojocampus.org/dijit/Edit or
  81. ^ Echo 3 new features
  82. ^ problems with the HTMLEditor creating XHTML vs the HTML it does now
  83. ^ markitup, jwysiwyg, htmlbox, WYMeditor
  84. ^ MooEditable
  85. ^ Wakanda WYSIWYG Editor
  86. ^ dhtmlxCombo
  87. ^ http://docs.dojocampus.org/dijit/form /ComboBox
  88. ^ Autocomplete, Dylans Autocomplete, Yet Another Autocomplete, jQuery plugin for Autocomplete, Jquery Autocomplete, jquery.suggest, Interface Autocompleter
  89. ^ Digitarald's Autocompleter Plugin
  90. ^ Wakanda Combo Box
  91. ^ 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");
  92. ^ MooTools Elements
  93. ^ SkinBuilder
  94. ^ http://docs.dojocampus.org/dijit-them es
  95. ^ Community-driven skins, Theme Builder
  96. ^ Skinning GWT controls with style sheets
  97. ^ ThemeRoller
  98. ^ http://manual.qooxdoo.org/current/pag es/gui_toolkit.html#themes
  99. ^ Wakanda Widget Overview (skins / styles)
  100. ^ Skinning YUI
  101. ^ dhtmlxWindows
  102. ^ a b Using MochaUI Library or JxLib
  103. ^ Wakanda Dialogs
  104. ^ http://www.zkoss.org/smalltalks/zkstu dio_vedemo/
  105. ^ dhtmlxLayout
  106. ^ [4]
  107. ^ Wakanda Container / Layout
  108. ^ http://www.zkoss.org/smalltalks/zkstu dio_vedemo/
  109. ^ dojo.gfx
  110. ^ jQuery Canvas plugin
  111. ^ MochaUI Library
  112. ^ Wakanda Canvas
  113. ^ [5]
  114. ^ DHTMLX Touch
  115. ^ dojox.mobile & dojox.mobile.app
  116. ^ [6]
  117. ^ jQTouch, jQuery Mobile Project
  118. ^ MooTools Mobile (unofficial)
  119. ^ Wakanda Navigation View
  120. ^ Wakanda Split View
  121. ^ http://www.zkoss.org/whyzk/Features
  122. ^ 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.
  123. ^ a b http://docs.dojocampus.org/quickstart /writingWidgets/a11y
  124. ^ Section 508 accessibility improvements – v3.0 roadmap
  125. ^ Built-in Accessibility in GWT 1.5 Applications
  126. ^ Qooxdoo's "Extreme JavaScript" paradigm
  127. ^ Yahoo! UI Graded Browser Support
  128. ^ jQuery UI has ARIA support
  129. ^ Visual Designer for DHTMLX
  130. ^ Wavemaker, Aptana Studio
  131. ^ EchoStudio 3
  132. ^ [7]
  133. ^ [8], Theme Builder, Custom build tool
  134. ^ Netbeans has jQuery support
  135. ^ jQuery API
  136. ^ MooTools-core Documentation
  137. ^ MooTools-more Document
  138. ^ Custom build, JS Linker, API generation, Unit test framework, etc.
  139. ^ Wakanda Studio
  140. ^ CSS Grid Builder, YUI Test Utility, Profiler, Logger Control
  141. ^ 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.
  142. ^ Tutorial - How to Add Offline Support
  143. ^ o.DojoToolkit.Org/offline says "Dojo Offline is no longer supported after Dojo 1.3"
  144. ^ Google API Libraries for Google Web Toolkit
  145. ^ jQuery HTML5 Storage plugin
  146. ^ Pyjamas Desktop
  147. ^ http://yuilibrary.com/gallery/show/st orage-lite
  148. ^ 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
  149. ^ [9]
  150. ^ http://docs.dojocampus.org/dojox/gfx
  151. ^ http://keith-wood.name/svg.html jQuery SVG plugin
  152. ^ MooTools ART
  153. ^ http://books.zkoss.org/wiki/Small_Tal ks/2010/June/How_To_Use_Canvas4Z
  154. ^ Some JavaScript libraries include widgets for Charts, Gauges, and other data visualizations.
  155. ^ [10]
  156. ^ dhtmlxChart
  157. ^ http://docs.dojocampus.org/dojox/char ting
  158. ^ http://dev.sencha.com/deploy/dev/docs /?class=Ext.chart.Chart Chart API
  159. ^ jQuery Flot Plugin
  160. ^ jQuery Visualize Plugin
  161. ^ Wakanda Chart
  162. ^ [11]
  163. ^ [12]
  164. ^ a b c d e http://enyojs.com/docs/platforms
  165. ^ a b c d e http://docs.jquery.com/Browser_Compat ibility
  166. ^ a b c d http://docs.dojocampus.org/releasenot es/1.4
  167. ^ http://developer.yahoo.com/yui/articl es/gbs/
  168. ^ http://openrico.org/resources
  169. ^ http://www.sencha.com/products/js/
(Sebelumnya) Comparison of Java virtual machinesComparison of JavaScript-based ... (Berikutnya)