Java Script Framework
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 JavaScript framework must be even more project specific than the choice of a web development framework. In addition, the choice of web framework may already determine the JavaScript framework. For this reason, 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.
- If accessibility an issue?
- How much and what kind of performance is needed? DOM traversals in large pages? Many event handlers attached to DOM nodes?
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)
Further criteria[edit]
These criteria will be relevant in a second step, after the preceding criteria have been taken into account.
- Cost to introduce
- Commercial License available
- Fast to deliver
List of Framework[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 | ? | ? | ? | ? | ? | ? | ? |
Licence | ? | ? | ? | ? | ? | ? | ? |