/skyjacker-native

A (very) partial rebuild of Skyjacker using React Native

Primary LanguageJavaScriptMIT LicenseMIT

Skyjacker Native

Skyjacker is a location-based, augmented reality flight tracking game. The current version available on the AppStore is built using Cordova. The purpose of this repo is to explore React Native as a potential framework for a later build of Skyjacker (or a related app), plus provide code examples to those interested.

This won't run locally for you without the correct API keys. Instead, a demo is available via Expo.io.

Create React Native App

This project was bootstrapped with Create React Native App. This was really quick and easy to do and I had a React Native app running on both an Android and iOS device in minutes using the Expo app. Expo has made it really simple to share the application with others and seems like it would be great for prototyping or early stage development of Skyjacker. It's apparant that at some stage I would have to eject the app from CRNA/Expo in order to add native dependencies. In this case, Expo offers ExpoKit which allows you to continue to access Expo API's after ejecting.

Redux

TODO:

  • Add motivation for including Redux, Thunk and Redux Promise Middleware.
  • Point to examples of testing actions reducers and connected components.

React Navigation

TODO:

  • Add motivation for adding React Navigation.
  • Mention steps for adding a ReplaceCurrentScreen navigation action.
  • Investigate and document custom styled tab navigation bars.
  • Explore moving navigation state to redux store.

Redux Form

TODO:

  • Add motivation for adding Redux Form.
  • Explore sync and async validations, loading and error states.
  • Note about decoupling connected and presentational components with react form. link

Styling

TODO:

  • Mention layout with flexbox, including quirk.
  • Document solution for full screen background image.
  • Describe reusing styles across components.