Javascript Frameworks in XWiki (2007)

Last modified by Vincent Massol on 2024/11/19 16:12

 XWiki
 Requirements
 Dormant
 

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 + ScriptaculousDojo + Dijit + Dojox
LicenseMITAFL + BSD
Ajax controlsbuiltin (prototype)builtin (dojo)
Events handlingbuiltin (prototype)builtin (dojo)
DOM manipulationsbuiltin (prototype)builtin (dojo)
Accordion3rd partybuiltin (dijit)
Date picker-builtin (dijit)
Tooltip3rd partybuiltin (dijit)
Autocompleterbuiltinbuiltin (dijit)
Drag & dropbuiltinbuiltin (dojo)
Forms validation3rd partybuiltin (dijit)
Lightbox3rd party (1)3rd party (dojox)
 3rd party (2) 
 3rd party (3) 
 3rd party (4) 

InformationProtoype + Script.aculo.us == 32kb WarningDojo job application form demo == 224Kb of JS

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

XE-207

Thanks Evelina, see : http://jira.xwiki.org/jira/browse/XE-207

Functional review

ModuleFeatureIE6IE7Firefox 2.0
Core
Objects editor
Class editor [2]
XWiki Preferences editor
Panels
Panel Wizard [3]
Navigation panel [1] [1] [1]
Rights help panel [1] [1] [1]
Rights tips panel [1] [1] [1]
  • [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

Trends


 

Get Connected