React vs Vue: Why I choose React over Vue

Dec 7th 2020 | 4 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 of them are 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” and that’s 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 while Vue has a more traditional approach with Single File Components with specific blocks for HTML, styles, and JS, This separation of concerns is immediately familiar to any front-end developer making the framework easy to learn.

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

In Vue, there’s no need for a local state as you can modify data using the data property of a Vue object. 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 are using 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 instead of web components, React Native comes with native mobile components for iOS and Android.

Vue does not have an alternative to React Native, So the developer of Vue 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 React over Vue.

More From Web Development

Subscribe to our news letter

Enter your email to get wapgee notification