# 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!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.nushackers.org/orbital/react-native/setup.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
