Expo

https://docs.expo.dev

APIs

Environment

https://docs.expo.dev/workflow/development-mode/

  • __DEV__ is truthy in dev mode and falsy in prod mode
  • You can toggle prod mode in web UI
  • Publish is prod mode

Upgrading

  • Update the version of expo in package.json
  • npm install -g expo-cli
  • expo-cli upgrade
  • expo-cli doctor

Terminology

https://docs.expo.dev/introduction/managed-vs-bare/

  • “Bare workflow” - React Native CLI
  • “Managed workflow” - Expo Go app, write only JS
  • “Config plugins” - manage adding native code to the managed workflow
  • “EAS Build” - builds an app (by default on their servers)
  • “Running EAS builds on your own infrastructure” - local build
  • “Client”: A native binary which is built with Xcode or Android Studio. Expo Go is an example of a client that is used to develop React Native apps. https://docs.expo.dev/development/introduction/
  • “Update”: A bundle of your application JavaScript code and assets (images, video, fonts, etc.). An update may be served from your local computer with Expo CLI, embedded in the binary by EAS Build, or hosted on a publicly available server.
  • “Development Build”: Development builds of your app are Debug builds containing the expo-dev-client package. A client. https://docs.expo.dev/development/getting-started/
    • https://docs.expo.dev/build-reference/simulators/

Clear Cache

  • yarn start -c
  • rm -fr ./ios
  • In Xcode, “Clean Build Folder Immediately” (necessary even if you remove the iOS folder, as the build cache is reused)