This is going to be a series of blog post sharing our experience creating a production mobile app with React Native. In this blog, we would like to share a bit about our background and how we come to use React Native.
Back in May 2016, we had an opportunity to build our first hybrid mobile application for our client. We had played around with a few hybrid platform back in Jan 2015 but we never really dug deep enough to actually develop a real mobile app. So we started researching again what platform were available to use to build the hybrid mobile apps. We had a very short time window to research the current solution available and decide which one will be our platform.
We had the following requirement for the platform:
Good UI Experience - minimal lag
Support IOS and Android
Support Push Notification
We found a few solution with provide a near native ui performance. To cut things short, we came down to two choices, NativeScript and React Native. Once we make a decision there was no turning back in the middle of the development. So, In order to make a decision we decided to do a small proof of concept to develop a mini app. In parallel, we started the PoC, I was using react native and my colleague was using NativeScript.
After a week, we planned to meet and compare our notes. Unfortunately, my colleague had not have enough time to complete the PoC due to other urgent project matter. On the other hand, I had evaluated React Native enough to conclude that it was doable at that point in time.
- Good UI Experience - React Native Render Native UI
- Support IOS and Android - Supported
- Support Push Notification - not out of the box
- Support GPS - ios only, android in progress
Since we did not have more time to explore NativeScript, we decided to take on the project using React Native.
After four months of development and testing, we finally shipped the app to production. There were some challenges but It had been FUN. We learned so much from this. We were shocked how web technology have evolved. I enjoyed every bit of it (geek alert), eventhough I can not speak for the whole team.
On the next post, I will share more detail on the development experience and challenges. Also, why it had been so much fun?