All mobile developers, entrenched in either the Android or iOS camps, have always been skeptical of new cross-platform development tools that offer performance and quality just like natively-developed code. It has been the Holy Grail of the mobile development world. That’s why when word of React Native started popping up in the usual dev news circles, I didn’t pay it much attention. It was just another attempt at the impossible.
However, when I saw Marc Shilling’s post An iOS Developer on React Native start to attract a lot of attention, I performed a more serious exploration into React Native’s documentation. What I found based on Marc’s great review - that I will not try to replicate, so please read it - and React Native’s documentation was that this was a toolkit with serious potential. While other cross-platform dev tools like Appcelerator Titanium try to construct awkward abstractions around iOS’s and Android’s similar-but-different UIs, React Native brings its own set of tooling and interface paradigms. It means you have to learn an entirely different style of mobile development, but it works.
With some new, albeit entry-level, knowledge of React Native, I set out to test my new skills. An old app of mine, TruckToMe, has been sitting on the shelf for quite some time and yet still receiving a decent amount of daily downloads. Being such a simple app, it seemed a perfect project for these new skills. A few weeknights of work later, I’m submitting TruckToMe version 4.0 - now powered by React Native - to the iTunes App Store. Next I'll be getting the app working on Android. I'd always planned to release an Android version of TruckToMe when I first built it, however other projects came along that prevented me from continuing that.