Story #9668

[Crunch2] [Workbench] Select a Javascript client framework for future development

Added by Tom Morris about 5 years ago. Updated about 4 years ago.

Assigned To:
Target version:
Start date:
Due date:
% Done:


Estimated time:
Story points:
Release relationship:


As we implement new client functionality, it would be useful to know what our future direction is for Javascript frameworks.

This may not be strictly required for #9043, but since the discussion started in the context of that story, I'm using it as the parent for the time being.

Obviously a team decision in conjunction with Ward, but I've assigned Tom since he's started the investigation.


#2 Updated by Peter Amstutz about 5 years ago

  • Parent task deleted (#9043)

#3 Updated by Peter Amstutz about 5 years ago

  • Tracker changed from Task to Story
  • Target version changed from 2016-08-31 sprint to Arvados Future Sprints
  • Release deleted (11)

#4 Updated by Tom Morris about 5 years ago

  • Target version deleted (Arvados Future Sprints)
  • Release set to 11

#5 Updated by Tom Clegg about 5 years ago

There are two contenders.
  • Mithril has technical advantages (speed, simplicity).
  • React has a bigger community.
My goals here are:
  • Efficiently testable, maintainable code.
  • Fast (virtual DOM → fast-responding application → enjoyable user experience).
  • Views are functions, written in a programming language. (They return virtual DOM elements -- it doesn't help to write them as HTML templates.)
  • Possibility of pre-rendering on server side (e.g., using V8).
Advantages of Mithril:
  • Components are just objects -- they aren't tied to some framework class or magic initialization procedure. Better for testing.
  • Good concise vdom syntax: m('.row', m('.col-md-12', 'foo bar'))
  • Fast
  • Small
Disadvantages of Mithril: looks worthwhile. is an interesting alternative to the obvious mithril+bootstrap approach.

#6 Updated by Tom Clegg about 5 years ago

  • Status changed from New to In Progress

#7 Updated by Tom Clegg about 4 years ago

  • Status changed from In Progress to Resolved

Also available in: Atom PDF