Java Script Framework

From MPDLMediaWiki
Jump to navigation Jump to search

This is a protected page.

Introduction[edit]

In the following we list criteria to take into account when choosing a JavaScript Framework for a web application project and evaluate several frameworks according to these criteria.

It must be noted though, that the choice of a JavaScript framework must be even more project specific than the choice of a web development framework. In addition, the choice of a web framework may already determine the JavaScript framework (e.g. because one comes bundled). For these reasons, we also give some general considerations:

  • Will the application make use of other JavaScript libraries - e.g. googlemaps, etc.? If so, care must be taken to choose a framework that plays well with others.
  • Is a heavy-weight framework acceptable, or will light-weight options do?
  • Is security an issue? When sensitive data and ajax are to be used together, the framework should support secure XmlHttpRequests.
  • Is accessibility an issue?
  • How much and what kind of performance is needed? DOM traversals in large pages? Many event handlers attached to DOM nodes?
  • Do we want to host the JavaScript framework/library on our servers or include from a hosting service (or even a content delivery network)?

It is also quite common to switch JavaScript frameworks/libraries in the course of a project, because either special functionality (e.g. make tables sortable) is no longer sufficient or a framework which was used for faster prototyping becomes a performance bottleneck and is replaced with custom code. Since this approach is common, specialized JavaScript libraries providing just a single functionality should also be taken into consideration.

Method[edit]

The criteria are sorted by order of relevance in 3 categories:

  • A -> Must
  • B -> Should
  • C -> Nice to

Cat. A - Must[edit]

  • Opensource
  • Big community/support/Documentation
  • Cross Browser compatibility (which browsers?)

Cat. B - Should[edit]

  • Sufficient number of patterns available
  • Sophisticated patterns (for scientific use)
  • Fits to other JS Frameworks
  • Unique coding style
  • Supports CSS1-3
  • Chainability (?)
  • Easy to learn/adopt
  • Easy to reuse, to customize and maintain
  • Subversion or CVS version repository

Cat. C - Nice to[edit]

  • Plugins
  • Knowledge base (in house)


List of Frameworks[edit]

This list is not exhaustive, but it lists the most common frameworks.

See more framework listings/comparisons here and here or just google.

The Matrix[edit]


Criteria Framework
Yahoo! UIL | JQuery | ExJS | Prototype | Scriptaculous | Dojo | MooTools |
Cat. A
Opensource + ? ? ? ? ? ?
Performance ? ? ? ? ? ? ?
Big community/support/Documentation ? ? ? ? ? ? ?
Internationalization ? ? ? ? ? ? ?
Browser compatibility ? ? ? ? ? ? ?
Cat. B
Number of patterns ? ? ? ? ? ? ?
Sophisticated patterns ? ? ? ? ? ? ?
Fits to other JS Frameworks ? ? ? ? ? ? ?
Unique coding style ? ? ? ? ? ? ?
Supports CSS1-3 ? ? ? ? ? ? ?
Chainability (?) ? ? ? ? ? ? ?
Easy to learn/adopt ? ? ? ? ? ? ?
Easy to reuse, to customize and maintain ? ? ? ? ? ? ?
Subversion or CVS version repository ? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
Cat. C
Plugins ? ? ? ? ? ? ?
Generfal Information
Actual version ? ? ? ? ? ? ?
License ? ? ? ? ? ? ?

Java Web Framework[edit]

Evaluation matrix available at Java Web Framework.


Links[edit]