This module contains an addon that can be used to interact with the appetize.io emulator. Currently, it lets you rotate the emulator left or right, take screenshots, and change the device that is being emulated.

View on Github

Storybook Native

All Contributors

Storybook Native is an extension of the normal web storybook that uses appetize.io to render your mobile application in an emulator that can be interacted with from your browser. It allows you to use many of the features that are available in the web storybook, such as addons, controls, etc.

It also supports using Storybook as a local development environment to develop Android and iOS apps/components, without the need for using appetize.io.

Installation

Before using this, ensure that you have installed NodeJS

If you want to use this module to render an emulator as a React component, follow the instructions here. This is recommended if you are already familiar with React and Storybook, or if you want to use features such as addons and controls.

If you want to use this module as a build tool that generates stories from metadata, follow the instructions here. This package supports limited variations of controls generation. This is recommended if you do not want to write any React code, and you will only have to write some basic JavaScript code. If you use this package, you will not have to install any extra Storybook dependencies, as they will already be included.

Configuring your mobile application

Before using this module, your mobile application must be set up to support switching between stories. There are detailed instructions on this here

Uploading your mobile application

After you have modified your application to support launch parameters or query parameters, you must upload your application to appetize.io. After the upload, you will receive a public key that can be used with Storybook Native to view and interact with your application directly from Storybook.

Setting up Storybook

Once your application is uploaded to appetize.io, you can begin setting up Storybook Native. The details for this can be found here

Examples

Examples of how to use this module as both a build tool and as a component library can be found in the examples folder. The app folder inside each example contains the source code of the application the example is for.

More example static storybooks can be found here

Local app development

Details on how to test changes that you make to your mobile application to support features such as controls can be found here

Migrating from version 1 to version 2

A full migration guide for breaking changes can be found here

Development in this repo

  • Clone this repo
  • Run yarn to install dependencies
  • yarn build && cd examples/flutter && yarn start
  • In a new tab, run yarn build whenever changes are made to any of the packages inside of the packages/ folder

Contributors ✨

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!