An Expo starter kit for your native and web applications
Expo Uni Starter leverages the awesomeness of Expo and the genius of Tailwind to enable you to target mobile devices as well as web browsers, while keeping the same code base.
Available targets with no code changes:
- iOS Native app
- Android Native app
- Web for mobile
- Web for desktop computer
A browser
- An Apple computer (or anything running macOS)
- XCode from the Mac App Store
- Android Studio
- Follow installation instructions, and download an SDK
- Create an AVD (emulator)
- Install
expo-cli
globally - Clone this repository
- Remove the origin:
git remote rm origin
- Add your own remote:
git remote add origin $YOUR_REMOTE
- Push to your remote
- Install dependencies (
yarn
,npm install
, or your favorite package manager)
yarn start
Then press either:
w
: to start web development in the browseri
: to start iOS development in a simulatora
: to start Android development in an emulator (you might need to have it started)
- Expo Web and Native tooling
- React Native
- react-native-tailwindcss Easy styling
- react-navigation Web/Native navigation
- zustand (with immer) Application state management
- react-hook-form Form management for Web and Native
Code that might change depending of the application business or brand goes in src
.
TODO: GraphQL/Rest layer ?
.
├── history -- web address bar and history management
├── src -- actual app code goes here
│ ├── components
│ │ ├── form -- Form related components (inputs, checkboxes, buttons, etc)
│ │ ├── layout -- Layout related components (stack)
│ │ ├── portal -- Portal (see doc), no reason to touch this
│ │ └── typography -- Typography related components
│ ├── navigators -- Navigation, see react-navigation documentation
│ └── stores -- application state management
├── state -- core state management
└── tw -- tw styling lib