Copy to clipboard
Twitter Facebook

Being in charge of software development is not an easy task. There’s a lot of things you have to take into consideration in order to develop a successful web product, ins and outs you may not initially think of. One of the key things you have to look into is the technological stack.

If you’re developing a web application, chances are that you have stumbled upon two major frontend technologies players - Vue and React. But which one should you choose for your application? Which is better? Let’s dive into the details, it’s simpler than you think!

Popularity 🔥

We’re going to focus on statistics that really matter. React is much more popular among both software developers and companies, than Vue, that’s a fact proven by almost every piece of data you can find. How so?

React originated at Facebook and is still being developed there. With a lot of random JavaScript frameworks popping out of nowhere and dying few months later, you can’t be sure if the technology you choose today will still be alive tomorrow. Facebook’s library seems like a reliable option. Vue was a bit late to the game and didn’t have a parent company at all, just a few enthusiasts including Google ex-engineer Evan You.

Well, some of the developers who were looking for a new technology to learn, chose React simply because it launched earlier. Others were not really convinced, since Vue hasn’t had a similarly strong company backing it.

React vs Vue 2019 - Job Postings

There are about 42% more projects utilizing React than Vue (source: Builtwith). On top of that, React Developers are in much more demand than Vue’s. It’s been proven by multiple sources such as LinkedIn, with 1:5 job offers ratio, and Indeed 1:12 ratio. According to a StackOverflow survey, React is the 3rd most popular library among developers. Similar data is presented on StateOfJS - almost 65% of React developers have stated that they use React and would use it again in future projects - that’s the highest percentage out of all JavaScript Front-end frameworks.

The same source also shows an average salary of developers. Vue.js developers earn $62.4k whereas React.js $73.4k annually. Quite a difference.

What does this mean for you? If you want to assemble your very own dev team, it should be much easier to find good React programmers. It’s also a safe bet if you want to learn new technologies and get into frontend development. Right now it doesn’t seem like this situation is going to change. On the other hand, React.js development team may be more expensive than Vue.js. It’s a key factor if you’re developing an MVP or have a limited budget.

Vue vs React 2019 - NPM downloads

Source: npm-stat.com

NPM downloads statistics for each package don’t seem favorable for Vue either - it is downloaded over 6 times less than React but it’s understable, less Vue developers means less downloads. To be fair, Vue is continuously growing in popularity and doesn’t show any signs of slowing down. You can read more about Vue in 2019 here.

Both Vue and React can gloat about big companies using them. Vue.js has found its way into many projects and web applications created by companies such as Nintendo, Adobe or GitLab. This framework is widely utilized in China, as giants like Baidu and Alibaba implemented it into their software.

Nevertheless, when it comes to western companies, React is a clear winner here. Facebook, Netflix, Yahoo, Outlook and hundreds of companies more, are actively using React.

License ✒️

Can you use React and Vue in your commercial projects? The answer is yes. Both Vue and React are licensed under MIT License meaning that they’re Open Source. In 2017 Facebook tried to license React under BSD License which lead to a huge backlash among developers. Fortunately, Facebook revoked their decision.

Future of Vue and React 🔮

Both libraries launched quite a while ago. Facebook is continuously improving React with constant updates, new libraries for the ecosystem and new documentations. Their current plans for 2019 include the release of React Hooks, which will be a breakthrough feature not found in Vue, Concurrent Mode that improves responsiveness by rendering component trees without blocking the main threads and Suspense for Data Fetching. All of that shows that the React team is a group of extremely talented and hardworking engineers who ensure a bright future for the library.

What about Vue? Evan You is open about the future of his ‘progressive framework’. He has stated that the next iteration of Vue will bring many groundbreaking changes for his technology. They include an API redesign using TypeScript, significantly improved performance, plans for implementing Hooks that are similar to React’s and many more. Vue’s team is also working hard to improve the library. No wonder it’s the most popular JavaScript project on GitHub!

If you’re worrying about React or Vue projects being suddenly canceled, don’t - it’s not going to happen anytime soon. They’re not being developed by Google. 😉

Security 🔑

