WhoBuilt

How to iterate on your app faster with Expo

Nov 5, 2021· 21 min· 585 views·Watch on YouTube

Speaker

Jon Samp, a software developer at Expo, explains how Expo tools can speed up app iteration at React Native EU 2021, presented by Callstack.

Apps need to keep evolving

Samp uses Tweetbot’s redesigns as an example of how apps change to match users’ expectations and current design styles. He argues that an app’s first version is only a starting point, so teams should build around an ongoing cycle of requirements, implementation, review, release, and feedback.

Build and preview with Expo

Samp demonstrates a coffee app with two requirements: calculate water for a 16-to-1 water-to-coffee ratio, and guide pulse pours with a countdown. Expo CLI creates a React Native project without iOS and Android native folders, while Expo Go lets developers scan a QR code and preview changes on a phone as they work.

Share builds for faster review

For teammates to review an app, Samp contrasts manual device registration and store-based distribution with EAS internal distribution. Developers can register devices, build with an internal profile, and share a download link; a GitHub Action can automate builds when code is merged to the main branch. Expo Go updates can also share JavaScript changes without requiring teammates to download a new build.

Build and submit to app stores

Samp describes using EAS Build to create release builds for the iOS App Store and Google Play in the cloud. EAS Submit can send a build to the stores, avoiding manual steps such as downloading an IPA or AAB and uploading it through store tools.

Fix JavaScript bugs with updates

For a production typo, Samp shows how Expo Updates can deliver a JavaScript and asset bundle without a new app store build. Updates cannot change native code, such as the app icon. Developers can configure when the app checks for updates and how long it waits before opening the cached version; the default timeout of zero downloads updates in the background.

Takeaways

  • Treat the first release as the start of a feedback and improvement cycle.
  • Use Expo Go to check app changes on a real device during development.
  • Automate internal builds so teammates can try changes sooner.
  • Use cloud builds and submission tools to streamline store releases.
  • Expo Updates can deliver JavaScript fixes, but changes to native code require a new build.

Mentioned in this talk

Search inside this talk

What was claimed 8

  • role at
    Jon Samp is head of product at Expo
    Verified2 sources· Talk
  • feature
    Expo Modules: Opens development versions of apps on a device by scanning a QR code and displays code changes almost instantly
    “when you make a change to App.tsx, you'll see it appear almost instantly on your actual device.”
    YouTube
    Unverified1 source· Talk
  • feature
    Expo: Builds free, open-source tools and hosted services that help developers build applications with React Native
    “Expo is a company that builds free, open-source tools and hosted services that help you build an application with React Native.”
    YouTube
    Unverified1 source· Talk
  • feature
    Expo Modules: Builds app binaries in the cloud and supports internal distribution and app store submission
    “Expo can also build our app, and we can distribute it to our team even faster.”
    YouTube
    Unverified1 source· Talk
  • feature
    Expo Updates: Delivers JavaScript and asset changes to users between native app builds
    “we can use Expo Updates to provide small fixes between builds”
    YouTube
    Unverified1 source· Talk
  • feature
    Expo Modules: Can build apps that include custom native code
    “you can build an app with any native code.”
    YouTube
    Unverified1 source· Talk
  • feature
    Expo custom development clients: Let apps with custom native code use Expo update workflows on devices
    “If you are using your own custom native code, you can make your own version of the Expo Go app and still get all the niceties around opening updates on your phone.”
    YouTube
    Unverified1 source· Talk
  • feature
    Expo Updates: Planned support for rolling out updates and seeing which builds are pointed at which updates
    “you're going to be able to do things like roll out updates to your users and see exactly which builds are pointed at which updates”
    YouTube
    Unverified1 source· Talk

Related talks

How to iterate on your app faster with Expo, Jon Samp · WhoBuilt