Comparison
A CodePush alternative you can point your app at today
App Center retired and took CodePush with it. Hashdrop speaks the same client protocol, so migrating is a server URL and a deployment key.
Microsoft retired App Center, and CodePush went with it. If your React Native app ships JavaScript updates outside the store, you need somewhere for those update checks to go — and you would rather not rewrite the client integration to get it.
Hashdrop implements the CodePush client protocol. An app already using react-native-code-push needs its server URL and deployment keys changed, and nothing else.
What migrating actually involves
- Create Staging and Production deployments on your app and copy the keys
- Point the client at your new server: CodePushServerURL in Info.plist, CodePushServerUrl in strings.xml
- Publish a bundle from CI with one curl
- Ship a binary carrying the new keys
<!-- iOS: Info.plist -->
<key>CodePushDeploymentKey</key>
<string>hsd_YOUR_STAGING_KEY</string>
<key>CodePushServerURL</key>
<string>https://staging.hashmedia.biz</string>How it compares
| CodePush / App Center | Hashdrop | |
|---|---|---|
| Status | Retired | Actively developed |
| Client library | react-native-code-push | The same library, unchanged |
| Deployments | Staging and Production, promote between | The same |
| Partial rollout | Yes | Yes, by percentage, stable per device |
| Mandatory updates | Yes | Yes, and sticky across skipped releases |
| Rollback | Yes | Yes — re-releases the old bundle under a new label |
| Binary distribution | Yes | Yes, iOS and Android over the air |
| In-app feedback | No | Yes, with build and device attached |
| White-label portal | No | Yes, on your own domain |
Where CodePush was better
It was free at small scale, backed by Microsoft, and had years of production use behind it across a very large number of apps. Hashdrop is newer and run by a small company in India. If that matters for your procurement, it should — we would rather you knew now.
It also supported differential updates, sending only changed files. Hashdrop sends the whole package, which for a typical JavaScript bundle is a few megabytes.
What you also get
- Distribution of the binaries themselves, not only the JS bundles — the thing App Center also did
- Install counts per build and per device, deduplicated properly
- Bug reports from inside the app, arriving with the exact build, device and OS
- A portal your client can use, carrying your branding on your domain