Idea #9668
closed[Crunch2] [Workbench] Select a Javascript client framework for future development
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 Idea
- 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