Closed molenzwiebel closed 8 years ago
Angular and React are 2 very different approaches to development. Angular is a framework which forces you to do things their way, React is just a library that lets you build single components and give you full control over the data flow and what not (even tho they are pushing Redux as the de facto data flow in React).
Seeing as this is a work in progress and things could change along the way, having freedom to move around should help us create a better client, and allow us to refactor things more easily if need be. That's why I think we should use a web components approach, either with React, Polymer or Vue.js (soon to also get a 2.0 release) instead of getting locked into a framework.
With this said all that's left is to decide is:
Yeah, I know the difference between the frameworks. I merely suggested Angular 2 because we could potentially port over from the current client.
It would probably be best to use React, because of its current popularity and the relative abundance of React projects using Electron at the moment. This is reinforced by the relative small adaption of Polymer and Vue.js (even though electron/chromium supports the technologies that Polymer uses).
If we were to use React, I don't think we need a Flux/Redux setup along with it. We do not have too much state within the application, with most of the data actually being a 1-to-1 view over the server data. Unless theres a clear reason to use Redux, I don't think its worth to add the boilerplate.
Vue.js is pretty nice in my experience. Ember.js may also be worth looking into.
I'd prefer separating javascript, html and css, so Polymer sounds a nicer option to me. I'll let you make the call though, as you're the one who has been working on this mainly.
As per #25, we are now running Vue.js 😃
Since Angular v1.x is now deprecated/abandoned, it might be wise to port now that we do not have too much user interface code (currently it is mostly styles, static data).
Either Angular 2 or React seems okay, unless anyone has a different suggestion. Webpacks/TypeScripts module system allows for easy static services a la services in Angular 1, and all other features should be fairly easy to port as well.