Relatively recently, react became in the center of attention of the developers. Perhaps connoisseurs of angular 1/2 can object to this, with as an argument something in the format “TypeScript is pure code” or “angular is a library and not a framework”, or “angular is a production solution”. There is some truth in all this, but more laziness, because no one wants to rewrite an already created set of models / components / templates or study a new approach by everywhere introducing it into the project.
The ecosystem of ready-made solutions in reactjs development company is high. Also in favor of angular is the ease of maintenance and start-up. But still, let’s take a look at what react can do and what angular or other frameworks do not have.
Obviously, this indicator cannot be decisive. But still, we must admit the fact that the react + flux core is 3 times less than angular2 or slightly less than angular1. Of course there is a set of functionality that is not in the react core, but what if you don’t need it? Why, instead of loading the necessary functionality with the help of modules, create a monster assembly.
Unidirectional data flow
Anyone who created a full-fledged large (not hello world) application in angular / ember in one way or another faced the problem of data flow and storage-model-view relationships (as well as their combination). Facebook engineers faced a similar problem, the result of their work was flux. It should be given its due – the solution copes with its task. More details can be found in the recording of the presentation:
Compiling to html on the server
Even if we omit the very fact that this is a more thoughtful and, accordingly, faster solution (in terms of speed of work) solution, the very essence of jsx gives another advantage in error handling. For example, let’s say during development or merging branches, there was an error in the model view template. What happens in this case? Actually, nothing – the application will successfully crash on the client side without displaying anything (that’s how lucky). Of course, if your application is covered completely and unconditionally with tests and not only unit tests, then the tests may reveal the problem. Or maybe not, it all depends on the coverage input and the number of tests / code and possibly other factors. What happens if you make a mistake in JSX – the application will not be built (not compiled), while displaying the line number where the error was made, as well as a list of warnings where the problem could potentially arise.
React js, unlike ember / angular, gives the impression of a program that does one thing, but does it well. In react, you will not find a “default router” or other pre-imposed DI dependencies.
There are a number of other advantages of react (for example, hot-reloading), but even without them, there are enough reasons to at least learn this framework. Perhaps later you will be surprised and ask yourself “how did I work without this before?”
Passionate Writer, Blogger and Amazon Affiliate Expert since 2014.