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.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Workbench
Target version:
-
Start date:
07/26/2016
Due date:
% Done:

0%

Estimated time:
Story points:
-
Release:
Release relationship:
Auto

Description

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.

History

#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:

https://github.com/reactjs/redux looks worthwhile. https://egghead.io/courses/getting-started-with-redux

http://polythene.js.org/ 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