Using CodePush for quicker bug fixes & updates

Using CodePush for quicker bug fixes & updates

We recently began bundling CodePush with the mobile apps we develop in React Native. Doing so meant adding the library to our app code, configuring the settings, and waiting for an actual use case. When the time came to use this tool for several bug fixes, we were excited to be able to push out those changes quickly without waiting on the normal app approval process or requiring users to update the app.

So what exactly is CodePush, and how does it impact the app development process? We’re glad you asked… 🙂

The challenge of app development

With traditional mobile app development, releases are deployed through the public app stores (Apple App Store, Google Play, etc). Even though we develop our apps using a single code base that deploys to both Apple and Google Play, each app store has its own process for submitting app updates and waiting for approval. And for Apple, in particular, it can take 24 hours or more for approval.

That means when we’re trying to release a critical fix, whether it’s for content or functionality, the approval process can delay the release, leaving users and our clients frustrated.

What CodePush does

Diagram showing how CodePush works
source: Microsoft

CodePush is a framework you bundle inside an app that checks for updates to the code. So when a user launches the app, it will automatically look for updates without requiring them to do anything. If it finds an update, it will download and install it. Because CodePush checks for updates every time the app launches, it bypasses the waiting period that bigger updates require.

What it doesn’t do

CodePush is meant to be used for certain tweaks and minor adjustments, not for major feature releases. Those still need to go through the regular approval processes. For example, if an update requires changes to its native code, it will need to be updated through the regular channels.

The benefits of CodePush

CodePush offers a way to quickly push app updates when there’s a bug or a minor adjustment that needs to be made. This allows us to be more nimble as developers and quickly respond to user reports or issues we’ve identified.

Without CodePush, updates are at the mercy of both the app store approval process and the user’s decision to update their app. This makes it hard to control bug fixes and critical updates. CodePush offers a seamless experience for users, reducing the number of app updates they need to perform.

Limitations and challenges

CodePush does add complexity on the project management side. It’s a little trickier to track which version of the code users are running and which version has been deployed in the app store. With CodePush in place, there will be times when we have different CodePush and app store versions. This adds a layer of complexity and potential confusion, but it’s not insurmountable; it’s just something we need to keep in mind and add to our internal processes.

In addition, CodePush is only available for apps created in React Native or Apache Cordova, although there may be similar options for other frameworks.

We’re pleased with what we’ve been able to do with CodePush so far and look forward to refining our processes even further with time and use.

Have an idea for a mobile app but not sure where to start?

We’d love to brainstorm and strategize with you! Contact us today to learn more about our processes.

Using CodePush for easy bug fixes & updates

2 comments on “Using CodePush for quicker bug fixes & updates

  • In addition, CodePush is only available for apps created in React Native or Apache Cordova, although their may be similar options for other frameworks.

    Spelled there wrong.

    Loved this post – thanks for sharing it. I’m wondering how you can track the version of the app being used on the client devices?

    • Mandi Ehman says:

      In addition, CodePush is only available for apps created in React Native or Apache Cordova, although their may be similar options for other frameworks.

      Spelled there wrong.

      Ah, good catch—thanks!

      We’re usually most concerned with the exact version of the app when a user is requesting support. To help with that, we typically display the app version within the app’s settings, so the user is able to share it with us. Additionally, we try to minimize the time between a CodePush fix and the subsequent official release containing the same fix.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.