If you would rather watch a video to learn about this, checkout this video by Mosh, comparing React, Angular and Vue. It will help you decide which framework to choose to land a job in 2019.
And the Winner is..
React is the most loved and most wanted web framework by developers in 2019.
React tops the list and has been voted as the most “wanted “and most “loved” web framework. It is closely followed by Vue this year. Angular seems to be losing its popularity compared to the previous years.
React is at the top with 21.5%, followed by Vue at 16.1%, and Angular at 12.2%.
Three Most Popular Web Frameworks Today
Vue is the new kid on the block. Unlike React and Angular, Vue is not backed by any corporation like Facebook or Google. Vue was developed by a group of passionate developers. It has elements of both React and Angular, and in my opinion contains the best of both worlds.
Why is React the most popular?
I did a quick search on Google trends to compare the search terms “React”, “Angular” and “Vue”. And it has the same results as the StackOverflow survey.
So why does everyone like React so much? Let’s study some differences and commonalities between the three most wanted web frameworks/libraries and see why React is everyone’s favorite.
Angular is developed and maintained by Google. Google uses Angular in several internal products as well as the Google Adwords application. This is one of the reasons, why Angular is trusted in the developer community.
React is backed by Facebook and was open sourced by Facebook in 2013. Facebook has a dedicated team of engineers who are working on React and making React better everyday. Since Facebook is heavily invested in React, many internal Facebook products are coded in React. With Facebook’s heavy involvement in React, the library has gained a lot of trust over the years.
Vue is not backed by any big corporation like React. Although Vue is not backed by big names, it has gained a huge name in the open source community. It is fairly new compared to React and is backed by a group of open source contributors.
Both Angular and React are backed by tech giants, which builds trust in the developer community.
Alright, let’s talk about Jobs. Ultimately, you want to invest time and learn something that gets you a job in the market.
We know Vue is the most recent addition to the family of web frameworks and it seems to be liked by many. But as of today, there are tons of React and Angular jobs when compared to Vue jobs in the market. This is also because, both Angular and React have been around longer. Lots of companies have adopted these technologies, hence creating many jobs in the market. But I am sure if you give Vue a few more years, it will start to catch up.
There are plenty of React and Angular jobs when compared to Vue jobs in the market
I did a quick search on LinkedIn to compare job postings within the United States on React, Angular and Vue. This is what I found, React topped the list with about 59000 postings, followed by Angular with 33103 postings. Vue had the least among the three with only 6442 postings, indicating that it is yet to be adopted by companies in a large scale.
Let’s take a look at a similar search on Indeed.com for job postings within the U.S. Based on the numbers here, there is a huge demand for React developers, with 13000 job postings, closely followed by Angular.
Based on Job Prospects in 2019, React is the clear winner.
Angular has many topics to learn, starting from basic ones such as directives, modules, decorators, components, services, dependency injection, pipes, and templates. After that, there are more advanced topics such as change detection, zones, AoT compilation, and Rx.js.
The entry barrier for Angular is clearly higher than for React. The sheer number of new concepts is confusing to newcomers. And even after you’ve started, the experience might be a bit rough since you need to keep in mind things like Rx.js subscription management and change detection performance.
For a typical web developer, initially JSX could be bit of a learning curve. Although, JSX is a different approach, it is very similar to HTML and a developer should be able to grasp it with some practice.
It does allow JSX, if that is your preferred code style. Vue also has component lifecycle, but they are simple and much more intuitive than React. Vue also is a younger framework, so it made sure it took the best of React and addressed some of the problems with React.
For a new developer, both React and Vue have the least learning curve.
Ionic is a framework for developing hybrid mobile applications. It uses a Cordova container that is incorporated with Angular. Ionic provides a robust UI component library that is easy to set up and develop hybrid mobile applications with. However, the resulting app on a device is simply a web app inside of a native webview container. Because of this, the apps can be slow and laggy. Recently, Ionic has announced compatibility with React giving Ionic developers the freedom to choose between Angular and React.
NativeScript + Angular
NativeScript lets you build native mobile apps on both iOS and Android. It can be used with a variety of frameworks. If you know Angular, then you can use NativeScript with Angular to build native mobile apps.
The NativeScript core team works with the Angular team at Google to ensure NativeScript and Angular are integrated. With this you can create native mobile apps with good performance. The only drawback here is that NativeScript has to constantly be in sync with the latest developments in the Angular world. Since NativeScript and Angular are two different solutions coming from two different companies, we never know when NativeScript may stop support for building apps with Angular.
React Native is by far the most used and popular cross-platform mobile framework. Learning this will give you plenty of job opportunities.
Vue has Vue-Native. The interesting thing about it is that, it is essentially a wrapper around React Native. Under the hoods, you need to setup React Native. This is not a stand-alone solution and cannot be used without React Native.
NativeScript + Vue
Just like NativeScript can be used with Angular, it can also be used with Vue. It enables you to build native mobile apps using NativeScript and Vue. Again, the drawback here is that NativeScript needs to constantly be updated to the latest development in Vue. And since they are coming from different teams and companies, we never know how long this support may last.
Today, React is the best choice, if you want to build mobile apps. React Native is ahead of the other options that are available to us from Angular and Vue.
Community and Developer Involvement
Let’s take a look at the open source community involvement in all the three frameworks to get a better idea on popularity, frequency of releases, etc. Take a look at this table below that compares them based on GitHub stats.
Something interesting to note here is that Vue, has the most number of stars among the three on GitHub. But it also has the least number of contributors. This means, people are interested in Vue, but it has still not gained the momentum that React and Angular has gained in the Open source community. React has around 126k stars, which is a lot for an open source library. This shows people like React as well. In comparison to that, Angular has only about 40k stars.
React also has a significant number of contributors. There are over 1290 contributors who are contributing to React, which is much more than Vue and Angular.
The final statistic on weekly downloads is quite intriguing. React has the most number of weekly downloads with a whopping number of 5,211,991. What is interesting is, Vue which is although new, comes second with 986,335 weekly downloads. You can notice here that Angular downloads are far less in comparison.
Based on the community and growth of frameworks, React is at the very top. Vue is liked by the community and upcoming. Angular on the other hand seems to be losing its spark and slowing down.
If you enjoyed this post, please share it. And check back this space for more.