React vs Angular vs Vue

Angular and React are the two big players that are widely used. And there is an upstart that has been getting a lot of traction recently - Vue.js. Which is better, React.JS, Vue.js or Angular? Is React or Vue.js killing Angular? Is React or Vue.js faster than AngularJS? Belitsoft has an expertise in all three: Angular, React and Vue.js. However today we use React more often than other tools and we are strengthening our React team because it saves money for our customers. We have also found and put together the opinions from the most discussed cases where different software developers are trying to find the silver bullet - so you can make the most objective decision possible.
Jan 05, 2018

React vs Angular vs Vue: Popularity

The frameworks we are discussing are named the “Big Three” for a reason. They’ve got over 2 million downloads between them in 2017 alone. Though to be fair, most of those go to React.

The search trends tend to favor Angular and React over their younger competitor.

react vs angular vs vue search trends
Google Trends Results

All three major frameworks are widely represented on GitHub, with React leading the pack.

GitHub projects:

  • React: 526,998 repository results;
  • Angular: 389,462 repository results;
  • Vue: 143,139 repository results

However, Vue was way ahead of the competitors by the number of new GitHub stars. Projects with this framework received about 40k commendations - as much as both React and Angular put together.

According to the StackOverflow survey, React and Angular are among the most popular 3 frameworks professional developers use. Vue failed to make the top-12.

react vs angular vs vue survey results
Survey Results

The information is supported by the job postings. As of the time this article is released, Glassdoor search shows around 7.000 vacancies for Angular developers, 5.500 openings for React devs and only 472 for Vue coders.

In short, if you need frontend work done, finding Angular or React developers would be easier.

React vs Angular vs Vue: Performance

In terms of speed, the members of the Big Three are very close.

react vs angular vs vue speed
Source: https://www.stefankrause.net/js-frameworks-benchmark7/table.html

react vs angular vs vue memory allocation
Source: https://www.stefankrause.net/js-frameworks-benchmark7/table.html

As they are technically similar, the actual speed of your project will depend on the skill of the developers.

React is the Best Tool for Cross-Platform Development

Denis V. , React developer at Belitsoft (3+ years of experience with React):
The official React blog states that the idea behind React is “Learn Once, Write Anywhere”.  Actually, that is why I chose React.
React is the best option if a client requires both web and mobile applications. These are completely different types of applications, however, they can be developed by hiring just one development team instead of two. That significantly reduces the development time and cost. React is ideal for cross-platform development thanks to React Native or even for building VR apps using React-VR.
One of the main advantages of React is the performance of React-based apps thanks to the virtual DOM. DOM manipulations are the core of modern interactive web pages. They are extremely resource-intensive JavaScript operations but React speeds them up using the virtual DOM. Facebook team is working on async rendering to make React-based apps even faster.
When comparing React to Angular and Vue, it’s important to remember that React is a library while the other two are frameworks. It means that React as a library offers the opportunity to choose what architecture and additional libraries to use, for example, Redux or Mobx, while frameworks force you to use a certain structure in your code make you use things the way this framework intends. Yes, with React you need to write a large amount of the boilerplate code to follow best practices for building highly scalable and reusable apps. However, there are many professional boilerplates for React, for example, this one.

Walmart Case Study: Migrating Angular apps to React

Ankur Tiwari is a lead engineer at WalmartLabs e-commerce division. It is a small team of 3–5 full stack developers, building and supporting an ecosystem of web apps that are primarily built on Node/Express/Angular 1.x stack. They use Webpack 2 as their task runner with code written in ES6 that gets transpiled into ES5 through Babel. The client side is an Angular SPA which talks to the Node layer. The Node layer integrates with Couchbase DB and other backend systems through REST APIs with JSON being the data exchange format. They have about 25 front-end reusable Angular custom directives shared across 3 web apps.

Ankur Tiwari noted that "Angular 1.x is pretty notorious in terms of performance when it comes to nested scopes and watchers. The problem becomes more prominent when you have custom directives built on top of open source directives. Imagine these directives composing a view that also involves multiple Ajax requests. That being said, Angular performance would have been pretty normal to me if I had not discovered the gains with React".

As an experiment, he decided to take the most complex view of the app and re-create it with React to understand the differences between Angular vs React performance.

Here’s what his Chrome JS Profiler said:

As they are technically similar, the actual speed of your project will depend on the skill of the developers.

React vs Angular Perfomance
Chrome JS Profiler results with Angular. Source: https://medium.com/walmartlabs/migrating-angular-1-x-apps-to-react-the-hybrid-way-3267ccf33755

Five Reasons Why Developers Love React Native
Chrome JS Profiler results with React. Source: https://medium.com/walmartlabs/migrating-angular-1-x-apps-to-react-the-hybrid-way-3267ccf33755

As you can see above, there is a 35.5% reduction in scripting, 62.5% in rendering and 39% in Painting with an overall reduction of 1.5 seconds in view rendering!

