Making an issue to contain discussion around this long-term wish goal. So far we've just made comments in passing and I want to have a log of actual exploration surrounding it to make it actually happen.
As of writing this post, our frontend is currently a hodgepodge of raw html/css/javascript and varying degrees of Vue. I think this was appropriate to get us off the ground, but in the long-term I think a proper overhaul is necessary for maintainability and developing new robust features (leveraging a lot of SPA benefits that both Vue/React can give)
Framework options currently in discussion:
Lean fully into Vue (+ Router), leveraging much of our existing code. This involves making new Vue components from our raw JS, and cleaning up our existing usages of Vue as well.
Build out a new frontend entirely in React(+ Router)(+ Redux). This would be a largely-from-scratch implementation hooked up to our existing backend.
UI/component libraries: ?
Depending on the direction of our styling, we might not even need them and continue to style things from scratch. Might be nicer to have them in terms of development, though. Some options from my brief skimming:
Chakra UI (Vue, React)
Quasar (Vue)
Mantine (React)
Node (Type checking!)
Regardless of the choice of Vue or React, we would want to support Node so that we can use TypeScript (and many other packages in the npm ecosystem). Thankfully either framework choice easily integrates with Node, so I think this is strongly included as a part of the overhaul.
@dqian3 can probably talk more about potential gains/challenges in porting fully to Vue
@leealison might have more input on React side of things
Making an issue to contain discussion around this long-term wish goal. So far we've just made comments in passing and I want to have a log of actual exploration surrounding it to make it actually happen.
As of writing this post, our frontend is currently a hodgepodge of raw html/css/javascript and varying degrees of Vue. I think this was appropriate to get us off the ground, but in the long-term I think a proper overhaul is necessary for maintainability and developing new robust features (leveraging a lot of SPA benefits that both Vue/React can give)
Framework options currently in discussion:
Lean fully into Vue (+ Router), leveraging much of our existing code. This involves making new Vue components from our raw JS, and cleaning up our existing usages of Vue as well.
Build out a new frontend entirely in React(+ Router)(+ Redux). This would be a largely-from-scratch implementation hooked up to our existing backend.
UI/component libraries: ?
Depending on the direction of our styling, we might not even need them and continue to style things from scratch. Might be nicer to have them in terms of development, though. Some options from my brief skimming:
Node (Type checking!)
Regardless of the choice of Vue or React, we would want to support Node so that we can use TypeScript (and many other packages in the npm ecosystem). Thankfully either framework choice easily integrates with Node, so I think this is strongly included as a part of the overhaul.
@dqian3 can probably talk more about potential gains/challenges in porting fully to Vue @leealison might have more input on React side of things