👋 Welcome to my React Native boilerplate project! This starter kit is a labor of love, inspired by the amazing technologies that have fueled my passion for cross-platform app development. This project is based on next-expo-solito from Tamagui project .
This project is a synthesis of several fantastic technologies:
- Tauri: A framework for building desktop apps with web technologies.
- Tamagui: A tool for creating delightful cross-platform apps.
- Solito: A monorepo management system for building crossplateform apps (Expo & Next.js).
- Jotai: Primitive and flexible state management for React
- Storybook: A tool for developing UI components in isolation.
Before diving into this project, make sure you've taken a look at the following resources:
- Getting Started with Tauri
- Jotai introduction
- Storybook for Next.js
- Storybook for React Native Web
- Creating a Tamagui App
- Solito Starter
This project operates as a monorepo and consists of three main packages:
- @my/ui: Handles theming, variants, and more.
- @my/app: Manages the various elements of the application.
- @my/design: Takes care of components and their documentation using Storybook.
To get started, use the following commands:
upgrade:tamagui
: Upgrade Tamagui.upgrade:tamagui:canary
: Upgrade to the Tamagui Canary version.update:browserlist
: Update your browser list.build:types
: Build TypeScript definitions.build:desktop
: Build the desktop application.run:web
: Start the web application.run:web:prod
: Run the production web version.run:mobile
: Run the mobile application.run:desktop
: Run the desktop application.run:storybook
: Launch Storybook for component development.
import { Text as TamaText } from 'tamagui'
import { useLaryVariants } from '@my/ui'
const Foo = () => {
const Text = useLaryVariants<typeof TamaText>(TamaText);
return (
<Text textBold inSuccess>Hi !</Text>
)
}
useLaryVariants
will overload your tamagui components with Lary props, more documentation here .
This project wouldn't be possible without the amazing work these talented individuals and communities:
- @natew for Tamagui
- @nandorojo for Solito
- @dai-shi for Jotai
- @storybookjs for Storybook
- @tauri-apps for Tauri
As an amator enthusiast, I recognize that this project might not adhere to all the best practices of these frameworks. I wholeheartedly welcome your advice and contributions to make this project even better. 😊
Thank you for checking out my React Native boilerplate, and I hope it inspires your own cross-platform development adventures! 🚀🙌
Disclaimer: This project is a labor of love and may not always follow all the best practices of the technologies it uses. Your feedback and guidance are greatly appreciated! 🙏