Ankur Tiwari summarised why he chose React: "There were obvious technical reasons to try out React over anything else. It makes rendering/re-rendering of DOM nodes lightning fast. Not to mention its revolutionary concept of virtual DOM and only updating real DOM when needed through tree diff mechanism. Also, Electrode being WalmartLabs homegrown platform for web apps which is built on top of React and Hapi, it’s always better to have Electrode ready React components for any future web app to be written with it".

Rever Case Study: Migrating Angular 2 app to Vue.js

Luis Elizondo is the Director of Engineering at REVER SaaS Company that develops an Idea Management Software, named Rever Score. He does back-end and front-end Web development in this Silicon Valley-based company, founded in 2015 by people that blended their experiences in Toyota, Google, Airbus, Apple, Eurocopter, Rackspace, Procter & Gamble, and a handful of tech startups.

They are using Node.js / Express on the backend, vanilla Node.js with no framework for some microservices and Python for other microservices. Everything runs inside a Docker container. 

In August 2017, Rever released a new version of their web client using Vue.js. Before that, they were using Angular 2 beta 9. Why did they use a beta technology in their products? It was a decision recommended and implemented by the outsourcing company, their line of thought was something along the lines “the final Angular version will be ready by the time we finish the product and we will update every time there’s a new beta release”, and they did, for a time, until they realized it was time-consuming and added no real value.

In the end, it took them 8 weeks to write the project with Vue.js. This was a medium size project from Elizondo's point of view. During that process, they were also rewriting the whole API because there were architectural mistakes on the first version.

Elizondo says that he has done extensive research before making a decision to switch their technology stack.

ReactJS vs AngularJS vs VueJS
ReactJS vs AngularJS vs VueJS. Source: medium.com/reverdev/why-we-moved-from-angular-2-to-vue-js-and-why-we-didnt-choose-react-ef807d9f416

"Why we ditched Angular: I want to focus on tho points, the upgrade process and Typescript.

  • Upgrade to Angular 2. This was not easy because there were many versions we needed to upgrade, doing this while having critical bugs was not an option since we didn’t know what things were broken because of the upgrade and what things were broken because they were already broken.
  • Solve the critical bugs first and then upgrade. Again, not easy because I didn’t have all the necessary experience in Angular 2 and the documentation was upgraded. Try solving a bug that is happening on beta9 but you don’t know when it was solved or even reported with documentation that refers to Angular 2.0.0 and you’ll know what I mean. This is not Angular’s fault, this was just our context.
  • Rewrite the whole thing and redesign the UI in the process. This is the road we took, it was the easiest solution for us, too many things were failing for us to attempt to fix them. We could had done it in Angular 2 as well, or we could experiment if we had other options. We did and I do not regret it.

Typescript is good, however, it was not adding real value for our medium size project. It avoids some kind of bugs, but not all, and we had a plenty, probably because the lack of experience from the outsourcing company. We wanted to avoid that as our team grows, there’s something beautiful in watching a new team member being productive after a few hours with Vuej.js, something we felt that we would not achieve with Typescript.

Vue.js solves the problems that we had, I’m not saying it will solve yours, and that’s why we moved, with our context, the business needs, the timing and the available resources that we had, I would make the same decision again because it solved our problems.

The reason why we ended up using Vue was coding speed, and a small learning curve, but those things pay off latter, when new developers come to the project they can start being productive in a matter of hours, not days.

Why we’re not using Angular 4 is because it didn’t exist when we made the decision to move to Vue.js".

This article accepted some critics in the comments section.

Francesco Belladonna, a web developer with Full-Stack experience (Javascript, HTML, CSS, AngularJS, Redux Ruby on Rails) at Predictable Revenue (Canada) writes:

"I feel like we are missing some very important points here. We are comparing a framework (again) with a view library. Not only that, but you are also comparing the speed of prototyping between the two. I could tell you that based on that comparison, you would choose Vue without writing a single line of code. A framework is meant to give you a speed boost at the start of your new product and give consistency later on. However, when developing any kind of SaaS what you really care about is how hard is to maintain such software, as in speed on fixing bugs, implement new features, refactor.

React comes with just the view layer, and you are “forced” to take decisions by yourself. I’m surprised people keep listing this as a downside: it is probably the most valuable thing React delivers: freedom of choice. Feel like React setup is complex? Cool, grab one of the many available boilerplates and use one of those, Vue is just doing the same for you. While I like the overall article, I think the author failed on checking the long-term gains of one lib over the other. The more you grow, the less you want a framework, the more you want freedom of choice. And a bigger community. That being said, this article does one thing really well: scared me a lot regarding Angular2 (or 4 for what is worth), confirming my feeling that it’s a framework that came with a lot of issues (I come from Angular1 1 background)".

Dennis Brandt, a Senior Programmer / Team leader (Angular, AngularJS, NodeJS, Socket.io) at MyBit BV (the Netherlands) writes:

"My team and I use Angular since August 2016, we waited until there was a stable release before even looking at it.

We also compared Vue, React, Angular and even AngularJS (the first version of Angular). Took into account what we needed from the frameworks/libraries and the project itself, the scale and intended lifespan.

For us, Angular was the clear winner as it provides what we needed, but this doesn’t mean we will use Angular for every project. We look at it from the scope and requirements perspective.

