It is obvious that gitea can’t keep using antiquated jQuery. It is definitely the right move to gradually use new front-end technology.
The 2 most popular are React and Vue. React is by Facebook. Vue is a bit newer and inspired by React. For gitea, there can only be 1 of the 2 used.
The reason why I felt this was an important issue that needed to be resolved via a discussion/debate was because the project is currently going in the Vue direction organically.
I believe @lafriks found an excellent calendar heatmap lib implemented in Vue (probably his more preferred front-end library). Obviously once established, there is no turning back.
My argument can be found in the github issue:
- I concede that Vue is slightly better from a technical point of view.
- I have used both libraries. Both are super simple to learn and understand.
- However, the value to gitea of React’s ecosystem of quality third-party libraries is not to be underestimated. Vue has significantly less quality third-party libraries due to it being newer and also not having Facebook/React’s clout.
- I feel that React’s ecosystem will serve gitea much better in the long-run.
- There is a React calendar heatmap component already: https://github.com/patientslikeme/react-calendar-heatmap which I suspect has more collaborators and is better maintained compared to the Vue one.
I don’t think it’s a inherently bad idea to use Vue. I am just arguing that since we are at the early days of departing from jQuery, we should make the best long-term choice. I believe it is react.
You can see the trends:
Vue (which had significant momentum since launching) and React have stabalised now with React slightly ahead. I don’t see it changing any more because Vue is not significantly better that React. Facebook has also battle tested React (on facebook website). You can’t claim that for Vue.