본문으로 바로가기

2단계

프로젝트 셋업

6회 조회

목차

Rust + Node + (옵션) Android Studio. 초기 설치가 좀 있지만 한 번만.

1. Rust 설치

# macOS / Linux
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Windows
# https://rustup.rs 에서 installer

rustc --version     # 1.75+ 권장
cargo --version

2. Node + pnpm

# Node 22+ (24 LTS 권장)
pnpm --version || corepack enable

3. 시스템 의존성

OS 설치
macOS xcode-select --install
Windows WebView2 Runtime
Linux sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev

4. create-tauri-app

pnpm create tauri-app
# App name: my-app
# Package manager: pnpm
# UI flavor: React - TypeScript
# Template: Vite
cd my-app
pnpm install

src/ (React) + src-tauri/ (Rust) 가 생깁니다.

5. 개발 실행

pnpm tauri dev

데스크탑 창이 뜨면서 Vite HMR + Rust 빌드 watch 가 동시에 돕니다.

6. 프로젝트 구조

my-app/
├── src/                    # React 프론트엔드
│   ├── App.tsx
│   └── main.tsx
├── src-tauri/              # Rust 백엔드
│   ├── Cargo.toml
│   ├── src/
│   │   ├── main.rs
│   │   └── lib.rs
│   ├── icons/
│   ├── tauri.conf.json
│   └── capabilities/
│       └── default.json    # 권한 매니페스트
├── package.json
├── vite.config.ts
└── README.md

7. tauri.conf.json 주요 항목

{
  "productName": "my-app",
  "identifier": "com.example.myapp",
  "app": {
    "windows": [{ "title": "my-app", "width": 1000, "height": 700 }]
  },
  "build": {
    "frontendDist": "../dist",
    "devUrl": "http://localhost:5173"
  },
  "bundle": {
    "active": true,
    "targets": "all"
  }
}

identifiercom.yourdomain.appname 형식. 나중에 변경이 어려우니 초기에 확정.

8. 빌드 (데스크탑)

pnpm tauri build
  • macOS: .dmg / .app
  • Windows: .msi / .exe
  • Linux: .deb · .AppImage

서명은 각 OS 별 별도 단계 (Apple notarization · Windows code signing).

하고픈 말

첫 빌드는 Rust 컴파일 때문에 3 ~ 10 분 걸립니다. 이후에는 캐시로 30 초 ~ 1 분. 초반 인내만 있으면 반복 개발은 빠릅니다.

Next

  • 03-ipc-command-event