There are hardly any programmers who have not heard of React. This is a popular library, all of whose code is publicly available. A powerful developed community helps to cope with difficulties faster, especially when it comes to complex projects. Despite all the advantages, this tool has features, which in some cases can become disadvantages. To avoid this, you need to understand when you need React, where its use is appropriate, and where not. In this review article, we will examine what a reaction is and what it is used for.
MVC framework is a data sharing scheme of an application, which stands for Model-View-Controller. An example of such a construct might be Angular, but React is just “V”. He is responsible for displaying model data to the user and responds to its changes. Model and Controller, in this case, must be provided with other means. That is, the development of web applications cannot occur solely on the reaction.
Why do programmers like React so much?
We will compare two technologies from the three most popular – React and Angular (there is still Vue). Work with the first one is to describe what needs to be displayed on the page, and not to form instructions aimed at explaining to the browser how to do it. This feature provides more compact code and reduces the number of template parts needed to create a site.
When the programmer begins development, he does not need to use the template code generator, as happens in Angular – he starts writing code without unnecessary dances with a tambourine. React lacks component template code generators due to their uselessness – they can be described as pure functions.
Applying JSX syntax that reproduces as native and familiar HTML. This lowers the threshold of entry, since React does not require the developer to learn fundamentally new things.
If you look at the learning curve, it is noticeable that the study of the reaction at the initial stage is easier than Angular. It’s real quick to start due to fewer abstractions. If a programmer knows JS, he can literally in a day figure out how to write his first application in React JS. But this does not mean that the tasks will be completed without errors. At the stage of improving skills, the angular is easier. Nevertheless, those who choose the reaction may postpone the study of TypeScript for the future, the development of the command line and directive skills – this is necessary to use the angular even at the initial level.
One-way data binding allows you to determine the causes of changes / errors at a glance, which greatly speeds up debugging.
There is no binding to classes, which makes the code easier. Interface components can be expressed as sets of pure functions.
If you are interested in comparing with the third popular technology, you can read our other material – What is better than React or Vue.
What is React used for?
There is a lot that can be done on React js – both large projects with a complex structure, and something modest. Often startup projects are written on it, since with this tool it is easier to get paid back than with Angular.
Famous React projects:
Facebook It uses React partially, but also in the PC version, and in the mobile application.
Instagram In such a popular application, the reaction plays a huge role. Starting with the ability to determine the geolocation and ending with the accuracy of the search functionality, such things are often done on React.
Netflix Most actively involved on the Gibbon platform. The main function is the ability to adjust settings for TVs with low performance. The library helps speed up loading and increase productivity – this is where programmers knew exactly what React js was for.
Yahoo! Mail Thanks to Facebook, these services have become streamlined in terms of architecture. It took a lot of updates to achieve the desired result: easy debugging, low level of occurrence, independently deployable components. React came up to them because of a number of its properties: one-way data flow, the ability to use a virtual DOM, an active community.
WhatsApp – the specialists of this service decided to use React to create user interfaces.
Dropbox In the wake of the popularity of the library, it began to be used for this site.
There is also a React Native. By the name it may seem that this is the same tool, but it is not. Why React Native is needed – to create mobile applications created for both popular platforms (iOS and Android) at the same time. Both versions of the application will comply with the recommendations of Apple and Google, while the development is faster and involves the same development team. Therefore, developing applications on React Native allows you to achieve maximum results in the shortest possible time.
In conclusion, recall that any tool is good for certain purposes. So is the reaction – it has a number of advantages, but also its drawbacks. Nevertheless, if the specialist knows the features and applies the tool appropriately, the disadvantages can be easily circumvented. The main thing for the developer is not to fall into fanaticism – in the choice of technology to start from the situation, tasks and needs of the client, and not from personal preferences.