Article:
So sánh các JavaScript framework
2175
nguoitapdich.myopenid.com 35Updated over 4 years ago |
Dưới đây là bảng tóm tắt một số thư viện/framwork phổ biến dùng để làm rich UI cho web. Các bạn có thể dùng để tham khảo, mình sẽ cập nhật thêm. Chỗ nào chưa được mời các bạn cho ý kiến.
Ext
|
Name |
Ext |
|
Project URL |
|
|
License |
Ext has several license: + Commercial License a single developer: $289 up to 5 developer : $999 up to 25 developer: $2,999 up to 100 developer: $4,999 + Open Source LGPL 3.0 License + OEM/Reseller License |
|
Functionality |
+ DOM access and manipulation + CSS access and manipulation + Dynamic, reusable UI components + Create grid to display data + Support Ajax + Drag & Drop + Tabs & Layouts |
|
Availability for AJAX/server-side language binding |
Available with JSP, php, perl, etc... |
|
Easiness |
Easy to use |
|
Lightweightness |
|
|
Browser compatibility |
IE 6+, Opera 9+, Firefox 1.5+, Safari 2+ |
|
Project activity |
The latest version: 2.0. Release: December 4, 2007 actively developing |
|
Look and feel |
Good user interface, good documentation and tutorials. Loading slowly |
|
Documentation |
Available at http://extjs.com/learn/, There are step by step tutorials Many examples to demonstrate functions of Ext |
|
Demonstrates |
http://extjs.com/deploy/dev/examples |
Google Web Toolkit
|
Name |
Google Web Toolkit |
|
Project URL |
http://code.google.com/webtoolkit |
|
License |
The Google Web Toolkit is licensed under the Apache License, v. 2.0 |
|
Functionality |
+ Dynamic, reusable UI components + Drag & Drop + Support Ajax, without break the browser’s back button + Is written by Java language, the Google Web Toolkit compiler translates to browser-compliant JavaScript and HTML + Easy create efficient internationalized + Support Google Gears, to make web-based applications function even offline |
|
Availability for AJAX/server-side language binding |
Java |
|
Easiness |
Is written by pure java so it has a little difficult Can use common IDE like Eclipse, ..., easy to test and debug |
|
Lightweightness |
|
|
Browser compatibility |
GWT applications automatically support IE, Firefox, Mozilla, Safari, and Opera |
|
Project activity |
Continue developing |
|
Look and feel |
More difficult and slower than other toolkits, |
|
Documentation |
Refer to http://code.google.com/webtoolkit/overview.html JavaScript toolkits comparing: http://www.ja-sig.org/wiki/display/UP3/Javascript+Toolkit+Comparison |
|
Demonstrates |
http://code.google.com/webtoolkit/examples/ |
Prototype
|
Name |
Prototype |
|
Project URL |
http://www.prototypejs.org/ |
|
License |
The Prototype is licensed under MIT |
|
Functionality |
+ Dynamic, reusable UI components + DOM access and manipulation + Drag & Drop + Support Ajax, easy to create Ajax calls with Ajax.Request, Ajax.Update object |
|
Availability for AJAX/server-side language binding |
|
|
Easiness |
Easy to use |
|
Lightweightness |
Filesize range from 46Kb – 137 Kb |
|
Browser compatibility |
Safari 1.2+, Firefox 1.0+, IE6+, Opera 9. |
|
Project activity |
The latest version: 1.6. Release November 7, 2007 Continue developing |
|
Look and feel |
Not support UI as well as Ext Small size |
|
Documentation |
Refer to http://www.prototypejs.org/learn API Docs is clearly JavaScript toolkits comparing: http://www.ja-sig.org/wiki/display/UP3/Javascript+Toolkit+Comparison |
|
Demonstrates |
|
ScriptAculous
|
Name |
ScriptAculous |
|
Project URL |
|
|
License |
+MIT license |
|
Functionality |
+Ajax: JSON handle +Event Handling +Widgets :features an autocomplete widget, which receives an HTML string with an unordered list of elements. +Controls : Drag and drop, sortable, slider, auto completion text field, .. +DOM Manipulation +Visual effects +Other capabilities of prototype framework |
|
Availability for AJAX/server-side language binding |
None |
|
Easiness |
Easy to use |
|
Lightweightness |
264 KB uncompressed, including prototype.js 1.6 library |
|
Browser compatibility |
Internet Explorer 6.0+ Firefox 1.0, 1.7+ Safari 1.2+ |
|
Project activity |
January 3, 2008, latest versionV1.8.1 |
|
Look and feel |
Demo link: |
|
Documentation |
http://wiki.script.aculo.us/scriptaculous/ +Basic usage +FAQ +Lack of API reference +Lack of tutorial +There are demos you can learn from it +There are server-side framework integrations guide |
|
Demonstrates |
Based on prototype |
MooTools
|
Name |
MooTools |
|
Project URL |
|
|
License |
+MIT license |
|
Functionality |
+Modular:can load each of its modules separately +Simple AJAX : request for both XML and JSON format +Controls : Drag and drop, sortable, slider, auto completion text field, .. +Visual effects +DOM traversal and manipulation |
|
Availability for AJAX/server-side language binding |
None |
|
Easiness |
Easy to use |
|
Lightweightness |
179.8 KB uncompressed, including core module and all plug-in components |
|
Browser compatibility |
Safari, Internet explorer 6 and 7, Firefox, Opera, Camino |
|
Project activity |
June 4, 2007, released v1.11 November 14, 2007 v1.2 beta 2 January 16, 2008, v1.2 beta 2 |
|
Look and feel |
Demo link: |
|
Documentation |
+There are API reference of modules. +In each modules, there are documentation for all the MooTools functions and Classes and examples of use +Can learn to use through the demo |
|
Demonstrates |
|
Mochikits
|
Name |
Mochikits |
|
Project URL |
|
|
License |
+MIT license +Academic Free License v2.1 |
|
Functionality |
+can load each of its modules separately +working with the DOM +Simple AJAX : request for both XML and JSON format +logging functionality +Drag n Drop +Basic Visual Effects +Advanced Visual FX +Event handling +Widget Collection: not many: sort tables, color wheels,.. |
|
Availability for AJAX/server-side language binding |
None |
|
Easiness |
Easy to use |
|
Lightweightness |
80-120 KB uncompressed |
|
Browser compatibility |
Safari 2.0.2, Firefox 1.0.7, 1.5b2 Internet explorer 6 Opera 8.5 |
|
Project activity |
July 27, 2005 initial released v0.50 ...... April 29, 2006, v1.3.1 (most current release version) |
|
Look and feel |
Demo link: |
|
Documentation |
http://www.mochikit.com/doc/html/MochiKit/index.html +All the API is properly documented, it has relevant examples on some sections. |
|
Demonstrates |
|
JQuery
|
Name |
JQuery |
|
Project URL |
|
|
License |
jQuery is currently available for use in all personal or commercial projects under both MIT and GPL licenses. |
|
Functionality |
+DOM elements selection +DOM traversal and modification +Handle events +CSS manipulation +Effects and animation +Add Ajax interactions to web pages |
|
Availability for AJAX/server-side language binding |
|
|
Easiness |
|
|
Lightweightness |
Compressed size is < 20KB |
|
Browser compatibility |
Firefox 1.5+, Internet Explorer6+, Safari 2.02+, Opera 9+ |
|
Project activity |
January 14th, 2006 jQuery Announced .... continuously improved .... January 15th, 2008 Bugfix for jQuery 1.2, library is now 2 years old |
|
Look and feel |
|
|
Documentation |
There are step by step tutorial and complete api document in Jquery home page |
|
Demonstrates |
|
YUI
|
Name |
YUI |
|
Project URL |
|
|
License |
All of the YUI Library components are provided free of charge under a liberal BSD license |
|
Functionality |
+Animation +Calendar, chart, color picker, TabView, TreeView, Rich text editor, Selector, Slider,... +Connection Manager +Container(tooltip, panel, dialog,...) +DataSource, DataTable +Drag & Drop, Event + ImageLoader +JSON +CSS (Fonts, Grids,...) |
|
Availability for AJAX/server-side language binding |
Use with server side: php, java, ... |
|
Easiness |
Easy to use |
|
Lightweightness |
7.3 MB uncompressed, including core module and all plug-in components, test, example folders. |
|
Browser compatibility |
Any browser support javascript (Firefox, IE,...) |
|
Project activity |
The latest version: 2.4.1 Release: December 19, 2007. And the project is developing. |
|
Look and feel |
Demo link: |
|
Documentation |
|
|
Demonstrates |
|
Zimbra AjaxTk
|
Name |
Zimbra AjaxTk |
|
Project URL |
http://www.zimbra.com/community/kabuki_ajax_toolkit_download.html |
|
License |
The open source licensing terms for Kabuki are under the Yahoo Public License (YPL) |
|
Functionality |
+config : configuration information and message localization files +core - base exception classes and environment information +debug : debug classes for runtime application debugging +dwt : DHTML Widget Toolkit +events : base event and event listener classes, as well as the event manager class that is responsible for event registration and dispatching +net : network communications +soap : SOAP document handling +util : utility classes for such tasks as string manipulation, cookie management, data manipulation, deferred action support, and callback support +xml : XML document handling |
|
Availability for AJAX/server-side language binding |
User with server side: java, ... |
|
Easiness |
|
|
Lightweightness |
1.9 MB uncompressed, including core module and all plug-in components, test, example folders. |
|
Browser compatibility |
Any browser support javascript (Firefox, IE,...) |
|
Project activity |
The latest version: 4.5.0_GA Release: January, 16, 2007. And the project is developing. |
|
Look and feel |
Windows-like interface |
|
Documentation |
Lack of documentation |
|
Demonstrates |
|
|
|
Prototype |
Dojo |
Mochikit |
YUI |
Google web toolkit |
Jquery |
Ext |
Zimbra |
MooTools |
ScriptAculoUS |
|
Support Ajax |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
|
Drag&Drop |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
|
Visual effects |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
|
Event handling |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
|
Back button support with Ajax |
|
Yes |
|
|
Yes |
|
|
|
|
|
|
Editor |
|
|
Yes |
|
Yes |
|
|
|
|
|
1 2 
framework, widget
35