Angular vs React vs Vue : Which one is the best choice for 2021?
May 04, 2021
It is impractical to imagine web development without Javascript. Javascript is the keystone of front-end development of web apps. Frontend development has been growing rapidly. Therefore, a lot of tools, libraries and frameworks that greatly facilitate the work and help to create the best project have been created. But what to choose from the whole set?
Some of the most common queries:
- What are top javascript frameworks and libraries for 2021?
- Which javascript framework offers the best performance?
- Which javascript framework should I use?
- Which of the three Javascript frameworks/libraries is the most reliable one?
- Angular vs React vs Vue: Which one will be popular in 2021?
- Which framework is suitable for small size or large size applications?
- Which javascript framework is easier to learn?
- Angular vs React vs Vue: Which is the best choice for 2021?
In this blog we will discuss the frameworks in many areas such as history, popularity, performance etc. We will find answers to the questions raised above. At the end of the blog, you will be able to decide which among Angular vs React vs Vue is suitable you.
Angular vs React vs Vue: Summary
AngularReactVueInitial release201020132014Official siteangular.io (http://angular.io/)reactjs.org (http://reactjs.org/)vuejs.org (http://vuejs.org/)Approximate size500 KB100 KB80 KBCurrent version716.6.32.17Github stars55.8k141k155kWritten inTypescriptJavascriptJavascriptModalBased on MVCBased on Virtual DOMBased on Virtual DOMUsed by Google, Wix, AutodeskFacebook, Netflix, DropboxXiaomi, Alibaba, Gitlab
Angular vs React vs Vue: Popularity
Stackoverflow
Stack Overflow is the largest, most trusted online community for developers. we can also obtain objective results by looking at the stack overflow statistics.
In the graph above, we can analyze the percentages of stack overflow questions of each year. The reason for Angular’s breakthrough is the improvements introduced in Angular 2 after 2016. React is used and liked by a lot of software developers, so the number of users are constantly increasing. Vue is loved just as much as React by software developers and the learning process is easier than others. In the following stack overflow survey, we can see clearer results on this.
NPM
Below is a graphical representation of the npm trends (https://www.npmtrends.com/react-vs-vue-vs-@angular/core) for the downloads and stars of Angular vs React vs Vue. It clearly shows React on top, followed by Angular and then Vue. But when we look at the stars, the lowest goes to Angular and highest to Vue, followed by React. In addition, the most used framework is React on Github.
Google Trends
Have a look at the graph below, Vue.js is way behind angular and react. React is the most popular in searches. In my opinion, the reason of Angular’s search result, it was released before other frameworks like React, Vue and lot of projects are dependent on that.
Indeed
Indeed is a worldwide employment-related search engine for job listings launched. There are no data about which framework is used more, but we can analyze vacant positions on Indeed.com and get interesting results:
2019/12/12:
Paris, France
- Angular: 785 jobs https://www.indeed.fr/Paris-Emplois-angular-javascript (https://www.indeed.fr/Paris-Emplois-angular-javascript)
- React: 759 jobs https://www.indeed.fr/Paris-Emplois-react-javascript (https://www.indeed.fr/Paris-Emplois-react-javascript)
- Vue: 336 jobs https://www.indeed.fr/Paris-Emplois-vue-javascript (https://www.indeed.fr/Paris-Emplois-vue-javascript)
London, UK
- Angular: 832 jobs https://www.indeed.co.uk/Angular-javascript-jobs-in-London (https://www.indeed.co.uk/Angular-javascript-jobs-in-London)
- React: 1,643 jobs https://www.indeed.co.uk/React-javascript-jobs-in-London (https://www.indeed.co.uk/React-javascript-jobs-in-London)
- Vue: 286 jobs https://www.indeed.co.uk/Vue-javascript-jobs-in-London (https://www.indeed.co.uk/Vue-javascript-jobs-in-London)
Berlin, Germany
- Angular: 356 jobs https://de.indeed.com/angular-javascript-Jobs-in-Berlin (https://de.indeed.com/angular-javascript-Jobs-in-Berlin)
- React: 634 jobs https://de.indeed.com/react-javascript-Jobs-in-Berlin (https://de.indeed.com/react-javascript-Jobs-in-Berlin)
- Vue: 212 jobs https://de.indeed.com/vue-javascript-Jobs-in-Berlin (https://de.indeed.com/vue-javascript-Jobs-in-Berlin)
Mumbai, India
- Angular: 530 jobs https://www.indeed.co.in/angular-javascript-jobs-in-Mumbai,-Maharashtra (https://www.indeed.co.in/angular-javascript-jobs-in-Mumbai,-Maharashtra)
- React: 300 jobs https://www.indeed.co.in/react-javascript-jobs-in-Mumbai,-Maharashtra (https://www.indeed.co.in/react-javascript-jobs-in-Mumbai,-Maharashtra)
- Vue: 50 jobs https://www.indeed.co.in/vue-javascript-jobs-in-Mumbai,-Maharashtra (https://www.indeed.co.in/vue-javascript-jobs-in-Mumbai,-Maharashtra)
2018/12/16:
Paris, France
- Angular: 764 jobs https://www.indeed.fr/emplois?q=angular+javascript&l=Paris (https://www.indeed.fr/emplois?q=angular+javascript&l=Paris)
- React: 567 jobs https://www.indeed.fr/emplois?q=react+javascript&l=Paris (https://www.indeed.fr/emplois?q=react+javascript&l=Paris)
- Vue: 269 jobs https://www.indeed.fr/emplois?q=vue+javascript&l=Paris (https://www.indeed.fr/emplois?q=vue+javascript&l=Paris)
London, UK
- Angular: 1,207 jobs https://www.indeed.co.uk/jobs?q=Angular+javascript&l=London (https://www.indeed.co.uk/jobs?q=Angular+javascript&l=London)
- React: 1,695 jobs https://www.indeed.co.uk/jobs?q=React+javascript&l=London (https://www.indeed.co.uk/jobs?q=React+javascript&l=London)
- Vue: 291 jobs https://www.indeed.co.uk/jobs?q=Vue+javascript&l=London (https://www.indeed.co.uk/jobs?q=Vue+javascript&l=London)
Berlin, Germany
- Angular: 382 jobs https://de.indeed.com/Jobs?q=angular+javascript&l=Berlin (https://de.indeed.com/Jobs?q=angular+javascript&l=Berlin)
- React: 614 jobs https://de.indeed.com/Jobs?q=react+javascript&l=Berlin (https://de.indeed.com/Jobs?q=react+javascript&l=Berlin)
- Vue: 172 jobs https://de.indeed.com/Jobs?q=vue+javascript&l=Berlin (https://de.indeed.com/Jobs?q=vue+javascript&l=Berlin)
Mumbai, India
- Angular: 318 jobs https://www.indeed.co.in/jobs?q=angular+javascript&l=Mumbai%2C+Maharashtra (https://www.indeed.co.in/jobs?q=angular+javascript&l=Mumbai%2C+Maharashtra)
- React: 145 jobs https://www.indeed.co.in/jobs?q=react+javascript&l=Mumbai%2C+Maharashtra (https://www.indeed.co.in/jobs?q=react+javascript&l=Mumbai%2C+Maharashtra)
- Vue: 23 jobs https://www.indeed.co.in/jobs?q=vue+javascript&l=Mumbai%2C+Maharashtra (https://www.indeed.co.in/jobs?q=vue+javascript&l=Mumbai%2C+Maharashtra)
Angular vs React vs Vue: Performance
Angular vs React vs Vue: Pros and Cons
Angular
Pros
- Big community and code owned and maintained by Google.
- Typescript and intelisense.
- Existing community conventions. Defined implementation methodology.
- Is a MVC framework.
Cons
- Steep learning curve.
- Is verbose and complex.
- Requires learning Typescript and is more programmer-oriented.
React
Pros
- Biggest community and code owned and maintained by Facebook.
- Big ecosystem
- Flexibility
- Scalable
- Can be used for native and web apps
- Moderate learning curve
- Fast rendering with Virtual-DOM
Cons
- Requires to learn JSX and is more programmer-oriented.
- It’s kind of verbose.
Vue
Pros
- Simplicity of the syntax and short learning curve for newcomers
- Uncomplicated structure
- Flexibility. Can be setup easily with Typescript, JSX, …
- Fast rendering with Virtual-DOM
Angular vs React vs Vue: Conclusion
Based on what has been written above, we can say that React & Vue are the most liked and supported frameworks of 2021. However, each framework has advantages and disadvantages . There is no answer for which should be chosen. But if you have any questions in your mind, the following approach will simplify your decision making.
- If you love object-orientated-programming (OOP): Angular
- If you need guidance, structure and a helping hand: Angular
- If you are someone who like to play around lots and lots of libraries, tools or ecosystem: React
- If you love writing clean and easier code: Vue
- If you want to get started on your project as soon as possible: Vue
- If you are a lone developer without any team: Vue (or React)
- If you want to have better separations of concerns in your project: Vue
- If you like flexibility: React
- If you like choosing among dozens of packages: React
- If you love JS & the “everything-is-Javascript-approach”: React
- If you want the easiest learning curve: Vue
- If you want the most lightweight framework: Vue
- If you want separation of concerns in one file: Vue
- If you are working alone or have a small team: Vue (or React)
- If you want to build an app with react-native: React
- If you work with designers and need clean HTML files: Angular or Vue
- If you like Vue but are afraid of the limited ecosystem: React
References
https://insights.stackoverflow.com/trends?tags=reactjs%2Cvue.js%2Cangular%2Cangularjs (https://insights.stackoverflow.com/trends?tags=reactjs%2Cvue.js%2Cangular%2Cangularjs)
https://www.npmtrends.com/react-vs-vue-vs-@angular/core (https://www.npmtrends.com/react-vs-vue-vs-@angular/core)
https://trends.google.com/trends/explore?cat=733&date=today%205-y&q=React,Vue,Angular (https://trends.google.com/trends/explore?cat=733&date=today%205-y&q=React,Vue,Angular)