π Start UI [native] is a opinionated Expo starter repository created & maintained by the BearStudio Team and other contributors. It represents our team's up-to-date stack that we use when creating React Native apps for our clients.
This starter is oriented to use Expo with Expo EAS features to have full access to native code.
StartUI [native] needs StartUI web v2 as API in order to work correctly.
Make sure to have a local/deployed installation of StartUI [web] v2 before using StartUI [native].
- π Expo SDK 52 Beta
- π± Expo EAS
- βοΈ Expo Router 4
- πΏ Ficus UI
- π Formiz
- β Zodios
This app is using Expo Go with Expo development builds. In order to launch the app, you will need to install android and ios tooling:
See https://reactnative.dev/docs/environment-setup?guide=native&platform=android
See https://reactnative.dev/docs/environment-setup?guide=native&platform=ios
Put your env values on .env file. Environment variables inserted on your local machine or on Expo EAS platform will overwrite the variables of .env file.
# Env var used to call api endpoints β generally it will be your start-ui-web api url
API_URL='your api url here'
# Env var used to get the open api file, used to generate zodios client
OPEN_API_URL='your open api api url here'
API_URL=https://demo.start-ui.com/api/rest
OPEN_API_URL=https://demo.start-ui.com/api/openapi.json
# Install dependencies and generate api client
pnpm install
# Then, choose based on the platform you want to dev on:
pnpm android # Launch on your android device if detected, or an Android emulator
pnpm ios # Launch on your iOS device if detected, or an iOS emulator
Start UI Native is equipped with Storybook, enhancing component development with an isolated and interactive environment. Storybook is essential for UI development, allowing you to build and test components independently from the app's main user interface.
Execute the command below to launch Storybook. It toggles an environment variable process.env.STORYBOOK_ENABLED
to true
, activating Storybook mode.
pnpm storybook
Conversely, starting your app normally will not set process.env.STORYBOOK_ENABLED
, which means the app will not enter Storybook mode.
pnpm start
Instead of a separate stories
directory, we create stories alongside our components. For each component, create a ComponentName.stories.tsx
file in the same directory as the component. Write your stories within this file to showcase and test the different states and props of the component. This approach keeps relevant stories and components tightly coupled and easily maintainable.
EAS Build is a hosted service for building app binaries for your Expo and React Native projects.