I love comparisons. And I almost made my head explode while I was trying to find an original one to make with regard to startups. Maybe every startup is like a brand-new car with modern technology inside? Technology that’s supposed to make it better, faster and more desirable than any other car in the world.
Design, transmission, acceleration, handling… All these things matter.
But the most important part of the car is its engine.
And here is the comparison you have been waiting for – a product for a startup is like an engine for a car. That fancy car everybody wants to have may look breathtakingly awesome from the outside, but who cares if it’s not ready to start up and keep going?
Well… Then it’s useless.
And startups are very similar.
Why?
Because having a unicorn business idea is one thing. Validating it is another.
To do this, give the product to users by creating MVP as fast as possible.
It’s like a test drive for a car coming out of the factory.
No, your product won’t be ready to sell. Yet. But it will help you to shape your idea, customise it, modify it, fix it. And maybe even to come up with a different, better solution to the same problem.
Now it’s time to choose the proper tool to create that MVP.
And I’m convinced that React Native is the right choice in most cases.
Pros and cons of choosing React Native
Pros
Single code base – this makes it faster to implement and easier to maintain. It’s written using Javascript, which is one of the most popular programming languages
Many cross-platform modules, which share the Javascript interface. Thanks to this, there is no need for mobile developers to know Java/Kotlin (Android) or Objective-C/Swift (ioS) in the case of solutions that are not highly customised.
Developing code on Android means it is highly probable that you won’t have to change anything on iOS (or vice versa), and the code is ready-to-go. Why is that? Because if I’m writing and testing an application on Android, I don’t need to test it on iOS. I’m sure that in 95% of cases, everything will work and look the way I want it to. Small issues will come out sooner or later anyway.
There are some tools – like AppCenter from Microsoft – that allow for building applications in the cloud. Basically, there is no need to know Android or iOS, and the configuration is super easy.
Cons
If we want more customised solutions (not available officially in React Native or through third-party modules), we have to write native modules and native code.
Support for animations is limited, so designing custom experiences or gestures may be difficult or even impossible.
You will deal with the same problems as in the case of the React web framework. Routing and navigation may be a tough challenge to overcome, but maybe React Navigation will help you to do that.
Final thoughts
React Native is not a magic wand that will let you take a rabbit out of a hat. Sure, it’s powerful, but it can’t do everything.
However, you aren’t looking for a Swiss Army knife but for a tool that will save you time and money and help you to create the beta version of your product in no time. And that’s what React Native is for.
Because of this, I strongly recommend that you at least take it into consideration when deciding what to use while building your first (and next) MVP.