# Setup

### Why React Native?

* It is cross platform (Android and iOS phones can use my app)
* It is very similar to React (React is arguably the most popular framework for web development right now, skills can be easily transferrable between them)

### Setting up React Native (Expo)

> Expo is a set of tools and services built around React Native and, while it has many features, the most relevant feature for us right now is that it can get you writing a React Native app within minutes. You will only need a recent version of Node.js and a phone or emulator.

In other words, Expo abstracts away a lot of the nitty gritty details of dealing with React Native. You can focus on building the app instead of spending time on configurations.

#### Setting up Expo Go

Follow the instructions [here](https://reactnative.dev/docs/environment-setup).

#### Setting up Android emulator

Follow the instructions [here](https://docs.expo.dev/workflow/android-studio-emulator/).

### Getting started

1. Open the project in the IDE of your choice (eg. VSCode)
2. Open a new terminal window
3. Run `npx expo start`
4. Press `i` to bring up your iOS emulator (only for MacOS) or press `a` to bring up your Android emulator
5. Try editing some text and see the changes in real time!
