React vs Vue: Why I choose React over Vue

Dec 7th 2020 | 2 Min Read


If you’re at least somewhat familiar with front-end development, you’ve probably heard about React and Vue.

React and Vue are very similar in several aspects. Both use a virtual DOM, and both view libraries. Both Vue and React are solutions to the same problem as reactive HTML rendering tools.

A common sentence often heard among React users is “it’s just JavaScript,” which is very true. Vue has a lot of unnecessary magic, which makes components more difficult to understand. 

Now let’s see how both frameworks differ from one another. Both use different ways to handle templates. React uses JSX, where both HTML and CSS are expressed via JavaScript with XML syntax. At the same time, Vue has a more traditional approach with Single File Components with specific blocks for HTML, styles. JS, This separation of concerns is immediately familiar to any front-end developer making the framework easy to learn.

Another difference is how React and Vue manage state, and State management is essential for React apps. In React, there are many frameworks like Redux that can help you manage your states.

In Vue, there’s no need for a local state as you can modify data using a Vue object's data property. For larger apps, Vue offers Vuex as a state management library. 

If we talk about Popularity, React clearly won this battle. It’s not surprising that it has a bigger community and popularity because Facebook created and uses this technology.

Let's talk about mobile Native Rendering. React Native has evolved from React and is the mobile solution to build native mobile apps using JavaScript and React. Today many Fortune 500 companies use React Native for their mobile space, and I am a React Native developer too and can vouch for its awesomeness.

A React developer can easily understand the flow of React Native since the code is all written in JavaScript and React. The only difference is that React Native comes with native mobile components for iOS and Android instead of web components.

Vue does not have an alternative to React Native, so Vue's developer cannot use their knowledge of Vue to make mobile apps.

One another benefit of React is that the majority of components I write are essentially functions that receive props and return a view.

So, due to all those reasons, I preferred to React over Vue.

More From Web Development