Revopush vs Hot Updater for React Native OTA

Revopush and Hot Updater both deliver React Native OTA updates and support differential delivery. They differ in where the service runs and in the payload used for the first OTA release after a native install.

  • Revopush is a managed OTA cloud. It can use the bundle and assets inside an IPA, APK, or AAB as the baseline, so the first OTA release can already be a diff.
  • Hot Updater is an open-source, self-hosted OTA framework. Its documented bundle-diffing flow downloads a normal compressed archive for the first OTA, then reuses files and applies Hermes patches on later OTA releases.

Hot Updater begins its diff flow after the device has received a full Hot Updater archive. Revopush can use the native app bundle as that baseline.

Comparison note: This page was updated on August 23, 2026 using public Revopush documentation and Hot Updater's official bundle-diffing and self-hosting documentation. Hot Updater bundle diffing is documented for version 0.31.0+. Product behavior can change in later releases.

Compare Revopush and Hot Updater

CapabilityRevopushHot Updater
Product modelManaged React Native OTA cloudOpen-source, self-hosted OTA framework
First OTA after native installDiff update available from the IPA/APK/AAB base releaseNormal compressed archive
Later OTA releasesBinary diffs generated from compatible native or OTA baselinesReuses unchanged files and can apply .bsdiff patches to changed Hermes bundles
Changed regular assetsIncluded in the generated differential payload when compatible with the baselineDownloaded as complete files; regular assets are not binary patched
Patch fallbackCompatible payload selected for the device and release baselineFalls back to the complete Hermes file or normal archive when a patch is unavailable, incompatible, or fails verification
InfrastructureRevopush operates the service, storage, delivery, and control planeYour team configures storage, database, server or edge runtime, credentials, and deployment
React Native supportReact Native 0.76+ and the New ArchitectureModern and legacy React Native support, including the New Architecture
Expo supportYesYes
Rollouts and rollbackYesYes, including rollout/cohort and console workflows
AnalyticsRelease, install, rollout, and differential-update visibilityConsole and runtime state are available; the depth depends on the selected backend and implementation
Bundle signingYesYes
Cost modelSubscription with included egress and managed operationsOpen-source software plus infrastructure and engineering cost

Where the first diff comes from

Hot Updater's official documentation describes this flow:

text
Native app install
  -> first OTA: download normal compressed archive
  -> later OTA: reuse unchanged files
               + download changed assets
               + apply Hermes .bsdiff patch when available

The first OTA cannot use Hot Updater's diff path because the device does not yet have an older Hot Updater OTA bundle to use as its base.

Revopush creates that baseline before the first OTA by processing the native release artifact:

text
IPA / APK / AAB base release
  -> first OTA: download a diff from the store bundle
  -> later OTA: download a compatible diff

This removes the full-bundle bootstrap download. If a team ships a small JavaScript fix immediately after a new app-store version, users can receive a small patch instead of downloading the complete OTA archive first.

See how Revopush base releases work or review the measured React Native OTA payloads.

How Hot Updater bundle diffing works

Hot Updater uses two complementary optimizations:

  1. File reuse: unchanged files from the current OTA bundle are copied locally instead of downloaded again.
  2. Hermes binary patches: a changed Hermes bundle can be delivered as a .bsdiff patch when a compatible patch exists.

Changed images, fonts, and other regular assets are downloaded as complete files. If patch verification fails or no compatible patch exists, Hot Updater falls back to a complete Hermes file or the normal OTA archive.

This approach works for teams that want to run their own OTA stack. Revopush starts its diff flow from the store binary and operates the delivery platform.

Managed cloud and self-hosted OTA

Hot Updater gives you control over the stack. Its official self-hosting architecture lets you choose database adapters, storage plugins, and server frameworks. That flexibility is valuable when your team wants to own infrastructure and customize the backend.

It also means your team owns:

  • database, storage, and server or edge configuration
  • credentials and access controls
  • observability and incident response
  • backups, upgrades, and compatibility maintenance
  • delivery cost and capacity planning

Revopush runs those parts of the stack and provides a release dashboard, analytics, team workflows, CDN delivery, and support. The tradeoff is a subscription instead of operating the service yourself.

Choosing between Revopush and Hot Updater

Choose Revopush when you want:

  • diff updates beginning with the first OTA release
  • a managed production platform instead of an OTA infrastructure project
  • CodePush-compatible migration and release workflows
  • built-in release analytics and team collaboration
  • managed CDN delivery and support

Consider Hot Updater when you want:

  • an open-source, self-hosted OTA stack
  • control over storage, database, server, and delivery providers
  • a plugin-based architecture you can customize
  • bundle diffing for later OTA releases and are comfortable with a full first OTA archive

For a wider comparison of managed and self-hosted approaches, see the complete App Center CodePush alternatives for React Native.

Sources