Differences between eject / bare and deploy ejected workflows


I’m using Expo since quite a while and i’m a little bit confused about the differences between expoKit / eject / bare workfows etc.

I’m currently using the managed workflow and it’s working just fine (especially the OTA updates which are very great). But i need to monetize my app and as far as i know it’s not possible with expo managed workflow (even with the incoming expo-iap-module).

My questions are :

  • What are the differences between eject / expoKit / bare workflow ?
  • Is it possible to still use OTA updates without managed workflow ?
  • How do you handle your apps updates without managed workflow ? (i heard about tools like fastlane ? what do you think of it ?)
  • How do you handle push notifications without managed workflow ?

Thank you for your help !

Hi @squaleon!

Grabbing a response to a similar question for your first question

currently when you eject, you get an “ExpoKit” project. this is a bit different than what the “bare” workflow available to you when you initialize your project. basically, ExpoKit is like including the Expo client in your app but rather than having the Expo client app where you can sign in and open your apps in development, it just points directly to your app. this has some nice benefits - everything works roughly the same as when you were in the Expo client. but it also has some downsides (discussed in the ExpoKit 2019 blogpost ). bare apps, on the other hand, are just regular react-native apps with as few or as many of the expo sdk packages installed as you like.

  1. Yeah, you can use OTA updates with Expokit, but not with the bare workflow yet

3 Not super familiar with fastlane, so I can’t give you more information on how best to handle js updates in bare

4 Similar to answer for number 3, not super familiar with it. You’d have to go with a third party library for push notifications in both bare & expokit

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.