After react-native started making waves the community built up a platform around the library to further abstract away
the mobile os specific aspects, like deployment.
Expo wraps 90% of the painful aspects of react-native coming with about 30 native modules built in and offering easy
access to them from your app. The idea is you can set up the expo-cli and bootstrap an app in minutes and hook it up
to your device. This is far easier than the early days of react-native where you were forced to gain a good
understanding of at least the build process in order to deploy to your devices.
The way you can get started is by installing the expo-cli
npm init -y # create an npm workspace
npm i -g expo-cli
npx expo init coffeenut
We also need to install the expo-cli in the created project folder as the cli interface will manage the local
simulators and we need to have expo in scope.
If you plan to run on a simulator you need to have simulators configured for the desired platform by either XCode and the osx commandline tools or
Android Studio and the ANDROID_HOME environment configured for the android tools.
If you haven’t done this prior to the workshop let’s take a break and work through this: Android and/or iOS
Now that we are all set up to run the app let’s go ahead and start up the app. Your package.json should look something
like this providing quick npm scripts for the most useful actions
{
...
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject"
},
...
}
Let’s run the app
npm run ios # for iOS
npm run android # for android
We should be able to see our app running in the simulator of choice.