Companies often eschew building native apps, thinking hybrid solutions will be easier and more cost effective to build. They end up shoving a not-so-responsive web app into some kind of native web frame, which ultimately leads to terrible user experience. Many companies opt to have two separate native teams for iOS and Android instead, but that strategy can be expensive and often comes with its own challenges. React Native, on the other hand, lets you build performant native apps using the same technologies your web team is already using. I’ve been a native app developer for many years and this is why I think React Native has become the best choice for native app development.
Modern, developer-friendly tooling
The React Native CLI lets you start a new native app project that will work on both iOS and Android. These tools are great since they let you start building your app right away, rather than spending a lot of time working on setup and configuration before getting started. The tools are similar to Xcode or Android Studio project templates, so if you’re familiar with those, it’s easy to get started. One of my favorite features of React Native app development is live reload. The tooling for both web and native apps supports live reloading of changes, which makes testing changes faster and eliminates the need to recompile and redeploy onto a device. Another advantage of live reload is that your application state is maintained. This is great for testing changes to complex flows without having to recreate the steps each time. Tools like CodePush make it easy to push updates to your React Native app without having to go through the iTunes Connect or Google Play submission processes.
Build native apps quicker with code sharing
React is already a fantastic way to build UIs for the web and components are a great way to conceptualize your UI as a function of some data. React Native builds upon React's philosophy of "Learn once, write anywhere," making it easy for React web developers to build native apps. Composable unified UI codebases, instant app updates, and better development tooling make React Native the better way to make native apps. If you have any questions about React Native or mobile development in general, find me on Twitter at @carlos_paelinck.