Chris Hawkes Chris Hawkes is a Senior Software Engineer with over 15 years of experience working for Fortune 500 companies. He’s also taught more than 25,000 students on Udemy and nearly 20 million have watched his programming YouTube channel. 10 min read

React vs. Vue

React vs. Vue

React

React is an open source project developed and maintained by Facebook in 2013.   ReactJS focuses on building and rendering components for a web page.   React was created for Facebook's platform originally but then Facebook decided to release it to the general public to build their own applications.   They moved the code to GitHub and it now operates under the free MIT License.  

Vue

Vue was created by former Google employee and Angular core developer Evan You.   He was inspired to make an easier tool for the world to use due to rising frustrations and complexities with Angular & React.  Vue was built with the best approaches learned during Angular and React's rise to fame.   

React vs Vue

Vue & React are two of the most popular client side libraries in existence in 2020.   The two libraries are very similar in that they:

  • both have a virtual DOM
  • both are component driven
  • both are template engines (View)

Syntax

React's client side View syntax is written in something called JSX.   JSX is actually just JavaScript which produces the HTML templates we end up seeing in the browser.   Vue's syntax is written in a similar way but it uses something called HTML-templates.   The huge difference between the two is that much of the HTML code you need to write can be done directly in an HTML file within Vue, while with React you will need to have an editor configured for JSX support and write much if not all of your JSX code directly into the React components render function.   

Learning Curve

The biggest advantage Vue has over React is that it's much easier & faster to use.   Vue can accessed and used in your HTML application by simply adding a script include into the HTML.   React needs to have tooling installed such as Node and NPM.   There is no production option for React to simply drop in a react file and start building the project.   React requires much more up front work to get started using the library.   

For this reason, Create A React App project was created by the Facebook team.   The problem is the basic app which is spun up is over 38,000 files with 250MB of developer dependencies.    It's simply too much for any beginner programmer to jump right into without running into some major hurdles along the way.   

Performance

Vue is a much more light weight library than React for the reasons mentioned above.   A simple Vue file is all that's needed in your HTML to start using it.   When it comes to DOM manipulation, here is a great visual from blog.logrocket.com.   

DOM Manipulation Framework Comparison

(image source https://blog.logrocket.com/angular-vs-react-vs-vue-a-performance-comparison/)

Jobs

When it comes to employment, React has a major advantage with jobs.   According to the number one jobs website Indeed, React currently has 31,000 open jobs in the USA whereas Vue has only 2,252.   Some of the larger companies using React include Facebook, Instagram, Netflix & Walmart.   Large companies using Vue are GitLab, Upwork & Zoom.us.   

Stack Overflow

When it comes to the overall community according to StackOverflow, there are way more questions with React than Vue.   This trend continues to accelerate going into 2021.