📜 ⬆️ ⬇️

Does React have a bad effect on Angular?

The author of the material, the translation of which we are publishing today, offers to reflect on the future of web development. As the popularity trends of technologies begin to shift towards the React library, it is easy to feel the importance of the question of how relevant, over time, the Angular framework will be. It is clear that in the end, only one technology will take the first place, and this makes web developers, especially those who are just starting their way, to wonder what to choose.



Since Facebook changed its React license from BSD to MIT, this library seems to have flourished at every corner of the global web development market. However, businessmen and startups are usually far from being understood at once, React is not a comprehensive system for front-end development. This is just a library, one of many building blocks, among many that can quickly turn a small application into a larger project into a system based on components isolated from each other.

Confrontation React and Angular


Facebook is often used as the primary example of successful use of React. But this library is just a drop in the ocean of a huge number of technologies used by this technical giant. This is, after all, just a JavaScript library designed for developing interfaces.
')
Angular, on the other hand, is a collection of libraries that, working together, form a coherent whole.

There are some tasks that are qualitatively solved by means of Angular, which are completely neglected in React, while something else in React is more efficient. Developers will always be inclined to what they know well, and, as a result, they will not even try to look at other paradigms that can better suit their situation. Or, perhaps, this type of thinking is often characteristic of beginning developers and mid-level developers.

Despite the growing popularity of React, we must not forget that Angular enjoys strong support from a company that is not inferior in size to Facebook, or even surpasses it. It's about google. At the same time, around the methodologies of front-end development, promoted by Angular and React, have developed equally powerful ecosystems, in which there are both serious events and major specialists advocating this or that technology. True, there is another technology that is growing in terms of popularity, which, judging from what it offers to the developer, is between Angular and React. This is the Vue framework.

Vue



Data from Google Trends. Red line - Angular, blue - React, yellow - Vue

The Vue framework is a newcomer to the "class" of front-end development tools, its popularity is gradually increasing, therefore, speaking of React and Angular, we must not forget about it. Although the community around Vue is much smaller than the Angular and React communities, the rise in Vue’s popularity can be explained by the fact that it is a lightweight tool, not as complex as Angular, but offering the programmer more options than provided for in the basic React functionality.

The creator of Vue is familiar with the AngularJS framework. The principles on which it is based are much stronger than in the case of the modern Angular, reminiscent of the principles underlying React.

On the difficulties of introducing technology and habits of programmers


With React, of course, just figure it out, just create a full-featured application based on this library, which, without any problems, can be converted into a native mobile application. This library is popular among novice developers.

It is more difficult to master Angular, before you can create something on the basis of this framework, you will have to deal with some additional things. This framework borrows concepts and ideologies from Java, a technology that is primarily used to develop backends and plays a crucial role in the infrastructure of Google’s software systems. On Facebook, on the other hand, PHP is widely used, which, as a result, has led to a strong influence on the principles of React adopted in this language.

You can easily spend the whole day comparing React and Angular, but the most important thing that can be learned from this comparison is that both of these systems have powerful communities and are able to attract programmers who have experience with certain technologies. It should be noted that startups are more inclined towards React, as they strive to ensure that the tools they use provide for as little as possible additional load on developers. Their survival depends on how quickly they are able to enter the market, how well they are able to meet demand and how accurately they can fit into trends.

But many startups miss one important thing: the lower the entry barriers, the lower the quality can be. As more and more self-taught programmers appear, relying on the resources of the communities around React, certain things, such as programming paradigms and cleanliness of the code, fade into the background. This is not to say that everything is much better in the Angular environment, but in the case of Angular, the programmer has to work within the rather rigid frameworks prescribed by this framework. In React, there is no such framework.

Vue has its own small living space, this framework is designed to be the answer to the question of what is better, Angular or React, for those who do not want, starting the path of a web developer, to stand on the barricades of one of the opposing sides.

What does Netflix use?


It turns out that Netflix, among many other technologies and infrastructure tools, uses React. If you imagine the device application, so to speak, from a bird's eye view, it turns out that the frontend technology makes up only a small part of what is used in the project.

PayPal, on the other hand, uses Angular, which is issued by sequences of characters ng , here and there found in the HTML code generated by the company's resources.


HTML code PayPal

Netflix and PayPal are huge companies occupying certain market niches. Both are completely unrelated to Angular or React, in the sense that Google and Facebook are associated with them. But each of these companies, choosing, respectively, React or Angular, solves with the help of this or that technology the problem of developing the interfaces of their applications.

Here we can say that the choice of technology by these companies was influenced by the inherited code, or anything else. But both companies have enough resources to hire as many programmers as they need to work on their code using selected technologies.

By the way, it is interesting to note that GitLab, since 2016, has been using Vue .

The tool is not the main thing. The main thing is problem solving


There is a feeling that in heated debates about which technology is better than another, they forget about a very important issue, which is that it is able to solve a certain task in the best way, to help in achieving a certain goal.

If the goal is development speed with a small budget, then it is probably best to look towards React. If you need something more ambitious, holistic and well-suited to sharing a set of tools, allowing, because of the need for a fairly serious study of this set of tools by developers, to create more reliable solutions, then you should choose Angular. And what if you need to take all the best from the worlds of React and Angular? Adherents of Vue will definitely see in this situation a good example of using their favorite framework.

Angular popularity does not fall over time. Rather, we can talk about the shift in focus of attention. While React “eats away” a larger, than Angular, “piece of cake” of the development ecosystem, Angular, despite the growth of React, still does not think to give up.


Search results information from Google Trends over 5 years. Red line - Angular, blue - React

In addition, it is worth noting that Angular, one can say, almost built its community anew after this framework has evolved from AngularJS into what exists today. Although this framework had a mass of adherents, all of them, after the release of Angular 2, had to be retrained.

If we analyze the situation with this in mind, then it turns out that Angular, in the form in which it is known today, is three years younger than React. The original version of Angular, because of its differences from Angular 2+, can, in fact, not be taken into account.

Results


If you are a novice developer who is trying to find an answer to the question of what he needs to learn, it is recommended not to think about it too much. Everything after all, as a result, comes down to the usual JavaScript, therefore, perhaps, it is better to first study the basic technologies, and then deal with all sorts of “interesting things”.

Whatever technology you choose, you will be dealing with ideas that apply to other technologies that make it easier to understand. The most important thing is to really study your first framework well and learn how to do something with its use that goes beyond the notorious ToDo application.

Strive to become a developer who is well versed in programming paradigms, do not try to get too attached to one thing. Among other things, study the architecture of applications, the design and development of components, understand the behavior of data streams in applications, master the technologies of managing the state of applications.

The ability to freely, regardless of a specific platform, use knowledge and skills of this kind is what distinguishes beginning programmers and mid-level programmers from high-class specialists.

Dear readers! What considerations do you follow when choosing front-end development tools for your projects?

Source: https://habr.com/ru/post/450666/


All Articles