Story #9668
closed[Crunch2] [Workbench] Select a Javascript client framework for future development
0%
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.
Updated by Tom Morris over 8 years ago
Semi-random collection o' links:
https://news.ycombinator.com/item?id=10836236
https://medium.com/@l1ambda/mithril-vs-angular-vs-react-d0d659c24bae#.nn40nfsm0
http://swannodette.github.io/2013/12/17/the-future-of-javascript-mvcs (old)
https://auth0.com/blog/2016/01/07/more-benchmarks-virtual-dom-vs-angular-12-vs-mithril-js-vs-the-rest/
https://www.quora.com/Which-should-I-learn-Mithril-Vue-or-Angular
http://mithril.js.org/comparison.html
http://vuejs.org/guide/comparison.html
Updated by Peter Amstutz over 8 years ago
- Tracker changed from Task to Story
- Target version changed from 2016-08-31 sprint to Arvados Future Sprints
- Release deleted (
11)
Updated by Tom Morris over 8 years ago
- Target version deleted (
Arvados Future Sprints) - Release set to 11
Updated by Tom Clegg over 8 years ago
- Mithril has technical advantages (speed, simplicity).
- React has a bigger community.
- 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).
- 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
1.0 (rewrite) isn't done yet. https://github.com/lhorie/mithril.js/blob/rewrite/README.md
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.
Updated by Tom Clegg over 7 years ago
- Status changed from In Progress to Resolved