React Native brings the architecture of React to iOS. This gives developers with a web and Javascript background a way into native mobile development with familiar tools and languages. We’ve had access to the beta program and thought we’d give our view on what’s working for React Native, what might hold it back, and will follow up with thoughts on the problems of React Native and how this compares to other native and cross-platform development languages. It’s interesting to note how a niche cross-platform IDE is making an impression with clients in London curious about what’s possible.

Just hit refresh

React Native brings the web development cycle to mobile, there’s no need to a build and deploy, instead you just need to hit Cmd + R. This refreshes just like it’s a browser giving immediate feedback on any changes. Also, try using Cmd+D to launch Chrome Developer Tools. In practical terms the configuration to automatically re-render the view in the iPhone Simulator without rebuilding the Xcode project will allow changes to the UI several screens into an app without needing to navigate back.

No more Apple reviews

React Native allows you to deploy updates to your application code without having to go through the Apple review process. We think this is going to be really helpful for apps that require a lot of frequent updates – or for doing A/B tests on small groups of your apps users, which is really clunky having to submit an update to Apple every time.

State changes? What state changes?

The Virtual DOM is a unique feature of ReactJS, the pairing with a reconciliation process that gives the framework the power to make updates to the UI when the application state changes. In React Native the UI is constructed as a function of the current application state. In this way there’s no cause for concern about which state changes affect which parts of the UI. For the developer this means treating it as if the entire UI is reconstructed

Cross-platform?

The intention is for React Native to run as a cross-platform framework, before it was working on just iOS, now with Android support out React Native is game changer.

As with any IDE that claims to cross-platform there are certain drawbacks. React Native is not a write-once run-anywhere framework. There are different design guidelines with different sets of native UI controls that are not interchangeable for Android and iOS. In React Native the UI that is constructed within the render functions has a closed relationship to UIKit controls.

React Native?

These are some of the perks of React Native. Overall, it is native in a way that other JavaScript for mobile approaches only claim to be. React Native invokes actual rendering APIs on iOS and Android. Developers can leverage their existing knowledge of Javascript to build mobile apps with native performance, animations, and behaviour, without having to write Objective-C or Java.

Interested in a React Native app or training your existing web development team to go mobile with React Native? Get in touch with Codified.