The full version of this article can now be found here!
Wait, didn’t I already write about this? Well…yes, but too many of you complained about not giving you an actual answer. So here is something for those that love concrete numbers and statistics.
We are going to look at job postings, developer statistics, download numbers, and other factors, to actually burst through the fuzzy cloud that is React, Angular and Vue, and decide what you should learn in 2019 for your career.
The goal is to conduct an unbiased search based on the criteria:
Job Demand — what is the actual job demand and available jobs with each of the the 3 libraries and frameworks.
Developer Usage — which of the 3 are developers and programmers using?
Developer Opinion — you want to enjoy the tool you are using. How do developers feel about each of these 3?
In this article you will find sections on the above topics. Ideally, we want to pick the tool that is the most in demand, which will allow us to have a higher chance of employability, while also keeping in mind that we want to enjoy working with the library. Finally, we want to pick the one that is not in a decline, but instead, has a bright future and is growing in the developer community. Let’s get started!
Important: Every once in a while, I will throw my 2 cents on the topic, but as with everything, you should do your own research and decide for yourself what to learn and master. I’ve written about this before. I provide for you some numbers that you can use and expand on them as you want, to decide for yourself. If I missed something, or you want to add something, let me know in the comments.
All data and numbers found below are current as of writing (December 10th, 2018). This article will be updated every few months to keep track of trends.
I would venture a guess that this is one of the most, if not the most important factor for you in deciding what to learn in your career. After all, time is a valuable resource when there are so many things to learn, so you want to make sure you pick the one that makes you money. Let’s have a look at the numbers:
What are the number of job postings for React, Angular and Vue developers?
Same data above, visualized a different way:
And the actual numbers:
My criteria for selecting the data was the following:
LinkedIn is the biggest job board right now for tech, so this is a worldwide developer job postings search for each library.
Indeed, SimplyHired and Dice are 3 big tech job boards in the USA so the search is geographically targeted there. You may not live in the US, but it’s good to see what is happening in a very important location for tech.
AngelList is probably the best job board for startups. We get to see what startups, and the newer more modern companies are using in tech.
Hired is a hiring platform that helps companies look for engineering talent. It’s interesting to see their perspective on what companies are looking for as they tend to only post work from the large tech companies.
What we see in the data:
React and Angular are the top dogs. This is not surprising for React since for the past few years, it has been the most trending front end library (more on this later), but it’s surprising to see Angular, despite places like stateofJS calling it “dead” for 2019. Another surprising thing is how low Vue.js demand is despite all of the love it got recently in the stateofJS survey by developers.
My 2 cents:
Learn React or Angular if you are looking to have the most options for employment.
Let’s have a look at what developer usage looks like across React, Angular and Vue.
Here are the total number of downloads by developers from NPM:
And the Github statistics:
Github stars visualized compared to each other:
But if we look at top open source projects we see Angular and React in there (kind of) but no Vue:
And here are the google trends based on search terms (this could technically be related to job demand as well):
And another google trend with slightly different terms:
And adding “Angular” as a term since AngularJS is the older version of Angular (but keep in mind this includes all terms related to Angular outside of tech):
What we see in the data:
Overall, we see positive growth in all of these libraries when it comes to downloads and Github activity. Developers are using these libraries, that is not the question, but we definitely see a disproportionate split between Github stars and actual usage of Vue.js. Overall, Vue.js once again does not compete yet with Angular and React. It looks like the growth for Angular and React are starting to slow down a bit though.
My 2 cents:
React seems to have good developer activity in relation to the actual usage by developers. Angular seems to come in second, and Vue once again does not seem to get used as much as people may think (although there seems to be a higher usage trend in China). Although the slowdown in React and Angular usage may mean it’s due to some users going over to Vue. If you are a developer there are probably going to be more documentation, blog posts, and activity around the eco system for React than for Angular or Vue. Stick to React if that is important to you.
Quick note: Vue has an interesting trend going into next year: Vue is often used by Chinese giants such as Alibaba, Baidu, Tencent, even Xiaomi and DJI instead of React or Angular which were created by Facebook and Google. I expect the Chinese market to keep growing especially fast because Vue is an open source independent library without any attachment to a western big tech giant (no data to back up this point).
You must love the tools that you are working with. Although money is important, it is not everything. Ideally you want to be working with something you enjoy. Let’s have a look at the numbers here.
From StackOverflow survey (probably the best survey there is for developer trends) Wanted, Loved, and Dreaded by Developers:
From stateofJS survey, which unfortunately is geared more towards early adopters and React and Vue communities so the data is a little bit biased:
What we see in the data:
Nothing new that we haven’t seen before. React seems to be loved by its developers and people seem overall happy with this library. React seems to beat out Angular in every data point above, but not by a big margin. Although the state of JS survey shows a lot of people dissatisfied with Angular and StackOverflow mentioning people don’t like it as much as React, as we saw in previous part, the job demand is still there for it. Vue once again is a small part in this, and although we see that the Vue community is very passionate about Vue, it’s still a small player…but good to keep an eye on.
My 2 cents:
If you want to be happy when you are developing, React or Vue is your best choice.
But this is the most important part
The above graphs all show a snapshot in time at the writing of this article. Ideally, we want to have a trend of the numbers (especially job postings) to make sure we aren’t riding a dying wave, or a hype-only wave. For this reason, I intend on updating this article every few months with more graphs so we have historic data to notice and future trends. If you want stay updated, follow me on Twitter and subscribe to my blog.
It’s important to draw your own conclusion here… ok, but just because you asked nicely, my opinion is that React is the way to go in 2019 based on the information above. You want to pick something that people are using at companies, but also something that is growing and not diminishing as a trend. You want to have a strong community with good documentation and resources, and you want to use a tool that you will enjoy working with. React hits all of those points. This doesn’t mean you should forget about Angular or Vue. They are all great libraries and frameworks and nothing lasts forever. My only suggestion is that if you have limited time and you shouted “TELL ME! JUST TELL ME ONE TO STUDY AND LEARN” and you yell really loud, I will have to say React.
What do you want to see next?
I’m thinking of doing this type of tech trends analysis on other topics around programming and releasing them every once in a while.
GraphQL vs REST?
PHP vs Node.js? (Actually wrote about this here)
Let me know in the comments if you want to see more.
Remember, everybody has their own opinion and each tool exists to solve a problem. There is no winner take all in the tech space (at least not until AI bots by BostonDynamics take over our world), so be smart and just use the data from here and your own, to make an informed decision based on your needs.
By the way, all the courses I teach for programmers keeps this methodology in mind to teach you the most modern and important skills in the industry to make you valuable to employers. They’re pretty good courses (if I say so myself) so if you’re interested in leveling up your skills, do check them all out here. If you enjoyed this article, I write about programming and software often on my blog.