While the React’s brothers (Angular, Ember, Backbone) are dubbed as client-side MVC frameworks, this guy is different. His creators call him the ‘V’ of MVC. In other words. he entirely focuses on ‘View’ which describes the User Interaction part.
React is the fastest of the bunch. He carefully notes down the differences in his in-memory cache and use these differences to update the DOM in browser, which is what gives him the boost. This is the Virtual DOM feature.
Other notable features include One way dataflow and JSX (the react components are basically JSX).
Firstly he is really fast. Another thing is that he is really understandable. Anyone with a basic previous knowledge in programming can easily understand React while Angular and Ember are referred to as ‘Domain specific Language’, implying that it is difficult to learn them. Another cool feature of React is that he can be used to create mobile applications (React Native). And React is a die hard fan of reusability, meaning extensive code reusability is supported (using components ). Another main feature is that he supports server-side rendering, which helps in solving performance and SEO problems.
React alone is not comparable to Angular. Angular is an entire framework while React is just a library. But with React Router (for routing), Relay, GraphQL (for declaring dependencies) and React Native, it clearly outweighs Angular.
With React we attain the freedom to choose, which is lacking in Angular. This freedom of choice is a great deal since developers can make decisions on how and what to use with React. But Angular does not provide this freedom. We are bound to follow some rules and hence developers are limited to choices.
With the release of Angular 2.0, and the news that it is not backward compatible, React swooped in and stole the hearts and minds of legions of developers with a ‘simple view library’. React has moved on from a simple view ‘library’ to an ‘ecosystem’ and more and more developers are flowing in.
React js Reddit popularity stats show that it is growing at an amazing rate of 40% every month, which is impressive.
The future is ‘Web-Componentization’. React supports it and so we will have cleaner code and better modularization. This will save a lot of time and money for web-based companies, especially in huge projects which are required to be maintained for years.
React is still in its youth, and so has the chance to grow, while Angular’s growth rate is immobile. We will have to wait to see what the future holds...