Story #9668
closed
[Crunch2] [Workbench] Select a Javascript client framework for future development
Added by Tom Morris over 8 years ago.
Updated over 7 years ago.
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.
- Parent task deleted (
#9043)
- Tracker changed from Task to Story
- Target version changed from 2016-08-31 sprint to Arvados Future Sprints
- Release deleted (
11)
- Target version deleted (
Arvados Future Sprints)
- Release set to 11
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.
- Status changed from New to In Progress
- Status changed from In Progress to Resolved
Also available in: Atom
PDF