Skip to content

Should you use Vue or React?

New Course Coming Soon:

Get Really Good at Git

Many people asked me to write my opinion on React vs Vue.js. Here are my thoughts.

Having made ebook and courses about both Vue and React, and having used them in many small projects, I think I can answer this question to help you decide if you cannot choose between the two.

So, here are my impressions.

Both are equally great and fast

No difference in the technical details, they do the same thing and they both do it well.

Vue is more oriented at beginners

This is my impression.

React is trying to catch up with one of the best selling points of Vue.js which is that Vue is meant to be very approachable for newcomers. React, on the other hand, targets a slightly different audience, which is reflected in its documentation.

React requires quite a bit of modern JavaScript knowledge that Vue does not.

JSX is harder to “get” than a templating language. Vue, on the other hand, is similar to Angular — which makes migrating from Angular much simpler.

Vue is more of a complete package, React has lots of libraries to choose from

Major needs (like routing or state management) have official packages in Vue, while React leaves to libraries the freedom to battle for the most popular choice. This can either be good or bad, depending on your view on the subject.

I think that having an official package for a common need is very convenient, especially when this means that everything is kept in sync and changes to the overall system are thought holistically.

React has a much larger user base, and job opportunities as well

The React market share is huge. I won’t mention any kind of poll or research because it’s easy to search on Google for this up-to-date information.

Vue is growing as well, but if you want to specialize in a technology to get a job or more freelancing opportunities, React is definitely a bigger pond. Of course there are a lot more developers into this pond, and maybe the less popular Vue has more opportunities since there are less developers as well. Hard to say.

Vue is independent, React is run by Facebook

What’s the difference? I sometimes see in the React release notes (or in other places) things like “we have XXXXX React components at Facebook and…” or “at Facebook, bla bla..“. React is a byproduct of the engineers at Facebook. It’s not a standalone product, it will never be. If a particular need arises at Facebook that requires an addition or change to React, that will be introduced. This also means sometimes changes are made, and you are supposed to keep up with the rapid development or you are “left behind”.

This sounds great, but the problem is that 99.9% of the people don’t have the needs that Facebook has. Nowhere near that scale.

Vue on the other hand is run independently, it has no backing by a single corporation and I feel this is a better way to run an Open Source project that serves the community of developers. The roadmap prioritizes the community needs rather than the parent company needs.

This is my thought on the subject, I have no insider or first-hand information on how things actually work for those projects.

So, which one should I choose!?

It’s up to you 🙂

You need to think about it, balance the pros and cons for your own case, and decide which one fits your needs.

Maybe you can also choose an alternative framework that’s not as popular.

Are you intimidated by Git? Can’t figure out merge vs rebase? Are you afraid of screwing up something any time you have to do something in Git? Do you rely on ChatGPT or random people’s answer on StackOverflow to fix your problems? Your coworkers are tired of explaining Git to you all the time? Git is something we all need to use, but few of us really master it. I created this course to improve your Git (and GitHub) knowledge at a radical level. A course that helps you feel less frustrated with Git. Launching Summer 2024. Join the waiting list!
→ Get my React Beginner's Handbook
→ Read my full React Tutorial on The Valley of Code
→ Get my Vue.js 2 Handbook

Here is how can I help you: