WhoBuilt

How to Handle App Center Retirement

Oct 29, 2024· 55 min· 1.8K views·Watch on YouTube

Speakers

React Universe On Air hosts Lukas and Mazin, joined by Expo infrastructure engineer Quinn, discuss App Center’s retirement and migration options with the React Native Radio audience.

What CodePush users need to know

The hosts identify CodePush as the App Center feature React Native teams care about most. Over-the-air updates can change JavaScript without a new store release, but updates must remain compatible with the app’s native code. The discussion points to Expo Updates as an option and standalone CodePush as a possible path for teams that need to keep their existing setup.

Expo Updates and self-hosting

Quinn explains that EAS Update uses channels such as production and staging, and that its fingerprint policy checks whether JavaScript updates match the native app. The hosts note that enterprise teams with legacy setups may find migration difficult. For teams that self-host, Quinn says Expo Updates follows an open specification and can work with a compliant server; maintaining that server remains the team’s responsibility.

Replacing builds and distribution

The discussion covers EAS Build, which can run builds in the cloud and use YAML-defined steps, including for native projects. The hosts also name Fastlane, Bitrise, Tramline, and Codemagic as build alternatives. For internal distribution, they describe iOS device registration and signing requirements, and mention EAS tooling and Firebase App Distribution as options.

Testing and observability options

Quinn says EAS build steps can run tests, including Maestro tests on simulators, while BrowserStack can help test across device types. The hosts discuss using both automated device testing and manual QA for user experience checks. For diagnostics, they mention Datadog and Sentry, with the hosts highlighting Sentry’s React Native support for source maps and over-the-air updates.

Start migration early

The hosts advise teams to research alternatives and begin migration well before App Center’s March 2025 shutdown. Quinn notes that services rarely map one-to-one and that migrations can expose unsupported use cases. They suggest starting a first migration pull request by January and seeking help from Callstack or Infinite Red for complex cases.

Takeaways

  • Check whether CodePush updates rely on assumptions that EAS Update’s fingerprint checks would enforce.
  • If self-hosting Expo Updates, plan to maintain a server that follows its open specification.
  • Inventory App Center features separately, since build, distribution, testing, and diagnostics may need different replacements.
  • Start migration early enough to uncover gaps in your workflows before the shutdown deadline.
  • For React Native diagnostics, assess source-map and over-the-air update support when comparing tools.

Mentioned in this talk

Search inside this talk

What was claimed 13

  • feature
    Microsoft: retirement announced in March 2024, with service cutoff in March 2025
    retirement announced in March 2024, with service cutoff in March 2025
    “They left us 12 months, from March 2024 to March 2025.”
    YouTube
    Unverified1 source· Talk
  • role at
    Quinn is works on infrastructure and server side, in particular EAS Update at Expo
    “I mostly work on the infrastructure and server side, in particular EAS Update.”
    YouTube
    Unverified1 source· Talk
  • works at
    Quinn works at Expo
    “I've been working at Expo since the early days, 2017.”
    YouTube
    Unverified1 source· Talk
  • feature
    Expo Updates: Fingerprint policy hashes native updates and checks JavaScript bundle compatibility
    “we get a hash of all your native updates and make sure that whenever you create a JavaScript bundle, it’s actually compatible”
    YouTube
    Unverified1 source· Talk
  • built
    “Expo Updates, or EAS Update, offers similar functionality to CodePush.”
    YouTube
    Unverified1 source· Talk
  • feature
    CodePush: Standalone server currently works only on Microsoft Azure
    “Right now, you can deploy your own CodePush server, but it only works on Microsoft Azure”
    YouTube
    Unverified1 source· Talk
  • built
    cloud-agnostic drop-in solution in development
    “We're trying to make it cloud-agnostic so you can run it on Google Cloud, AWS, or wherever you want.”
    YouTube
    Unverified1 source· Talk
  • feature
    Expo Application Services Build: Build steps are specified in YAML and can support plain native builds
    “The build steps are specified in YAML now.”
    YouTube
    Unverified1 source· Talk
  • built
    “The alternative we have is EAS Build.”
    YouTube
    Unverified1 source· Talk
  • feature
    Vercel Workflows: Chains configurable YAML jobs such as build, test, and store submission
    “You can specify them all in YAML and chain them together: have the build run, then the test, and then automatically submit to the store.”
    YouTube
    Unverified1 source· Talk
  • built
    “We're actually releasing something very shortly called Workflows.”
    YouTube
    Unverified1 source· Talk
  • feature
    Datadog: Combines metrics from mobile, web, and backend systems in one observability panel
    “You can integrate metrics from different points across your system—not only from your mobile app, but combine mobile, web, and backend into one observability panel.”
    YouTube
    Unverified1 source· Talk
  • feature
    Sentry: React Native integration supports source maps and over-the-air updates
    “how they upload source maps when you build the bundle, and support for over-the-air updates”
    YouTube
    Unverified1 source· Talk

Related talks