React and Redux is our top choice for building the best client-side experience on a single-page application. React makes complex interfaces easy with small, reusable components, consistent behavior, and rich interactions. We’ve worked with many companies like Automatic, Oscar Health Insurance, Sycamore, and Vinous Media, leveling up their team’s React skills and helping build out applications.
Why use React?
The great thing about React is that it can be implemented gradually (if you want to). Some JS frameworks require you to make a big investment in their infrastructure in order to start getting any usable results, but React allows you to start replacing components of your web app piece-by-piece. It is highly effective for teams because it encourages the reuse of UI patterns and requires a readable syntax.
We’ve built single page applications at thoughtbot using Backbone.js Angular, Ember, Elm and others. We prefer to use React and Redux when we’re building a full client side application as opposed to a website with some rich interactions.
Redux is a Flux Library we use to maintain state when using React. Using Redux you define actions which you use to modify your state. This prevents bugs that were common when using plain React.js.
React Native gives our team the chance to write fast, native applications on Android and iOS in a single codebase while sharing large amounts of logic. This means we can ship faster to both platforms. See our SplitFit case study where we released a cross-platform iOS and Android app in 8 weeks using React Native.