WARNING: you are not looking at the live version but at an older version.

Choosing a JavaScript library

Javascript Library requirements

  1. base for client-side restletport
  2. cross-browser issues:
    • syntax
    • DOM model
    • event model
  3. dynamic loading of js-files
  4. event binding
  5. unit testing
  6. (widgets, effects)
  7. integration of external widgets (Simile)
  8. size, stability, maturity
  9. compression

The contestants


Latest (non-beta) release
Size
the good
the bad

Licence

Browser compatibility

Dojo

1.0.2 (12/15/07)

50kb+

  • OOP
  • CSS3
  • buildsystem with compression
  • unittest
  • widgets (Dijit)
  • buggy
  • ugly code
  • heavy

modified BSD or Academic Free 2.1

Safari 3.0.x
Opera 9.0+
IE 6.0+
FF1.5+
Konqueror 3.5+

Prototype

1.6.0.2 (01/25/08)

~120kb

  • poor documentation
  • no UI
  • extends Object.prototype (here and here)

MIT

IE 6.0+
FF1.0+/Mozilla 1.7+
Safari 1.2+

jQuery

1.2.2 (01/14/08)

~26kb

  • documentation
  • easy to use
  • fast
  • CSS 1-3, basic xpath
  • lightweight
  • chainable
  • plugins
  • namespaced
  • only selector+effects+some-XHR
  • only for simple and small projects
  • no widgets

MIT or GPL

FF1.5+
IE 6+
Safari 2.0.2+
Opera 9+

Ext JS

2.0.1 (01/23/08)

7kb+

  • support
  • good collection of widgets
  • UI-centric (+ or -)
  • on top of jquery/yui/prototype
  • heavy

LGPL 3.0

IE 6+
FF1.5+
Safari 2+
Opera 9+

Yahoo UI Library

2.4.1 (12/19/07)

29kb+

  • history manager
  • documentation
  • modular
  • event driven
  • namespaced
  • slow
  • heavy
  • complex

BSD

IE 6+
FF1.5+
Safari 2+
Opera 9+

MooTools

1.1 (05/07/07)

9kb+

  • lightweight
  • fast
  • easy
  • modular
  • Object Oriented
  • chainable

MIT

IE 6+
FF
Safari
Opera
Camino

qooxdoo

0.7.3 (01/14/08)

  • buildsystem for optimazing  and packaging
  • namespace
  • event binding
  • cross-browser back button support
  • bookmarkability
  • non-CSS-based styling
  • AOP

LGPL or EPL

IE 5.5+
FF 1.0+/Mozilla 1.3+
Opera 8+
Safari 3

Rico

2.0rc (01/29/08)

  • based on prototype
  • few features

Apache 2.0

IE 5.5+
FF 1.0/Win
Camino/Mac
Firefox 1.5x/Mac
Safari 2.0.3

GWT

1.4.61 (11/03/07)

  • browser history
  • JUnit
  • i18n
  • Java compiled to javascript

Apache 2.0

IE
Firefox
Mozilla
Safari
Opera

Disqualified:

Popularity (by number of searches)

gtrends-javascript-libraries

The other frameworks (qooxdoo, Rico, Ext js) didn't have enough search volume to show up on the graph. The seeming popularity of Prototype is caused by the added searches for the prototype object of JavaScript.

The first 4 loosers

  1. Rico:
    • small community
    • low support
Comments (2)