Cài đặt môi trường
Prerequisites
| Tool | Mục đích | Cài đặt |
|---|---|---|
| Bun | Package manager | curl -fsSL https://bun.sh/install | bash |
| Rust | Toolchain | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh |
| Xcode | iOS development | App Store |
| Android Studio | Android development | developer.android.com |
Quick Start
bash
bun install
bun run tauri dev # Desktop developmentWorkflow Scripts
| Script | Mô tả | Khi nào dùng |
|---|---|---|
./generate.sh | Xóa src/gen/, chạy bunx buf generate | Sau khi thay đổi file .proto |
./dev.sh | Set TAURI_DEV_HOST, chạy tauri ios dev trên device | Phát triển iOS hàng ngày |
./install.sh | Build debug IPA, install lên device | Test debug build |
./release.sh | Build release IPA, install lên device | Test production build |
Luôn dùng scripts
Scripts đã config sẵn device ID, bundle ID, và env vars. Không cần nhớ raw commands.
Raw Commands
| Command | Mô tả |
|---|---|
bun run tauri dev | Desktop dev server |
bun run tauri build | Desktop production build |
bun run tauri ios dev | iOS simulator |
bun run tauri android dev | Android emulator |
Environment Variables
| Variable | Mô tả | Default |
|---|---|---|
VITE_API_URL | URL của gRPC server | http://localhost:3000 |
TAURI_DEV_HOST | IP để iOS device kết nối dev server | - |
Proto Codegen
Sau khi thay đổi file .proto:
bash
./generate.sh # Regenerate TypeScript types từ protoFlow: server/proto/mymo/v1/mymo.proto → buf generate → src/gen/mymo/v1/mymo_pb.ts
Type Checking
bash
vue-tsc --noEmit # Frontend TypeScript
cargo clippy # Server Rust