Skip to main content
Mizu provides ready-to-use templates for mobile development across native and cross-platform frameworks.

Available Templates

# List all mobile templates
mizu new --list-templates mobile
TemplateFrameworkDescription
mobile/iosSwift + SwiftUINative iOS app
mobile/androidKotlin + ComposeNative Android app
mobile/flutterDart + RiverpodCross-platform Flutter
mobile/reactnativeTypeScript + ExpoReact Native app
mobile/pwaReact + ViteProgressive Web App
mobile/kmmKotlin MultiplatformShared Kotlin code
mobile/dotnetC# + .NET MAUICross-platform .NET
mobile/gameUnity + C#Mobile game

Using Templates

Create New Project

mizu new ./my-app --template mobile/ios

With Variables

mizu new ./my-app --template mobile/ios \
  --var name=MyApp \
  --var bundleId=com.example.myapp \
  --var minIOS=16.0

What’s Included

Each template includes:
  • Backend: Complete Mizu server with mobile middleware
  • Mobile App: Pre-configured client with API integration
  • Networking: API client with Mizu headers
  • Authentication: Login/logout flow
  • Push Setup: Push notification configuration
  • Makefile: Common development commands

Template Comparison

FeatureiOSAndroidFlutterRNPWAKMM.NETUnity
LanguageSwiftKotlinDartTSTSKotlinC#C#
UISwiftUIComposeFlutterReactReactNativeMAUIUnity
State@ObservableFlowRiverpodZustandZustandFlowMVVM-
NetworkURLSessionRetrofitDioAxiosFetchKtorHttpClientUnityWebRequest
StorageUserDefaultsDataStoreSharedPrefsAsyncStoragelocalStorage-PreferencesPlayerPrefs
PlatformsiOSAndroidAlliOS/AndroidWebiOS/AndroidAllAll

Template Variables

iOS

VariableDescriptionDefault
nameProject nameDirectory name
bundleIdBundle identifiercom.example.{{name}}
minIOSMinimum iOS version16.0
uiUI framework: swiftui, uikitswiftui

Android

VariableDescriptionDefault
nameProject nameDirectory name
packagePackage namecom.example.{{name}}
minSdkMinimum SDK version26
uiUI framework: compose, viewscompose

Flutter

VariableDescriptionDefault
nameProject nameDirectory name
orgOrganization identifiercom.example
platformsTarget platformsios,android
uiUI framework: material, cupertinomaterial

React Native

VariableDescriptionDefault
nameProject nameDirectory name
bundleIdBundle identifiercom.example.app
platformsTarget platformsios,android
expoUse Expo workflowtrue

PWA

VariableDescriptionDefault
nameProject nameDirectory name
workboxUse Workboxfalse
uiUI framework: css, tailwindcss
pushEnable push notificationstrue

KMM

VariableDescriptionDefault
nameProject nameDirectory name
packagePackage namecom.example.app
platformsTarget platformsandroid,ios
storageLocal storage: none, sqldelightnone

.NET MAUI

VariableDescriptionDefault
nameProject nameDirectory name
namespaceC# namespacename
bundleIdBundle identifiercom.example.app
platformsTarget platformsios,android
navNavigation: shell, plainshell

Unity Game

VariableDescriptionDefault
nameProject nameDirectory name
modeGame mode: 2d, 3d2d
platformsTarget platformsios,android
multiplayerEnable multiplayerfalse
analyticsEnable analyticstrue

Template Structure

Common Backend Structure

All templates include a similar backend:
backend/
β”œβ”€β”€ cmd/server/
β”‚   └── main.go              # Entry point
β”œβ”€β”€ app/server/
β”‚   β”œβ”€β”€ app.go               # App setup with mobile middleware
β”‚   β”œβ”€β”€ config.go            # Configuration
β”‚   β”œβ”€β”€ routes.go            # API routes
β”‚   └── handlers/            # Request handlers
β”œβ”€β”€ go.mod
└── Makefile

Makefile Commands

All templates include:
make dev        # Start development
make build      # Build for production
make clean      # Clean artifacts
make test       # Run tests

Next Steps