I want to make an App using React Native so I did some research and found lots of people use Expo to build their apps. What I don’t understand is, why? What do you get out of Expo that you don’t already have in React Native. It seems to me that it’s just another layer on top of everything. It seems like an unnecessary middleware that adds unnecessary complexity to the project.
Avoiding having to muck around with Xcode and Android Studio is a huge advantage. My list of prerequisite installs and configurations is 3 times longer for my non-Managed workflow apps. Anybody who has ever spent an entire day on a single Gradle error can appreciate the benefit.
OTA JavaScript updates save me about a million hours a year.
Even if you don’t use Managed workflow, the Expo SDK or some equivalent is necessary for virtually any app. If you need to handle permissions, use the photo roll or camera or filesystem, check device constants, access Keychain, and a list of a million other things that all apps need to do at least some of, you need something beyond stock RN. With Expo, that’s all in one SDK that can also be added to any “bare” RN project.