Debate: React vs Vue


#1

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:

  1. I concede that Vue is slightly better from a technical point of view.
  2. I have used both libraries. Both are super simple to learn and understand.
  3. 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.
  4. I feel that React’s ecosystem will serve gitea much better in the long-run.
  5. 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:
https://trends.google.com/trends/explore?date=2016-11-30%202018-11-26&geo=US&q=reactjs,vuejs

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.


#2

Most of gitea developers are not from US so it would be fair to compare popularity not only in US but in world:
https://trends.google.com/trends/explore?date=2016-11-30%202018-11-26&q=reactjs,vuejs

Where it can be seen that only in US react is more popular while in world Vue is more popular.

But that is not the main point. Gitea maintainers are more familiar with Vue and it was already some time ago decided by maintainers to use Vue


#3

Thanks for sharing the comparison metrics.

A wise choice. I’ve used both and prefer Vue to React/Preact one-hundred fold. There’s really no debate to be had in my mind. YMMV.