React vs Vue: My experience

There’s been an endless fight among web developers about which one is best: Vue or React? Today I am going to put my own ideas into the debate.

June Redwood
3 min readOct 7, 2021
Git tree on IDE
Photo by Yancy Min on Unsplash

React and Vue are both front-end JavaScript web libraries — I have tried to learn both of them, so here’s my opinion on which one you should use for your next project.

What is a front-end JavaScript framework?

Let’s start off by clarifying front-end and back-end. Front-end is the design of the website — what you see, the UI. Back-end is the code of the website, what makes the clock tick.

Let’s imagine a website with a number to represent how many items you have in your cart, with a increase and decrease button on it. The front end would draw and style the buttons, and display the amount of items you have in your cart.

On the other hand, the back-end would control making the decrease button disabled if the value was 0, actually updating the value and changing the value that is on screen.

Back-end cant exist without front-end, and front-end cant exist without back-end.

Terminology

“Component” — a component is a small snippet of the website, like the button to increase and the one to decrease, or the text that displays the count.

Vue

Vue is the more community loved of the two, winning with 189k GitHub stars as of 7 October 2021. Vue has a special file extension, .vue , for making a component (see terminology) in a very clean way.

In terms of my experience with Vue, it’s been quite good. The docs are okay (worse than React), but most of the process was semi-easy. Starting the app on a server requires a bit more knowledge, but sometimes if something needs more knowledge, it has more power.

Vue is certainly a good choice if you have experience with a different framework/library, like Angular or Svelte, as that past experience will get you going in seconds. Vue will be refreshing for you, a breath of the fresh air of things being easy.

If you’re looking for a job, all I can say is meh. You shouldn’t have too much trouble finding one, but the market is definitely smaller than React.

React

React was started by Facebook in 2013 (I know right!), being the more popular but apparently less loved library, with 176k GitHub stars. React also has a special file extension, .jsx , but it doesnt really make development too much easier. It mainly exists to keep your react code safe from other dependencies, with other QOL features specifically for React Developers.

My experience with React has been one of the best experiences I’ve had making a website yet, with the perfect balance of complexity but usability. The docs are very well ordered and organised, and instead of explaining components one by one, like Vue, it’s more of a extremely comprehensive tutorial.

React also has a branch for app development, React Native, which I’ve talked about on the blog in the past, which is a framework for cross platform app development, which I explained more in my last blog post, linked here.

If you have just entered the web development scene, React is a great choice for you. It only requires a basic understanding of modern JavaScript, and then you’re good to go! You can find many tutorials online, or read the amazing docs to get started, and eventually you’ll be building amazing web apps!

In terms of job market, react is also great! Yes, I’m a React fan. The market is very dense, meaning a lot of competition, but also loads more opportunities.

Conclusion

You can’t go wrong using either Vue or React, but the short summary is:

If you have prior experience in web development, or have a good understanding of JavaScript and want lots of jobs, go with React.

If you have experience in other web development libraries/frameworks, Vue is the best choice for you! It will bring a very friendly experience, and be a breeze to learn for you.

Thanks for reading this! If you enjoyed or this helped, applaud and maybe follow me!

--

--

June Redwood

Hiya! I’m June. Front-end Enthusiast | React learner | School student