- Easier in the long run
- You're able to ship a far more featureful application if you deal with media and/or VoIP
- Passing apples reviews seem to be faster if you ship the modules yourself in my experience
Can you expand on this? How does Expo prevent or make it harder for you to ship media- and VOIP-related features?
To use your own extensions you have to eject/or start a new application with their own native libraries. For most of what expo does you can use the unimodules libraries, they're quite good in my experience.
Unless I'm misunderstanding what you're saying, this isn't true at all. At $day_job we have an Expo app with a custom native library and it works just fine; you just have to write an Expo-specific adapter for it and can't use Expo Go in that case.
Use Expo because you like the extra features it ships with, but not because you have problems with native dependencies. The React Native built-in experience is pretty much perfect to start with.
The native dependencies are 100% solved by prebuilds, CNG, and config plugins.
I've only used Expo during hackathons and university to quickly get something running, but for actual production apps it's should be avoided imo.
But another commentator wrote "yet another SaaS with questionable payment tiers" about Expo (https://news.ycombinator.com/item?id=41937886) which makes me already not want to use it if I ever touch React Native again. Not sure why a SaaS would be involved at all in this process.
The anti expo sentiment is almost all based on the old days where you had to eject to use native dependencies. Expo is amazing now.
expo has solved the native dependencies issue, and it's a fantastic way to build an app.
this is one of the few hills i'm willing to die on. expo is great for the RN community.
also you can download my RN expo app here: www.shopcats.app.