ReactJS vs angularJS is one of the hottest topics of debate among the Java Script community. AngularJs has been around since 2009 and is among the most popular Web development framework for a few years now. However, ReactJS has threatened angular’s numero uno position since its launch in 2013. ReactJS, developed and supported by Facebook, has emerged as the most popular JS technology in 2015. However, in 2016 Google has released a completely re-written angularJS 2.0 which many experts feel may tilt the balance back in favour of angularJS.
Most experts say that angular vs React is not an apple to apple comparison as the ReactJS is just a library while Angular is a comprehensive framework! Instead a better comparison is between angular and React+ Flux (Reflux/Redux etc. compares to what Angular is, as a framework). For Java Script practitioners, however, it has become a question as to which of the two they should learn? This article tries to find an answer purely from the perspective on someone who knows either of the two frameworks and is contemplating which one to learn. Therefore the focus of the article is on metric like popularity, ease of Learning, Documentation and support, Job prospects and transferability of skills.
Clearly ReactJS is on ascendency. Talking of Github stars, React clocks in at 43859 whereas Angular currently has 8,388. Github Stars shows the number of people following a repository even if they are not associated with the project. Another good indicator of popularity is number of npmjs downloads which for ReactJS stood at 1,710,454 downloads in the last month while the number for angular was 484371.
The Google Trend comparison also shows the popularity graph of React going up vis-à-vis angular.
An analysis of the Reddit stats also throw similar trend
REDDIT STATS OF: /r/reactjs/about/traffic:
REDDIT STATS OF: /r/angularjs/about/traffic:
Both graphs show clearly that AngularJS has stagnated and the positive trend for ReactJS isn’t slowing down. If you will check the Angular2 sub-reddit stats then you will see it’s not popular at all:
Ease of Learning
The angular framework mandates use of its coding style , the angular way. React, on the other hand, is quite easy to learn due to its size and simplicity, although it might be confusing at first. Further, Angular1/Angular2 has much larger API to learn than ReactJS + Flux combined. While one can get comfortable with ReactJS in 1-2 weeks, in Angular, the learning curve is much steeper so that means that being efficient in that area of expertise are much harder than in ReactJS.
Ease of Use
Transferability of learned skills
AngularJS forces one to the angular way of writing apps. In Angular, you have to learn more custom abstractions that are specific to this certain framework itself. Things you will learn with angular aren’t transferable to other frameworks. In other words, the experience gained in AngularJS is not hugely transferable. Also you shall learn TypeScript (Angular2), which may be not too popular in the long term in comparison to ES6 & ES7.
Indeed Job Trends show that demand for AngularJS shown upward trend unabated. In 2015 it suffered a setback with ReactJS marching ahead but has rebounded since then with the launch of Angular 2. Experts predict that the upsurge is only going to continue in the months to follow.
Relative growth of job listings:
Demand for angular JS is particularly strong in India across all major cities.
At this point of time, angular leads the number of new job postings. However, going forward, as the trend suggests, ReactJS will throw up lot more opportunities.
PS: The article originally appeared on learnunbound.com