Choosing the right technology for the development of a mobile app is crucial for the success of the business. For a long time, native development with separate iOS and Android teams has been the default choice. Nowadays though, we have a lot of alternative solutions available which can help us to go to the market faster. Most of the codebase can be shared between iOS and Android platforms in cross-platform mobile app frameworks and developed by a single team. This fact can both lower the development cost and shorten the development time.
React Native is a cross-platform mobile app framework based on the well-known JavaScript language and React UI library. Therefore it can be quickly adopted by frontend developers and creates an additional opportunity to share parts of the codebase with the web app as well. React Native uses JavaScript to implement UI and business logic and renders real native views (the same that can be found in native apps). This allows for easier integration with native platforms and adds much less overhead than in the case of WebView-based apps (like Cordova or Ionic).
React Native can be considered a battle-tested solution at this point. Some examples of apps written entirely in React Native include Facebook Ads Manager, Skype, and Tesla. While using this framework developers can also leverage access to the biggest package repository in the world - NPM, where a lot of third-party libraries and components can be found.