React Native allows you to develop native mobile apps for iOS and Android with a single JavaScript codebase. Keep in mind that iOS & Android have different design guidelines. Does your app going to look and behave the same on both platforms? Do you need to write platform specific code?

Use React Native if:

• you need a UI heavy app that looks and behaves the same way on both platforms

• your developers have a strong React / Web development background and you don’t want to build a dedicated iOS / Android team

• you want to take advantage of fast build time, hot reloading, live reloading

Use Native iOS (Objective-C, Swift) / Android (Java, Kotlin) if:

• you need to build an iOS-only or Android-only app

• you need to build a high complexity app which requires a large portion of platform-specific code

• you need to use native modules (e.g camera, image picker, push notifications, third party services, address book etc)

• you plan to maintain the app over a long period of time and you need to support new mobile OS features as soon as they are released