The initial open-sourced release of React was in 2013, which makes it a mature technology, currently in use by giants such as Netflix, Imgur, Walmart, and others. React has been in constant development since its very beginning, with React Native, having been open-sourced in early 2015, and the latest improvement, React Fiber having been announced in April 2017.
As you can see, React is both stable and time-proven, while also cutting-edge with constant improvements. It has been the main competitor of Google’s AngularJS v1 and v2, and, some would claim, has won the battle for front-end supremacy, while others prefer to join both.
React is a front-end library with several notable features, which should be of interest to anyone considering it:
The React Architecture applies even beyond just HTML rendering. For example, it supports rendering to
<canvas> tags, and it is suited for isomorphic architecture, i.e. application logic that runs both on the server and the client. This allows for several optimizations and, though not as widely adopted as one would expect, is certainly worth considering.
The programmer no longer has to manually figure out the diffs in HTML code that should be rendered, nor do they have to manually update specific parts of the webpage. React’s Virtual DOM enables the programmer to simply write code as if the webpage were loaded anew with every update, and React will automagically figure out the diff and update the view accordingly.
One-way data flow
To keep things clean, React does not allow component renderers to mutate any values passed to it. Instead, the components can be passed callbacks, which modify values. Essentially, this ensures that the data mutation logic and the rendering stay separate, which provides good reusability. This “data down, actions up” philosophy also perfectly combines with one of many programmers’ favorite state management library for React, the functionally-inspired Redux, which works with both React and React Native.
Most importantly, using React Native, you are not building a “mobile web app” or a “hybrid app” but rather a full-fledged mobile app, indistinguishable from one built in the platform’s native language. This is possible because React uses the same fundamental UI building blocks as regular iOS and Android apps.
Some might argue that React Native does not perform as well as pure native code, but it is nevertheless used by giants like Facebook, Instagram, AirBnB, and many others, not to even mention innumerable startups and solo-developers. While perhaps not the best choice for mobile games, where every millisecond counts, it is certainly well-suited for most use cases.
With React for the front-end and React Native for mobile, it is obvious that this is a technology suited for a large variety of needs and requirements. If you still have doubts, however, our React specialists will be more than happy to discuss them with you and to determine whether React and/or React Native are what you are looking for.
And once a plan is made, they will make sure it is delivered on promptly and accurately, while providing you with advice and counsel on how to best implement it.