LeagueSandbox / LobbyClient

League Sandbox's Launcher Client
17 stars 24 forks source link

Port to different framework #24

Closed molenzwiebel closed 8 years ago

molenzwiebel commented 8 years ago

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.

Pupix commented 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:

molenzwiebel commented 8 years ago

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.

chutch1122 commented 8 years ago

Vue.js is pretty nice in my experience. Ember.js may also be worth looking into.

MythicManiac commented 8 years ago

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.

molenzwiebel commented 8 years ago

As per #25, we are now running Vue.js 😃