
Expo
An open-source framework for making universal native apps
4.3•48 reviews•54 shoutouts•317 followers
Build one JavaScript/TypeScript project that runs natively on all your users' devices including Android, iOS, and web.
317 followers
Build one JavaScript/TypeScript project that runs natively on all your users' devices including Android, iOS, and web.
I'm curious how people build local-first apps. I don't need full CRDT support, but more just syncing with a "parent" db (both pulling new data and pushing locally created records).
I see tinybase which feels maybe a bit more powerful than what I need (?).
I also see livestore which feels scary to build on something that new.
Is there a non-hack way to use sqllite and sync to a postgres db?
Basically my criteria in order of importance would be:
1. stays out of my way (easy to deploy, migrate, use)
2. has leverage with types (a standard linter tells me I'm blowing up the app with the code I just wrote)
3. stable (I would ideally just learn a "goto" tool and use that on all projects going forward)
Expo Advantages ✅ Easy to Use – Expo makes it very easy to develop React Native applications without having to fully setup Xcode or Android Studio. Suitable for beginners and teams who want to quickly build prototypes. ✅ Live Reload & Fast Refresh – You can immediately see changes without having to recompile for a long time. ✅ Managed Workflow – Expo provides many built-in APIs such as camera, location, notifications, and many more without having to install additional dependencies. ✅ Cross-Platform – The code written can be run directly on Android, iOS, and Web without many changes. ✅ Expo Go App – Can test applications directly on devices without having to build. Just scan the QR Code! ✅ OTA Updates – Can update applications without having to go through the App Store/Play Store. Expo Disadvantages ❌ Large Application Size – Because it includes many built-in libraries, the application size can be larger than if it was made with React Native bare workflow. ❌ Not All Native Modules Supported – Some specific features (for example, libraries that require native linking) cannot be used in Expo Managed Workflow, so sometimes you have to eject to Bare Workflow. ❌ Customization Limitations – If you want to use a native feature that Expo doesn’t support, you have to eject, which means losing some of Expo’s benefits. Conclusion Expo is great for developers who want to build apps quickly without the hassle of setting up an environment. However, if you need a lot of native customization or want a lighter app, Bare React Native might be a better fit. Bandar Bola
The expo community is doing a fantastic job by continuously improving the OG Expo SDK and all the tooling that it provides. I've been using it since 2020 and it's come a long long way. Also, a long to go as well.