Need advice about which tool to choose?Ask the StackShare community!
Expo vs Capacitor: What are the differences?
Expo: Making React Native Easier. Exponent lets web developers build truly native apps that work across both iOS and Android by writing them once in just JavaScript; Capacitor: The Native Bridge for Cross-Platform Web Apps. Invoke Native SDKs on iOS, Android, Electron, and the Web with one code base. Optimized for Ionic Framework apps, or use with any web app framework.`.
Expo and Capacitor can be primarily classified as "Cross-Platform Mobile Development" tools.
Expo and Capacitor are both open source tools. Expo with 9.3K GitHub stars and 1.39K forks on GitHub appears to be more popular than Capacitor with 3.79K GitHub stars and 462 GitHub forks.
Zulip, Lido, and MEGA Limited are some of the popular companies that use Expo, whereas Capacitor is used by Hybrid Heroes, SWORD Health, and Nowru. Expo has a broader approval, being mentioned in 63 company stacks & 186 developers stacks; compared to Capacitor, which is listed in 5 company stacks and 3 developer stacks.
Hello guys, I am new here. So, if I posted without specific guidelines, please ignore.
Basically, I am an iOS developer and developing native apps for the last three years. Recently, I started learning React Native to develop apps for both platforms. If anyone out there knows any useful resources that will become a better react native developer.
#newbie

Well, the first resource I would recommend you is my upcoming book by Packt Publishing, "Professional React Native", but it's due late January next year :) . Now jokes aside (the book's real by the way :) ), the easiest way to build a iOS/Android/Web app with React Native is to do: npm install -g expo-cli expo init some-project cd some-project expo eject
You might have heard of Expo, but trust me, stay away from it. Expo highest value is that it's an already pre-configured 3 platforms environment, but if you don't eject then you're vendor-locked to what Expo has to offer in iOS and Android, which is very poor compared to going full React Native on these platforms, they can't even handle Google Sign In properly and by the way, even if your app is 10 lines of code your app size will be over 40 MB if you don't eject, yep it's that bad, plus the performance is regular and the loading times slow, not to mention that you're stuck with their build service which the free tier makes you wait for hours for a free build slot. It's important to note that when ejecting you don't lose the Web, you simply do expo start --web to start your dev environment and expo build:web to build a static website that you can serve with any web server. Regarding state management, don't bother with "lifting state up" philosophies mixed with Context API to manage your state, lifting state is a great pattern and helps your codebase, Context is great to avoid prop-drilling, but NEVER mix them to achieve app-wide state management, for that, simply go for Redux or MobX, the hype is all about Redux, but I consider MobX far better in many aspects. However, as you're getting new into this I would recommend you start with Redux AND PLEASE grab yourself npm install @manaflair/redux-batch so that you can batch updates and don't bring your app to a crawl. Forget that "connect HOC" thing with React-Redux, don't bother for a second with it, go with Hooks and useSelector and useDispatch and the likes, it will make your code SO much cleaner and smaller. Adopt clean and new Hooks philosophy, avoid writing class components as much as possible and write function components augmented with Hooks.
Pros of Capacitor
- Full compatible with ios1
- Modern1
Pros of Expo
- Free14
- Hot Reload12
- Common ios and android app setup9
- Easy to learn8
- Streamlined6
- Open Source6
- Builds into a React Native app4
- PWA supported1
- Plugins for web use with Next.js1