Are Vue and React secure? Application security is entirely up to your software development team. One of the most common security issues comes from possible code injection or poor implementation such as storing vulnerable data on the client’s side. More or less, both libraries are also affected by the XSS Vulnerability. Skilled developers know how to prevent these and many more vulnerabilities, no matter if they’re working with Vue or React.

Documentation 📚

Both technologies provide an official documentation with a dedicated Getting Started section for newcomers. JavaScript developers can understand basic concepts within hours from getting started. Even though React documentation is detailed and in-depth, it is not as clear and organized as the official documentation for Vue. Vue’s documentation is very open about competition and its caveats. It provides an extensive set of use examples but it doesn’t cover all framework’s edges.

If reading hundreds of pages of documentation isn’t your cup of tea then you’ll be happy to know that there are dozens of online courses that cover both technologies. Plus, Vue and React have strong, active communities of developers helping each other.

Do you really need a JavaScript library for your project? 🤔

Some things have to be noted. Developing an application with only vanilla JavaScript makes it more performant than an app developed using a JS framework or library, period. But would a user notice a difference in an real-life application? I don’t think so. These differences may seem huge on paper but in reality they are (in almost every case) indistinguishable.

What benefits using Vue or React gives you? Quite a lot actually! Developing an application using a JavaScript library significantly reduces the time required to achieve the same level of complexity and features of an application than using just JavaScript. They’re highly productive. You should also consider a library if your application is going to scale in the future. It is possible, thanks to Nuxt (in Vue) and Next (in React), as they (and many other frameworks) allow developers to create Server Side Rendering applications.

Large projects typically mean large teams. JavaScript framework or library ensures that all developers have to follow one convention making the code more readable for any new team members and easier to manage in the future.

Features ‍🖇

When it comes to standalone features of both technologies, it’s safe to assume that, for the most part, they are similar. Of course, we could go into details and for example say that React team has introduced Hooks, feature praised by developers that is missing in Vue, but it is not that significant. There are no groundbreaking differences between React and Vue that would make you unable to create a certain application in only one of them.

Developing with React feels closer to coding with pure JavaScript than developing with Vue, developers have more flexibility within projects which leads to a steep learning curve. With that said, initially Vue seems as a much easier library to use but as the project gets more complex there are a few caveats that can cause quite a headache when it comes to finding a solution.

Ultimately, choosing between React and Vue comes down to how experienced your developers are with either of them.

Read more about pros and cons of Vue here.

Continuity 🔗

Both React and Vue teams already have feature release plans for upcoming years.

Should you be worried that the next iteration of Vue is just around the corner and you are starting development with Vue 2? No, not at all. Previous migration from Vue 1 to 2 was quite painless as around 90% of the API stayed the same while introducing a ton of new features. Plus, migration helper tool was introduced making sure that migrating will be performed smoothly with not many issues. We should be expecting the same kind of support with the upcoming version of Vue, even if the core of Vue will be written entirely in TypeScript.

What about React? It offers similar kind of support too! The React team provides a lot of information on how to perform this task correctly. One of the Design Principles of React is the Stability. The React team is rather hesitant towards changing the API as over 50 thousands companies rely on this technology. It doesn’t mean React is stagnating, if changes are necessary there is always a clear migrating path. Migrations are usually easier with React, especially when tools such as codemod exist.

Conclusion 🤞

React, a mature technology with a huge number of contributors. No wonder, it’s backed by one of the biggest tech giants in the world. It quickly became widely accepted among companies creating a great job market for developers as well as other businesses looking for a dev team. React is a great option for MVPs and scalable products - it is efficient, modular and allows for quick prototyping.

Vue is the new kid in town. It’s a young and fresh technology with no strong backing. It doesn’t mean that the project is not being actively developed - everyday the project is being improved by hundreds of contributors. Statistics don’t lie, Vue is getting more and more popular among large companies, 2018 has been the best year for the framework by far! Maybe the job market is not as great as React’s but it’s constantly growing, evolving and becoming more competitive. Vue is a great option is you prefer simplicity and flexibility.

Get an estimate