Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Microsoft CodePush Aims to Enable Instant Updates for Cordova and React Native Apps

Microsoft CodePush Aims to Enable Instant Updates for Cordova and React Native Apps

This item in japanese

Cordova and React Native developers will be able to deploy mobile apps updates directly to their iOS and Android devices thanks to CodePush, Microsoft say. CodePush includes a cloud service and an SDK to make it possible to update JavaScript, HTML, CSS, and image resources so apps can retrieve their latest versions. Compiled code, though, cannot be updated on the fly.

According to a CodePush team member, CodePush aims to help “developers engage more closely with their end-users”. The provided SDK will make it possible for developers to silently deploy updates or present users the option to update or ignore an update. The availability of silent updates has raised some concerns about the possibility that users get annoyed by an app’s UI changing constantly. However, silent updates are considered useful to fix bugs, etc., especially taking into account that “only a small number of power users ever touch the settings/option menu”.

Speaking of iOS deployment, as per Apple’s App Store developer guidelines, developers have long been not allowed to distribute apps that could download interpreted code at runtime. This restriction has been relaxed in recent years and Apple allows to dynamically download JavaScript scripts

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.

It is worth noting that Ionic is currently alpha-testing a similar product to CodePush, which is called Deploy, and also provides the possibility of rolling back to a previous version of an app and of controlling availability dates.

In order to be able to use CodePush, developers will need to include the appropriate CodePush SDK into their apps and configure them to check for updates. Deployment is handled through the CodePush management utility, which can be installed through npm. Both CodePush SDKs, for Cordova and React Native, are available on GitHub.

Rate this Article