Learning the syntax of a specific template or language is a breeze for any developer worth his/her paycheck and for me and my team has never been a reason to do or not do something.

For us Typescript actually made things easier, the compiler already checks for mistakes, unit testing is simple and as it’s a superset of JavaScript (ES6/7) it was almost too easy to pick up.

Good that you did the research to figure out what was best for you, the team and the project, but if I can say one thing that I hope you’ll keep in mind; Never choose a framework or library because it’s familiar or easier. Choose what best fits the requirement of the project at hand."

Alex Jover Morales, a Full Stack Engineer (VueJS; Redux; Webpack; Karma, mocha, chai; NodeJS; PHP, Lumen etc.) at Coosto (The Netherlands) writes:

"I have worked with the three last year (Angular, Vue, React, in that order), and although my preference goes as well for Vue.js. I’d like to clarify some things from an objective way:

  • What I see about TypeScript in this article usually comes from people that never got into it. Creating an object in TypeScript is as easy as in JavaScript. And it offers lots of stuff, but you need to give it a bit of time (not much really). Once you get there, you don’t wanna go back, and that’s applicable to Vue as well. In fact, I love to combine Vue and TypeScript, even recorded a course.
  • People that come from Angular (especially 1.x) find easier to get into Vue.js, since it shares most of DSL. What takes a while is to learn new practices and patterns of Component architecture. Once you know them, it’s really easy to get into both Vue or React. Of course, Angular 2+ takes much more. Personally, the easiest for me was React due to knowing already all the stuff, just needed to go to another syntax, and JSX is literally JS and HTML.
  • Vuex or Redux… they’re almost the same. I agree Vuex seems easier, especially because it doesn’t need to be immutable (what it’s less clean in the other hand), but they’re almost the same thing with different names.
  • What is true, lot’s of things are easier in Vue, for example, lazy loading + code splitting, and the DSL itself. Although, React makes composition easier since it’s just JS with almost no framework context.

I’m not making an opposite statement, just making clear there is no silver bullet. They all offer mostly the same, and what some find easy/better with one, other with the other. Best thing is always to analyze and choose what’s best for the project/team."

Articles you might be interested in:

Blog writers

Subscribe to Belitsoft's Blog for Entrepreneurs

Join successful software startup founders! Get insights from growing companies like, where to get an idea, how to validate it, how to launch, and how to hire people - everything. Enter your email address below (no spam):

Email *

RECOMMENDED FOR YOU

Lead Generation Design of The Best SaaS Websites

If clothes make the man, the design makes the website. That's where potential customers start evaluating a product. The SaaS website can (and should) be an online lead-generation machine, so each component of it has to be as good as possible. As people generally remember the first and the last thing they see, having impressive header and footer can go a long way towards making your product successful. What do some of the best SaaS companies do with their websites’ headers/footers? Look at this list to get and keep in mind some ideas for custom software development while building or redesigning your SaaS website. ...

PHP 7 vs Node.js

Our team is experienced both in PHP programming and Node.js development. We have a portfolio with both PHP-based applications and Node.js-based applications as well as mixed ones. What do we take into account when considering which tool to use in custom software development? ...

The Top 10 Advantages Of Laravel for Cost-Effective Web Development

Laravel framework is very popular for custom software development. It is the Most Starred PHP Framework on Github: more than 35 000 developers from all over the world (mostly from the USA) greatly appreciate robust features of this platform. Based on data of the BuiltWith, Laravel's popular websites verticals include Business, Entertainment, Media, News, Shopping, Technology, Vehicles. Why is Laravel so popular? ...

100% Remote Million-Dollar SaaS Companies

Companies that hire remote (distributed, virtual, dispersed, or dedicated) workers and do it well seem to have a huge leg up on the competition. Let’s learn how these successful SaaS companies use global talents to increase software quality and reduce the cost of rent and office supplies: Basecamp, Buffer, Chargify, Convertkit, Ghost(pro), Groove, Hubstaff, Invision, Olark, and Zapier. As the company where you can find a remote PHP developer, we believe that you could utilize their experience and expertise to build your own full remote SaaS company. ...

SaaS Founders Who Became Rich Starting With MVP

Belitsoft has a huge experience in MVP software development for startups and prototypes for existing brands. MVP is a minimal version of the product with the minimum set of features that is enough to deploy and test the key hypothesis to solve problems of this product’ potential customers. Experts suggest that, in B2B, it’s not an MVP until you sell it. Viable means you can sell it. ...

Profitable SaaS Startup Ideas

The way to get profitable startup idea is not to try to think of startup ideas (including SaaS development). It's to look for problems, preferably problems you have yourself.  In fact, for many entrepreneurs, successful business ideas start out as solutions designed to address a challenge they face personally. Solving the problem that frustrates you may be one of the best ways of finding an idea for your startup. Look at these software developers who turned their problem into success.  ...

Get A Free Quote

Do you have a software development project to implement? We have people to work on it.
We will be glad to answer all your questions as well as estimate any project of yours.
Use the form below to describe the project and we will get in touch with you within 1 business day.

Call us:
Phone - USA
Phone - BELARUS
Skype
EMAIL US:
Contact form