Today I wanted to talk a little bit about Expo. From Docs: Expo is a set of tools and services for building, deploying, and quickly iterating on native iOS, Android, and web apps from the same codebase.
Expo Allows you work on your React Native Apps inside a browser through Snacks, also it allows you to run the apps on your mobile phone by downloading the Expo app and running it inside the Expo app. It is really an awesome tool which is great for introduction to React Native world without needing to install Android Studio, XCode and other necessary tools needed for developing apps without Expo.
So why you would even want to not use Expo and go for the React Native CLI way of building apps ? Because Expo is using only JavaScript and it has a limited capability of linking packages which requires from you adding something to the native side of your application.
I've been working with React Native for 2 years now and I've been using only React Native CLI and most of the times it's because I am using different packages which connects to the native part of the apps, but aren't supported by Expo, but sometimes it's just because I got used to this approach.
That's why I want to change things a little bit for my personal projects and I'm now learning a little bit more on how to use Expo with all of it's SDK's features. Expo is great for sharing code while learning - I can share my app through Snack and you can open it inside browser to look up the code and live, clickable presentation of it.
Expo is really amazing tool and I think I've been ignoring it for too long. I only scratched a surface on this topic and I'll definately write some kind of longer article on it. For anyone interested in learning more, go tothe docs. 🙂
September 07, 2019