DEV Community

Cover image for [COMPARISON] Angular vs Vue.js vs React.js - which one you should choose in 2020?

[COMPARISON] Angular vs Vue.js vs React.js - which one you should choose in 2020?

Duomly on January 16, 2020

This article was originally published at Vue.js vs React.js vs Angular Since a few years, the popularity of different front-end frameworks grew...
Collapse
 
gochev profile image
Nayden Gochev • Edited

I would try to say to explain it shorter.

  • React - Just a library full with anti-patterns, does the job fast, doesn't always do it right.
  • Vue - Maybe the best of the rest, but no jobs, so skip it.
  • Angular - Just the best, but hard to learn.

Another compartment I can make is if we think about the old Server Side web and the new Client side web we can say.

  • React is like the old days Ruby(on rails) - write fast, maintain never just rewrite it.
  • Vue is like C#(.Net) - looks cool, no one uses it.
  • Angular - is like Java( with Spring).. complex but ones learn it you have even the big companies and the enterprise, not only startup world ! :)
Collapse
 
dexygen profile image
George Jempty

A) React isn't necessarily "full with anti-patterns"
B) As a Vue developer since 2017 I started getting lots of job inquiries last year

I'll just stop there. Your "explanation" seems like so much FUD (fear, uncertainty, doubt) to me.

Collapse
 
gochev profile image
Nayden Gochev

well at least this is how the things looks to me . :)

About react.. well not full :) just embraces a few.. :D my definition of full is more then 2.

Thread Thread
 
juanjoseluisgarcia profile image
Juan Garcia

I just simply see you do not know what you are talking about. :)

Thread Thread
 
gochev profile image
Nayden Gochev

Maybe I don't, however this is the way I see it. As said I am not a frontend developer still this is the way I will choose a framework. Also keep in mind this depends on country from country. I am coming from a mostly outsourcing country however we do a lot of product development and I am not coming from an country with a lot of service or outsourcing for service development.. so this is also something to be aware of ;)

Collapse
 
crycx profile image
crycx

Nice way to put it :)

Collapse
 
capsule profile image
Thibaut Allender

The no job argument is so BS. According to you, we should all work in retail?
theatlantic.com/business/archive/2...

Collapse
 
gochev profile image
Nayden Gochev

well I do work in retail :D

Collapse
 
lukaszsarzynski profile image
Łukasz Sarzyński

Somebody said that React isn't framework but only library. I think that the bigger one who have all in one is Angular framework

Collapse
 
dhihendrix profile image
Dhiego Hendrix Atencio • Edited

Yes, angular have the router, http service, rxjs, pipes, dependency injection, etc... All built-in. You don't need to pick one from others repo. It's force a structure to your project. For that reason big companies usually choose angular. The point is that angular team will take care of all the stuff for your. You're able to build the entire application only using the tools provided by core angular team. You don't need to find side libraries and decide which one feats for your project. That's the point

Collapse
 
dexygen profile image
George Jempty

What it has built in isn't what makes it a library or framework, it's whether you call React code, or React code calls your code. In the former case, it would be a library, in the latter case (which is indeed the case) it would be a framework

Thread Thread
 
kayis profile image
K

Yes, that's one definition of framework (the one I prefer, too) but not the one the React team follows.

For them Next.js or GatsbyJS are frameworks that are built on the React library.

Thread Thread
 
dexygen profile image
George Jempty

The React team can follow whatever self-delusional definition they like I guess 😜

Collapse
 
dexygen profile image
George Jempty
Collapse
 
arekx profile image
Aleksandar Panic

Few points:

  1. Not a fair comparison. React and Vue are component libraries, Angular is a component framework. If you are judging bundle sizes, you need to add routers, http clients, scss, dependency injection and global state management libraries to Vue and React before comparing them. Try it, you will see who is the clear victor.
  2. Most talked about != Most popular. People can be writing on how they hate one of these 3 and you would put them in the same boat as the ones they love
  3. Speed comparison is useless. Even the slowest component library/framework is blazing fast enough for 90% of the things you will use it for today. Most people's workload doesn't consist of rendering 5000 components in 1 second. You should find a way to measure real use cases instead of synthetic raw speed which helps no one and propagates false assumption that one framework/library is "faster" because it rendered stuff 20ms faster

These "tests" are so skewed nowadays and dont tell you anything.

Collapse
 
mateiadrielrafael profile image
Matei Adriel

Did you use the new ivy renderer for the angular benchmark?

Collapse
 
juanjoseluisgarcia profile image
Juan Garcia

The ivy renderer is not production-ready. So I find fair not to include this time.

Collapse
 
mateiadrielrafael profile image
Matei Adriel

Fair enaough, but a little noteor something wouldve been nice

Collapse
 
devpato profile image
Pato

Angular 9 is the game changer when it comes to bundle size and so many improvements. Enterprise companies are moving to Angular and are already using it. When it comes to working with big teams and big projects, Angular is the way to go. A lot of the data shown here doesn't show the private usage of the Enterprise sector since the majority of them has it as private, which means the number for Angular usage shown here is smaller. Also a lot of the people using racr add some much shit to it that it almost becomes a framework

Collapse
 
jpkeisala profile image
Jukka-Pekka Keisala

From my personal preference Angular is great for team work especially when you need to build something that has to last years. Being opinionated big library gives ease on maintaining especially for projects where team may change over the years. Perfect for enterprise scale projects.

Then on other spectrum there is Vue.js if you just need to get something done fast. It is really pleasure to work with.

Collapse
 
victorioberra profile image
Victorio Berra • Edited

Hopefully in 5-10 years when WebAssembly is truly mature we will be comparing frameworks in strongly typed languages like Blazor and C#.

Collapse
 
viplavzenesys profile image
Viplav Singh

Thank You for the wonderful post. I recently posted a blog on Blazor vs Angular vs Vue vs React - Which is the better SPA? Check out and I hope you like it. - zenesys.com/blog/blazor-vs-angular...

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt • Edited

My experience is Vue can be more JavaScripty, and React is more TypeScripty, although the official language for both is JavaScript -- A guide to using TypeScript in Vue, with maximal VSCode IntelliSense

Angular isn't so bad. I do get some inspiration from it. But it seems to be ageing and losing to competition from the same company (Google), AngularDart and Flutter for Web...

Collapse
 
mrdreix profile image
Vladimír Gál

I am going to try Svelte for one project and see how that will work out. I am super excited about it because Svelte looks pretty cool :) If anyone is interested I can write a post about it after the project will be partly finished and share my experience.

Collapse
 
larswww profile image
larswww

Great overview!

As a vue fanboy, I strongly disagree that they're all as easy to learn. I would argue vue is much, much easier than the others :)

React does kind of force you into a whole new way of thinking which does take time. And Angular is very opinionated.

Collapse
 
dealloc profile image
Wannes Gennar

I'm wondering how you ended up on 97kb, since the official documentation of Vue states that (gzipped, but still) it ends up around 30kb.

ref: vuejs.org/v2/guide/comparison.html...

Collapse
 
banksdada profile image
banks

React is way easier to learn!!