Upgrade to Pro — share decks privately, control downloads, hide ads and more …

10 Things You Didn't Know You Could Do with Expo

Simon Sturmer
September 24, 2020

10 Things You Didn't Know You Could Do with Expo

This is a talk I gave on Sep 24, 2020 at React Native Bay Area.

Simon Sturmer

September 24, 2020


  1. What is Expo and why would I use it? •

    a set of tooling for RN • ...like all the stuff that should be in RN core but isn’t • Really tho, it’s much more than that... • Build services, web support, online playground, app runner
  2. 3.5 yrs ago in Singapore I gave a talk on

    Expo at SingaporeJS back in 2017...
  3. 1. Code your app on Windows, Linux, Chromebook, etc 2.

    Preview on your physical iPhone 3. Build using Expo's free build servers 4. Deploy to TestFlight or App Store* Powered by Expo's awesome (and free) build services.
  4. No network, no problem • Full SQLite database • File

    Storage • Biometric authentication • Local notifications
  5. Web has first-class support out of the box. You probably

    know that Expo supports web. but did you know we have: • Camera Support • QR Scanning • GestureHandler • Dark Mode • Image Manipulation • Accelerometer
  6. Expo and React Navigation include baked-in support for Shared Elements.

    Combined with Reanimated, you can build really immersive experiences with this. Go checkout Catalin's awesome examples and courses (and back him on Patreon).
  7. This topic really deserves a whole talk of its own.

    Reanimated brought high performance native-accelerated animations. Reanimated v2-alpha just landed in Expo this week. Reanimated brought to you by: @kmagiera and Software Mansion
  8. You don't need to eject from Expo to use Apple

    Auth. It's easy to implement and a stellar user experience.
  9. Compile time branching is built-in and simple: • .web.js •

    .ios.js • .android.js • .expo.js • .electron.js You can share 95% of code and branch for each platform.
  10. 1. Set an env var in your expo start command.

    2. Use a custom entry point for your app.json
  11. Last year, Expo announced a major architecture that splits each

    module into a standalone package that can be used even in a non-Expo project. Pull in almost any Expo module to your bare RN project.
  12. It's also worth noting that you can use Expo Web

    even in a bare RN project. In fact, I've used Expo Web in pure web projects too.
  13. There are so many great Expo features that we haven't

    even touched on. Runners up: • SSR • ExpoGL • Background Audio • Screen Capture • Face Detector • Haptics • Image Manipulation • Printing