React helped us quickly build feature-rich interfaces. This creates a good customer experience and makes our small startups competitive with large companies.
We used React to create smooth entry forms for Boundless Immigration, with animated navigation, auto-completion, careful validation, and restricted input. We’re also creating a personalized experience for Gemma Labs. Beautifully designed web frontends with carefully thought-out interactions such as animation and validation help startups compete with larger companies.
React Native has been key for NextStep Careers because it offers cross-platform support for iOS and Android. It also offers a better development paradigm for rapid development. React Native’s flex layout paradigm is easier to work with than XCode’s constraint-based system.
I’m a late adopter. It wasn’t until friends had been telling me about React for a year-and-a-half that I finally started playing with it.
There are a couple of reasons why React is easy to adopt. One, you can start with a single small component that lives by itself on a web page without the need to create an entire single-page application. Angular, for example, requires a larger investment in planning how your components fit into an app.
Two, the React paradigm, which separates component props from component state, is very easy to understand. These two things — simple composability and a simple data-flow paradigm — make React not only easy to start out with, but easy to stick with.
The challenge with react comes when you start building a complex app out of those separate components. Adding URL routing, and figuring out how data will flow in and out of your app requires a bit more thinking and planning. Luckily, there are established patterns, and plenty of documentation to help out. Another challenge is the complicated state of building for the web with Node. On one web project — which integrates client, server and Shopify code — we’ve got three separate builds and three separate Webpack configurations. So there’s some standardization, but still a huge amount of complexity. For me, the solution to that is staying with the default Create React App tools for as long as possible, until we’ve got sufficient dev power to customize our build process.