Do you need to invest in a native app as a startup or react-native should be used?

Tarun Chawla
3 min readFeb 12, 2022

As a startup founder, you might be thinking I need to prototype this idea fast what should I learn or what kind of skills I should hire for? Let's discuss.

Myths

  1. I cannot develop my application in react-native as I need to use native iOS/Android APIs in my application.
    This is far from true. If you are not able to find an NPM JS module for the functionality then obviously you have to use native APIs of Android/iOS. In react-native, it's possible to use native APIs inside react native application, in fact, lots of npm modules that you might use already be having lots of native platform APIs internally. Basically you can have 90% of code shared among iOS and Android but 10% you can write for specific platform.
    iOS: https://reactnative.dev/docs/0.60/native-modules-ios
    Android: https://reactnative.dev/docs/0.60/native-modules-android
  2. React-native has performance issues.
    First of all, this might be true for complex applications but it might not apply to the majority of ideas and applications.
    Second, most of the problems are solvable. It is just that you need the right expertise and this is true for problems you will face on native platforms as well.
    Third, modern devices are higher in performance and by the time you will complete the development more performant devices will be in the market. On most devices you will not even feel those issues, it might be true for 6 years old sub $100/₹6000 but are you targeting those customers?
    Fourth, if you are developing games then am unable to answer it but with my experience as a Software developer, I would suggest you skip react-native or any other hybrid technology like Flutter.

Now that I have burst major myths about react-native let us discuss the benefits of a mobile application developed in react-native.

Major benefits of using react-native I see are:

  1. Code reuse across iOS and Android. Even for fairly complex applications, you can achieve 95% code reuse across iOS and Android platforms.
  2. The cost of building applications is much cheaper.
  3. The plethora of reusable npm react-native components which you can reuse in your application. These components are developed by the community and are well tested across major production applications.
  4. I believe the learning curve of react-native is shorter and can give you the confidence to scale quickly on major mobile platforms such as iOS and Android.
  5. Hiring and training for react-native would be cheaper and more efficient.
  6. React is a pioneer in declarative UI. Apple SwiftUI and Google Jetpack compose are copying react success of building UIs as a declarative code rather than in XMLs and storyboard files in Android and iOS respectively. For iOS/Android declarative UI is the future but for React it is present and future.

My recommendation

I think for most cases if you blindly use react-native you won’t have any issues and you will be glad that you have chosen it. But for the edge cases, you will need proper review and guidance from a technology consultant.

I would say quickly hire a freelancer and implement the prototype rather than spending too much time on this, if you will fail it will be mostly due to the idea not due to the technology you are using. It is always better to fail quickly so that you can start on your next idea rather than spend too much time and money on building the prototype.

If you succeed you won’t mind spending effort on react-native and if then you and your team feel we should move to native then by that time hopefully you will have enough resources for that. If you fail you will be glad that you learned so many things and glad you failed faster.

--

--