If you pay attention to the world of mobile app development, you’re already familiar with the native vs hybrid arguments floating around. This article isn’t really going to add anything to this debate for you.
However, if you’re a business owner with an idea for your company that involves a mobile app, then hopefully this will give you a little more guidance as you’re looking for someone to build your app for you.
In the olden days…
For some 10 years now, building an app for a mobile device – whether iOS, Android, BlackBerry, or Windows – meant using that vendor’s preferred language and tools. This “native” approach ensures your app adheres to all the conventions and user expectations of that particular platform. The downside – assuming you want to support all the devices out there – means you have to start from scratch with each new platform type. Even the designs may require changes since iOS and Android have certain UI conventions that don’t make sense on the other platform. One of the most common examples being that iOS uses a back-button in the top-left of an app’s design, while Android has a dedicated back-button that makes a visual app button feel out-of-place.
The (not-so-new-anymore) new hotness!
Is it worth it yet?
Of course the reality hasn’t fully caught up to the promise – there are still quirks that prevent the full native experience users expect in 2017. Some of the built-in React Native components are device-specific, and often only available (or stable) on iOS. Developing can be more cumbersome due to the additional layers and tools required for this “magic” to happen. And it doesn’t support any other mobile platforms (for now at least). But with a monthly release schedule, changes and features are delivered fast and furious, and those issues should get remedied.
And that’s not to say that native development won’t still be important – the device vendors will continue to enhance their platforms. Some developers may want to leverage device-specific features immediately without waiting for a third-party (or distracting themselves) to develop the necessary bridge code to allow its use from the hybrid code. Other apps simply may not warrant cross-platform accessibility, especially games or rich experiential apps.
But React Native is definitely production-ready for many other types of apps, especially content-driven ones. Instagram’s dev team just published an article about how they’ve incorporated React Native into their existing native apps, with the right proof points: more shared code, and faster time to market. So we feel good that within a couple years, many more app types will benefit from this approach as well, and the hybrid vs native arguments will cease to matter.
Have an idea for a mobile app that you’d like to discuss? Let us know in the form below!
Also published on Medium.