Skip to main content

Mobile Development

Prerequisites

Please refer to the Environment Setup guide to set up the development environment.

Development Tools

Mobile apps are built with React Native using Expo. They are written in TypeScript with some Swift and Kotlin native modules. Additional technologies include:

Developing TypeScript Code

If you're only modifying TypeScript code, you don’t need Android Studio or Xcode. Reach out to Shane for access to a development build you can install on your device.

To start the dev server, cd into the mobile directory and run:

yarn start:device

Scan the QR code to launch the development build and load code from your machine.

Hot Reload Issues

Changes to redux-saga can break hot reload. Press r in the terminal or use the device's 3-finger long-press menu to reload.

Developing Native Code

To modify Swift or Kotlin native modules, you’ll need Xcode or Android Studio.

Generate a local native project by running in the mobile directory:

yarn expo prebuild --clean -p android # or "ios"

This creates the android or ios directory for opening in Android Studio/Xcode. Storyteller’s native code lives in the Readium module.

After building the app and loading the Expo dev client, run:

yarn sim:android # or "ios"