React Native allows developers to build Apps using 95% Javascript instead of Objective C or Swift.

At ZDEV, we’ve been working with React Native for about 18 months. We’ve built five apps which released on both iOS and Android for both ourselves and our customers.

What are the benefits?

Shorter delivery times - Quicker than traditional Objective C / Swift apps

Launch on Android quickly (with same dev team)

Use existing Javascript ecosystem

Web developers can contribute

Launch on the web quickly (with same dev team)

Skip App Store approval process (most of the time)

Backed by Facebook

Great Performance

Shorter delivery times

React Native enables your average Javascript developer to build a cross-platform app quicker than the traditional iOS developer. The exact speed up depends on the developers, my gut feeling is somewhere between 2–5 times quicker. This means it just got cheaper and quicker to build apps. There are a few reasons for this which we’ll cover below.

Launch on Android quickly

Two of our apps have been released on both iOS and Android. In both cases it took us about a week to have everything working on Android once we’d finished an iOS version.

This is one of the biggest advantages of React Native. You don’t need to hire an Android expert, or a new set of developers. There’s a little bit of effort to port it to Android, but then it mostly ‘just works’.

Use existing Javascript ecosystem

The Javascript ecosystem has some great tools to speed things up. Because a React Native app is mainly Javascript - you can use them all. This includes Redux (Flux) which is an awesome way of building UIs, which in my experience has lowered bug counts and makes bugs we did have quicker to fix.

Web developers can contribute

Because it’s 95% Javascript, React web developers will feel at home within a week or two. This opens up a large talent pool that can work on apps, lowering the cost and makes hiring easier.

Launch on the web quickly

Developers can reuse a lot of the code from the app when building a website. It will take a little longer than supporting Android, but not much.

Backed by Facebook

React Native was started inside Facebook to enable their developers to build apps quicker. Facebook and Airbnb have used it for various apps they’ve released and Facebook have a tonne of developers improving it all the time.

Companies using React Native

Skip App Store approval process

You can release the Javascript part of the app without going through Apple’s annoying 3 day approval process. This stops the development team losing their flow. According to Microsoft, Apple are ok with this.

Great Performance

Lots of contenders have ticked all of the above points, but most of them fall short on performance - which sucked. React Native is, as the name suggests, ‘native’. I’ve not seen any performance problems I couldn’t fix quickly.

What’s the catch?

Sounds great right? Well there are a few potential catches we’ve discovered over time.

If you need to build an app with tonnes of animations or gestures (e.g. Snapchat), it’s probably not a good choice (although you can drop into ‘native’ code at any time if you need to).

Not everyone loves Javascript and it’s ecosystem which is notoriously fast moving.

Although on the face of it you don’t need any iOS / Android skills to build apps with React Native in practice you will still need those skills sometimes. You can’t completely avoid those ecosystems, you can’t avoid the App Store or the Play Store. In practice decent developers will figure it out though.

It’s a Game Changer

We’re convinced that React Native is a game changer for building apps. It’s not yet reached full maturity, but a lot of the rough edges have already been smoothed out with Facebook.

Facebook are pushing the library forward really quickly and the cost reduction and delivery speed-up are getting it a lot of attention.

If you’re interested in hiring us or just chatting about React Native you can reach me at [email protected]