Jul 3, 2009

10 Most Popular JavaScript Frameworks

In this article we review following 10 JavaScript frameworks and comparing them by various aspects:

  • jQuery
  • Prototype
  • script.aculo.us
  • MooTools
  • ExtJS
  • Qooxdoo
  • Yahoo! UI Library (YUI)
  • MochiKit
  • Midori
  • The Dojo Toolkit

jQuery

jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development.

Documentation: jQuery has a large comprehensive documentation. This documentation is well organized and can be found at jQuery documentation site.

Last releases: It was two major releases during the last year.

Server-side integration: In 2008 jQuery was integrated in ASP.NET MVC framework by Microsoft.

GUI: jQuery UI provides abstractions for low-level interaction and animation, advanced effects and high-level, themeable widgets, built on top of the jQuery JavaScript Library, that you can use to build highly interactive web applications.

Community: The jQuery community is large and active, You can find lots of plugins on the jQuery project site

License: MIT and GPL.

Last release: 01.21.2009

Common usage: jQuery is universal library, it can be used in various projects.

Size: 18kB

GUI example:

Prototype

Prototype is a JavaScript Framework that aims to ease development of dynamic web applications. Featuring a unique, easy-to-use toolkit for class-driven development and the nicest Ajax library around, Prototype is quickly becoming the codebase of choice for web application developers everywhere.

Documentation: Prototype has a clear and comprehensive API documentation. It can be found at API documentation page. You can also read several interesting tutorials at the Learn section.

Last releases: Prototype has a very stable code base. During last year it was only one bugfix release.

Server-side integration: Prototype Library included in Rails framework as part of the Scriptaculous library.

GUI: There is none-official library with several widgets called Prototype UI.

Community: Prototype community is rather active. It has several mailing lists, several groups in various social networks and IRC channel.

Common usage: Prototype is compact JavaScript library intended for simplifying Javascript syntax. Very often Prototype is used as base for building more advanced libraries.

Size: 128kB

GUI example:

script.aculo.us

script.aculo.us is a JavaScript library built on the Prototype JavaScript Framework, providing dynamic visual effects and user interface elements via the Document Object Model. It is most notably included with Seaside and Ruby on Rails, but also provided separately to work with other web application frameworks and scripting languages.

Documentation: Scriptaculous has a nice documentation with lots of example based on the Wiki System.

Server-side integration: script.aculo.us library included in Rails framework.

Community: script.aculo.us community includes Google Group and IRC channel for online support.

License: MIT.

Last release: 18.11.2008

Common usage: Scriptaculous can be good choice when you want just add several visual effects to your web application.

Size: 63kB

MooTools

MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer. It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented, and coherent API.

Documentation: Mootools documentation is written well and includes many useful examples.

Community: Like jQuery community, MooTools community has many professional developers. You can find large amount of plugins intended for performing various tasks.

License: MIT.

Last release: 18.10.2008

Common usage: Mootools library is very similar with jQuery library. It can be used in various projects.

Size: 63kB

ExtJs

Ext JS is a cross-browser JavaScript library for building rich internet applications. It includes many various features like beatifull GUI widgets and AJAX integrations

Server-side integration: Ext GWT is a Java library for building rich internet applications with GWT.

Documentation: ExtJS library has comprehensive documentation describing in details everything. It includes lots of sample applications.

GUI: There is a large set of widgets for building rich users interfaces included in ExtJS

Community: There is a very active forum on official ExtJS site.

License: Commercial and GPLv3.

Last release: 04.08.2008

Common usage: ExtJS library is intended for building rich user interfaces in web applications.

Size: 6.6mB

GUI example:

QooXdoo

QooXdoo is a comprehensive and innovative Ajax application framework. Leveraging object-oriented JavaScript allows developers to build impressive cross-browser applications.It includes a platform-independent development tool chain, a state-of-the-art GUI toolkit and an advanced client-server communication layer. It is open source under an LGPL/EPL dual license.

Documentation: Large SDK with source codes, documentation and samples available for downloading. Also you can view the API in online API Viewer

GUI: Like ExtJS, QooXdoo also has powerfull GUI library.

Server-side integration: Rich Ajax Platform and QooXdoo Web Toolkit includes QooXdoo.

Community: QooXdoo community not very large but active. It has serveral mailing lists for discussion and weekly bulletin in which you can read news about QooXdoo development.

License: LGPL and EPL.

Last release: 05.12.2008

Common usage: One more library with good UI widgets.

Size: 19.9mB

GUI example:

Yahoo! UI Library (YUI)

The Yahoo! UI Library (YUI) is an open-source JavaScript library for building rich interactive web applications using techniques such as Ajax, DHTML and DOM scripting. YUI includes several core CSS resources.

Documentation: YUI has a good API documentation with more than 300 examples.

GUI: YUI includes a full set of GUI widgets that allows to build advanced lightweight interfaces.

Community: YUI community includes many well known peoples and supports many interesting projects like YUI Theater and YUI Library CSS Tools.

License: BSD License.

Last release: 01.10.2008

Common usage: One of the most advanced JavaScript framework.

Size: 10.5mB

GUI example:

MochiKit

MochiKit is a light-weight Javascript library written and maintained by Bob Ippolito. Inspired by the Python networking framework, Twisted, it uses the concept of deferred execution to allow asynchronous behaviour. This has made it useful in the development of interactive web pages which maintain a dialog with the web server, sometimes called Ajax applications. Of particular note is its ability to load and manipulate JSON-encoded data sets, and MochiKit.DOM, a set of functions to easily create dynamic page components.

Documentation: Mochikit has compact documentation that covers MochiKit API

Server-side integration: Mochikit is used by the TurboGears library.

License: MIT.

Last release: 27.11.2008

Common usage: Small universal library.

Size: 457kB

midori

midori is a lightweight JavaScript library that aims to make JavaScript web development easier. It was created by Aycan Gulez.

Documentation: Midori documentation is compact and clear. You can also check some useful tutorials with practical examples.

License: MIT.

Size: 45kB

GUI example:

The Dojo Toolkit.

Dojo is a JavaScript framework with lots of features such as Ajax, events, packaging, CSS-based querying, animations, JSON, language utilities.

Documentation: Dojo documentation is very good and contains many interesting examples and demo applications.

GUI: Dijit provides tab containers, splitters, and other layout containers to let your content go where you mean it to be–without resorting to brittle CSS hacks or worrying about browser issues.

Community: Dojo community includes a rather active forum, IRC channe and several mailing lists.

Server-side integration: Dojo toolkit is integrated in Zend Framework and Tapestry framework.

License: BSD License.

Last release: 12.08.08

Common usage: One more universal JavaScript framework.

Size: 1.7mB

GUI example:

No comments: