핵심 요약
Tauri 3.0 GA로 mobile target 안정화·plugin 모델 정비 후 사내 데스크탑 앱(Electron → Tauri 마이그레이션, MAU 50만)을 6개월 운영. 설치 파일 평균 8MB로 89% 축소, 메모리 사용량 -65%. 단 macOS WebKit과 Windows WebView2 차이 디버깅에 한 달 정도 소요됐다.
1. 무엇이 좋았나
| Electron | Tauri 3.0 | |
|---|---|---|
| 설치 파일 | 72MB | 8MB |
| RAM(아이들) | 240MB | 85MB |
| 콜드 스타트 | 1.4s | 0.6s |
| 업데이트 대역폭/월 | 1.8TB | 0.2TB |
2. 무엇이 어려웠나
WebKit(macOS) ↔ WebView2(Windows) ↔ WebKitGTK(Linux) 차이. CSS @container, View Transitions에서 macOS만 동작 안 하는 케이스 다수. CI에 세 OS 모두 e2e 강제.
3. Sidecar — Rust로 작성한 시스템 기능
// src-tauri/src/main.rs
#[tauri::command]
fn read_clipboard_image() -> Result<String, String> {
// Rust로 네이티브 클립보드 접근
}
이런 IPC 명령으로 OS 기능을 안전하게 호출. Node 네이티브 모듈 빌드 지옥과 작별.
4. 자동 업데이트
Tauri Updater 플러그인 + 서명. 사내는 자체 CDN에 manifest 호스팅. delta 업데이트 미지원이라 전체 다운로드가 매번 발생하지만 8MB라 체감 영향 거의 없음.
5. 모바일 target
3.0부터 iOS/Android 빌드 안정. 단, 웹뷰 앱 외 native UI가 필요하면 여전히 Flutter·React Native가 우세. 우리 케이스는 데스크탑만이라 모바일은 미사용.
6. 보안 — Allowlist 모델
// tauri.conf.json
"allowlist": {
"fs": { "all": false, "readDir": true, "scope": ["$DOCUMENT/MyApp/*"] },
"shell": { "open": true }
}
기본값 deny. 필요한 권한만 명시. Electron의 nodeIntegration 지옥 대비 정신적 부담이 크게 줄었다.
7. Electron에서 옮길지 결정
- 설치 파일 사이즈가 비즈니스 지표(개도국 다운로드, 대기업 IT 정책) → 마이그레이션
- Node 의존 라이브러리가 강하게 박혀 있음 → Electron 유지
- OS별 WebView 차이 디버깅 인력 있음 → Tauri
자주 묻는 질문
Q. 한글 입력기(IME)는? 3.0에서 macOS·Windows IME 모두 안정. 텍스트 에디터 앱 6개월간 IME 관련 사고 0건.

댓글 0