# Technologies

## Technologies Used <a href="#technologies-used" id="technologies-used"></a>

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

* React Native
* NativeBase v2.x
* Redux
* React Navigation

#### [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.

#### [Native Base](https://nativebase.io/) <a href="#native-base" id="native-base"></a>

NativeBase is an open source framework from the team of [StrapMobile](https://strapmobile.com/). This framework enable developers to build high-quality mobile apps using [React Native](https://github.com/facebook/react-native) iOS and Android apps with a fusion of [ES6](https://github.com/lukehoban/es6features). NativeBase builds a layer on top of React Native that provides you with basic set of components for mobile application development. The applications stack of components is built using native UI components and because of that, there are no compromises with the User Experience of the applications. NativeBase is targeted specially on the look and feel, and UI interplay of your app. NativeBase without a doubt fits in well with mobile applications which cut downs one huge part of your app - The Front end.

**Quick links to NativeBase**

* [GitHub](https://github.com/GeekyAnts/NativeBase)
* [NativeBase Components](http://docs.nativebase.io/Components.html#Components)
* [Documentation](http://docs.nativebase.io/)
* [Blogs](https://blog.nativebase.io/)

[**Redux**](https://redux.js.org/)

*Redux* is a predictable state container for JavaScript apps. *Redux* makes it easy to manage the state of your application. Another way of looking at this - it helps you manage the data you display and how you respond to user actions.

### React Navigation <a href="#react-navigation" id="react-navigation"></a>

Navigators allow you to define your application's navigation structure. Navigators also render common elements such as headers and tab bars which you can configure.

* **Stack Navigator** Renders one screen at a time and provides transitions between screens. Each new screen is put on the top of the stack and going back removes a screen from the top of the stack.
* **Tab Navigator** Renders a tab bar with a TabRouter that lets the user switch between several screens
* **Drawer Navigator** Provides a drawer that slides in from the left of the screen
