React is not designed to solve problems specific to web applications. Rather, it is designed to solve problems for all applications.
This sounds like buzz until you look at where React is going. Its first uses were in web applications, specifically Facebook and Instagram. Now, though, it’s rapidly moving past that:
- Facebook used it to build a native iOS mobile app, and is open sourcing react-native to allow anyone to do the same for iOS and Android. Learn more from Facebook’s recent React conference: overview, deep dive.
- Flipboard used it to power canvas graphics on its web site, which unlike the traditional browser DOM can operate with video-like smoothness. They open sourced this add-on to React.
- Netflix uses it to create TV interfaces. Hear about it in their own words.
- It’s used on both the server-side and the client-side. React doesn’t need a web browser to work.
It’s simple: React presents a better model for development, generally.
React’s impact is best explained by its side effects:
- Your code is clear. It is arranged into components, each with its own defined responsibility. Learn more about structure.
- Your app is predictable. It’s very clear where data flows, and what happens when a user does something. Learn more about data flow.
- Your app is fast. React is really, really fast, creating a better experience for users, even if you have a ton of data. See this example.
- Surprise, you’re an app developer. React breaks down barriers across platforms, by applying its same model across the board. This means that once you learn the React way of structuring an web application, you have a huge head start on developing a native iOS or Android app, thanks to react-native. Surely this will happen to other platforms.
See also, the benefits of adding React to a real-world Rails app, and a deep dive into React in Rails.
Finally, check out the React JS Conf 2015 videos.
Hired.com brings Rails job offers to you. Free for candidates. Salaries from $75,000 to $250,000. Sign up now!