# Technologies Used

The components of the App are built using the core components of [React Native](https://github.com/facebook/react-native). The theme also constantly incorporates various other latest technologies.

* [React Native](#react-native)
* [Expo](#nativebase)
* [React Navigation](#nativebase-1)

### [React Native](https://github.com/facebook/react-native) <a href="#react-native" id="react-native"></a>

React Native helps in making the development work easier and allowing the developers to focus on the core app features in every new release. It is the fastest-developing mobile app development that essentially permits you to create an isolated product with often outcomes. The hymn of React Native — **learn once, write anywhere**. React Native takes charge of the view controllers and programatically generates native views using javascript. This means that you can have all the speed and power of a native application, with the ease of development that comes with React.

### [Expo](https://expo.io/) <a href="#nativebase" id="nativebase"></a>

[Expo](https://expo.io/) is used to make react native applications. It provides a set of tools that simplify the development and testing of React Native app and arms you with the components of users interface and services that are usually available in third-party native React Native components. With Expo you can find all of them in Expo SDK.

[**OLO**](https://listing-nb.gitbook.io/olo/customer-app/introduction) is build using [Expo](https://expo.io/) it is powered with  [Expo SDK](https://docs.expo.io/versions/latest/sdk/overview/) to give you access to your device capabilities and the Expo services to handle the heavy lifting of building your app binary and uploading it to the store, all without you touching Xcode or Android Studio. With the "bare" workflow, we also speed up your development with the [Expo SDK](https://docs.expo.io/versions/latest/sdk/overview/) and React Native, and you have full control over your iOS and Android projects.

### [React Navigation](https://reactnavigation.org/) <a href="#nativebase" id="nativebase"></a>

React Navigation 5.x  is used for routing and navigation in React Native apps. Navigator has some common elements which OLO uses.

* **Bottom Tabs**\
  It's used to make a Bottom Tab navigators where a user navigate to different screen from bottom tabs.<br>

* **Material  Top Tabs** \
  It's used to make a Top Tab navigators where a user navigate to different screen from top tabs.

* **Stack Navigator**\
  Stack Navigator stacks screens on top of each other and only one screen is shown at a time<br>

* **Navigation Container**\
  Navigation Container are responsible for managing your app state and linking your top-level navigator to the app environment.


---

# 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://listing-nb.gitbook.io/olo/customer-app/technologies-used.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.
