Joshua Hornby

React Native & continuous deployment

Tags : React, React Native

Recently I have been exploring React Native, the tl;dr of React Native is pretty accurate.

React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about

One evening I found the following talk by Joe Stanton @ React Meetup London . The part of Joe’s talk which I found most interesting was where he mentioned continuous deployment for React Native applications. The summary of this is a developer can bring web style deployment to native mobile applications.

By using a continuous integration tool such as CircleCI or Codeship, you can upload your bundled JS to an Amazon S3 bucket. Then in the AppDelegate.m you can download this file to the device and run the application.

Will Apple allow this in the App Store?

Before answering this question it is worth noting that this isn’t a new idea, this article wrote by the guys at Meteor outlines a similar concept. But as the article points out, the iOS Developer Program Agreement states the following:

3.3.2 An Application may not download or install executable code. Interpreted code may only be used in an Application if all scripts, code and interpreters are packaged in the Application and not downloaded. The only exception to the foregoing is scripts and code downloaded and run by Apple’s builtin WebKit framework, provided that such scripts and code do not change the primary purpose of the Application by providing features or functionality that are inconsistent with the intended and advertised purpose of the Application as submitted to the App Store.

Which means that there is no reason for these types of applications to be rejected by Apple.

For more information take a look at Joe’s GitHub repository.

Update

Github Issue showing that the app was allowed in the app store

comments powered by Disqus