Javascript Frameworks in XWiki (2007)
Last modified by Vincent Massol on 2024/11/19 16:12
Description
XWiki & javascript frameworks
Current state
Features
- Dynamic trees : depends on YUI
- Browser detection : custom
- Full screen editing : custom
- Panel wizard : custom
- Edition locking : custom
- DatePicker : Dynarch
- Input suggest : 3rd party relying on prototype + scriptaculous
- JS Accordion : depends on Rico
- Class editor
- Object editor
- Navigation panel
Frameworks
- Rico
- YUI
- Prototype : Prototype is a JavaScript Framework that aims to ease development of dynamic web applications (Ajax controls,DOM manipulation,etc)
- Scriptaculous : user interface JavaScript libraries (animation framework,drag and drop,etc)
Benchmark
| Prototype + Scriptaculous | Dojo + Dijit + Dojox | |
|---|---|---|
| License | MIT | AFL + BSD |
| Ajax controls | builtin (prototype) | builtin (dojo) |
| Events handling | builtin (prototype) | builtin (dojo) |
| DOM manipulations | builtin (prototype) | builtin (dojo) |
| Accordion | 3rd party | builtin (dijit) |
| Date picker | - | builtin (dijit) |
| Tooltip | 3rd party | builtin (dijit) |
| Autocompleter | builtin | builtin (dijit) |
| Drag & drop | builtin | builtin (dojo) |
| Forms validation | 3rd party | builtin (dijit) |
| Lightbox | 3rd party (1) | 3rd party (dojox) |
| 3rd party (2) | ||
| 3rd party (3) | ||
| 3rd party (4) |
Proposal
- since it'd be long and risky to remove our dependency on prototype, keep using it
- replace rico accordions by protoculous ones and get rid of Rico (in progress)
- have all our custom js (ajax/* for ex.) files minified & gziped at build time (in progress)
- replace the AllDocs?view=tree by a flash mindmap viewer and get rid of YUI
- Denis: Flash is currently declining compared to HTML5, it is not supported on iDevices, therefore, I do not recommend using any Flash based UI for XWiki
Links
- High level frameworks matrix
- Frameworks matrix on ajaxpatterns
- Speed/validity selectors test for frameworks
- How to choose a javascript framework
- ohlo : Dojo, Scriptaculous
- Dynarch datepicker
XE-207
Thanks Evelina, see : http://jira.xwiki.org/jira/browse/XE-207
Functional review
| Module | Feature | IE6 | IE7 | Firefox 2.0 | ||
|---|---|---|---|---|---|---|
| Core | ||||||
| Objects editor | | | | |||
| Class editor | | | | |||
| XWiki Preferences editor | | | | |||
| Panels | ||||||
| Panel Wizard | | | | |||
| Navigation panel | | | | |||
| Rights help panel | | | | |||
| Rights tips panel | | | |
- [1] : minimum height of the accordion elements is too big imho
- [2] : slow with a lot of props (XWiki.XWikiPreferences)
- [3] : ie gets so slow that even scrolling in the page is a pain