npm install @storybook/native-addon
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.
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.
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 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.
- Android storybook with controls
- Flutter storybook with controls
- Cross platform storybook
- iOS storybook with deep linking
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 buildwhenever changes are made to any of the packages inside of the
Thanks goes to these wonderful people (emoji key):
💻 📖 💡
This project follows the all-contributors specification. Contributions of any kind welcome!