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.
How to iterate on your app faster with Expo
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.
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.
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.
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.
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
“head of product at Expo”
0:06inExpo Isn't a Hobby Tool Anymore: The New App AwardsYouTube Verified2 sources· Talk
- featureExpo 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
- featureExpo: 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
- featureExpo 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
- featureExpo 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
- featureExpo Modules: Can build apps that include custom native code
“you can build an app with any native code.”
YouTube Unverified1 source· Talk
- featureExpo 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
- featureExpo 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





