At Genie! we like to spend most of our time giving our users the best experience to send and receive gifts. However I only had expertise writing apps for iOS and not Android. When we first decided to launch Genie!, a platform to send and receive gifts, we were sure it was going to be completely mobile. However with the Android market share being pretty high, we had to make sure our app worked on both Android and iOS. Our focus is still currently iOS but we wanted a decent Android app that served the basic purpose for most of our users. At the same time, we were not ready to compromise on iOS. We wanted the iOS app to look and feel native.
That’s where React Native came into the picture. It promised to run on both iOS and Android with a single codebase for the most part. This meant almost 2x faster development cycle and 50% reduction in engineering costs for Genie!
The promise seemed too real to be true. We were worried. Halfway through the journey, would we find React Native too limited? Would there be a few bugs if not too many that would ruin the experience?
Genie! allows you to attach a personal video or a message like a Snap with each gift that’s delivered on the recipients phone at the time of delivery. This meant we wanted to have a good camera and playback experience. Could React Native pull this off and still look native?
A few months down the line, with our iOS and Android app on the respective stores, I can tell you the journey was nothing but spectacular. I will most likely never write code in Objective C/Swift ever again. As one of my friends mentioned, “I saw heaven, and it’s React Native”.
In hindsight this was pretty dumb but we actually chose not to run the Android app till we had been almost done with the iOS app. Obviously there were some build issues but I was amazed to see most of the app work just fine. It took us a day or so to enable all functionality on Android. But hey, if we could go from an iOS app to fully functional Android app in 2 days, can it really get any better?
Honestly I have never written an app for iOS on objective C that didn’t crash during beta testing a few times. And to my amazement, our React Native app on iOS is yet to crash even once during production run. Sure things have stopped working. But that’s mostly due to bugs in our code. But never ever has it completely crashed on us.
Here are my parting thoughts. If you are an entrepreneur out there and is looking to start a startup that requires a mobile app, please please do look into React Native. Having run Genie! completely on React native for a few months, I can tell you majority of the apps on the App Store could just be written on React native. If you are writing a game, maybe not. Even than I’m not so sure. But if it’s an app, I really think React Native is the future. Thank you Facebook 🙂
Anirudh ~ Genie!