Frontend is a rapidly growing direction in the development. For it created a lot of tools, libraries and frameworks that greatly facilitate the work and help to create the best project. But what to choose from the whole set?
A year ago, the developers argued: what is better Angular or React? But in 2018 another “player” gained popularity - Vue. That’s why by 2020 you need to decide between these three frameworks. It complicates the choice.
Against this background, I would like to present the usage statistics of each product, the attitude of developers to it, as well as the main advantages and disadvantages. I can't give an exact answer to the question "what is better to choose?". My goal is to give maximum information, on the basis of which you can make your own choices.
Demand for experts
It is not likely that you want to study such products for the sake of interest. Most likely, you are planning to use future knowledge to work for some company. Therefore, you need to understand which experts are most in demand at different resources.
As you can see, experts with knowledge of Angular are the most in demand, although there are not less requests for React developers. Such indicators are not surprising, even considering the rumors that Angular is losing ground. Today, it just has good competition, compared with 2012-2014, when there was no React.
What about Vue, the figures are also quite logical. This framework has grown sharply only in 2018, but it is still a long way from the top of the rankings. Therefore, the demand for relevant developers is much less.
The speed of work is important for each developer. It is not about that delays can be annoying. For each project, there is a deadline. The priority is to finish the work earlier, to make edits if it is necessary.
As you can see, Angular is far superior to its competitors. In many ways, it is provided by the latest updates. Many developers claim that Angular v.2 + is a new chapter in the history of frameworks.
But more interesting is that the dark horse Vue bypassed React in figures. Accordingly, not for nothing this framework gained momentum in 2018 and took high ranking positions.
Frequency of downloads
Now let’s consider the frequency of usage and search for these frameworks. This directly shows their demand among users. Accordingly, it will be possible to draw preliminary conclusions about which product developers prefer the most.
As expected, React far surpasses Angular and Vue. It is worth noting that it is downloaded more and more, with the exception of a small leap at the beginning of 2019. Vue is also gaining momentum step by step, but Angular in actual fact doesn't move from the spot by the number of downloads.
Since Github is the largest platform for hosting IT projects, you cannot get past it when comparing the popularity of frameworks.
First of all, we see that Angular has almost three times less stars and repository copies, which shows its low popularity regarding two competitors. In this case, users have noted more problems or suggested improvements.
Two factors show that Angular is really rated much worse than in previous years. But the framework is improved. However, its figures strongly losing the ground in comparison with competitors.
In spite of it, Vue did not even hit in the list of the best open source frameworks for today. At the same time, React takes the second place, and Angular - the sixth, with a rather small gap. (All statistics as of March 8, 2019).
Google queries can’t be taken as the main indicator. Firstly, even frameworks are not always searched exclusively by web designers. Secondly, they are often searched for with a single-word query (for example, “React” instead of “React developer”), and two of the three names may make sense that is not related to IT.
And now the statistics with a modified search query:
Apparently, in the first case React takes the first place, Angular the second, and Vue, quite expectedly - the third. But when searching for only one word, the statistics change dramatically.
In general, the growth of each product is noticeable, if we talk about the number of downloads and activity on Github. Even with increased dissatisfaction, Angular is still holding its ground.
However, you can notice a disproportionate difference between the actual usage of Vue and the stars on Github. After all, in fact, this framework has not yet reached the level of Angular and React.
The January negative leap indicates that these two development environments still have problems and, probably, their growth slows down a bit. This is especially noticeable in the Chinese region, where many developers are rapidly switching to Vue. Therefore, it is possible that in 2020 the graphics will change dramatically.
Important point: Vue is already used by such economic giants as Alibaba, Xiaomi, Tencent and Baidu. All of them are representatives of the Chinese market, which is actively developing and almost crowding out the western one. Therefore, I assume, in 2020 Vue will not only raise its position, but also the demand for experts of this framework will be much higher.
The transition to the new version is always accompanied by new errors and bugs. So, for example, Instagram users in most cases complain about problems in the work of individual tools almost after each update. Dota 2 players have a whole series of jokes about the game bugs and the broken mechanics of the characters during the regular update.
But, as a rule, it doesn't apply to quality frameworks. React is used by companies like Twitter and Airbnb, Vue provides half of the Chinese giants. That’s why stability is very important for developers of each product. After all, they are focused on large companies and in case of an error there will be no time for jokes.
Angular makes large-scale updates but plans them on average 6 months. Moreover, the main API of the previous version becomes obsolete within 6 months after the update. Therefore, users have enough time to make all the necessary changes.
Facebook said that stability is of paramount importance for them. Therefore, in React, the transition to the new version is quite simple. Part of the upgrade is a script that helps the user move to the next version of the software.
As for Vue, 90% of the APIs of adjacent versions are almost identical. Therefore, there are almost no problems with updates. Moreover, in this framework, there is a tool that controls the state of applications after the transition to the new version.
IT developers’ opinion
In many ways, these results reflect previous graphs. Again, React has a great advantage, as more than half of the respondents answered they would use this product again. At the same time, only 23.9% of respondents wish to continue working with Angular, and 33.8% will no longer use it.
As for Vue, almost everyone who has already worked with the framework is not opposed to continue using it. And almost 50% are interested in exploring this development environment. Another confirmation that Angular has lost its ground in relation to the development of other products.
Work with frameworksIn this case, I didn't consider all the features of the products and paid attention only to the key ones, which the developer will mention primarily.
- Angular 500+ KB;
- React 100 KB;
- Vue 80 KB.
ComponentsComponents are integral ingredients of frameworks. As a rule, they receive input data and change the application behavior, based on them. Visually, it is manifested itself as a change in the user interface.
- components are separated (one part is responsible for the user interface, and the other one is responsible for the behavior);
- the same part of the code can be responsible for both the creation of the interface element and its behavior;
- the UI and behavior can also be combined, but it can be achieved without using additional scripts, which makes Vue more intuitive.
Time to study
- the Angular learning curve is quite steep, because for its development it is necessary to study related concepts like Typescript and MVC;
- React provides a brief guide that allows you to set up this product in an hour. However, it is not a complete set of solutions, because there is a necessity to use third-party libraries. Accordingly, the time depends on which additional features are selected;
- as already mentioned, Vue is intuitive, hence its development will be fast enough. However, when working with it, the lack of code is acceptable, therefore it requires constant debugging and additional testing.
In summary…Angular is a good choice for large corporations, as it has full set of tools and quality support. However, its learning curve is steep, so for beginners, this framework will be very difficult.
React is a rather “grown-up” product, which is currently the most popular and appreciated by developers. Flexibility and easy integration with other libraries are one of the key features of the product. At the moment, it’s the most versatile option among the three compared.
Vue exists for several years, but in fact it’s a newcomer to the market. Nevertheless, the majority of large Asian companies switched to its usage, that shows its quality. Especially well-suited for those who need fast growth. For example, a start-up with a young team should have paid attention to this particular development environment.
To date, the top lines are confidently occupied by React. There is a great demand for developers in this environment, so it makes sense to study it. However, for the overall development, Vue is worth considering. This newcomer may soon climb to the top due to its simplicity and ease of usage.