"Tauri는 Chromium을 안 보내서 큰 크기 전투를 이미 널 위해 이겼어. 나머지는 애초에 작은 바이너리를 미세 조정하는 거야."
제일 큰 승리는 이미 공짜야
관점을 유지해: Tauri 앱이 수백 MB가 아니라 메가 단위인 이유는 브라우저 엔진을 안 번들해서야. 그 구조적 결정이 95% 승리고, Tauri를 골라서 공짜로 얻었어. 아래는 다 이미 작은 바이너리에서 마지막 한 톨을 짜내는 거야 — 다듬어진 릴리스엔 할 가치 있지만, 메인 이벤트로 착각하지 마.
Cargo 릴리스 프로파일
남은 제일 큰 레버는 Cargo.toml의 Rust [profile.release]야. link-time 최적화 켜기(lto = true), codegen unit을 하나로 줄이기(컴파일 느림, 출력 작고/빠름), 심볼 스트립(strip = true), 크기 최적화(opt-level = "s"나 "z"), panic 시 abort(panic = "abort")를 합치면 바이너리를 의미 있게 줄여. 컴파일 시간을 더 날씬한 릴리스랑 거래해 — 릴리스는 드물게 빌드하니 괜찮아.
프론트엔드 잊지 마
번들된 웹 에셋도 앱 크기에 들어가. 웹 작업의 같은 프론트엔드 규율이 적용돼: Vite가 tree-shake하고 code-split하게 두고, 안 쓰는 의존성 떨구고, 이미지 압축하고, 앱이 쓰는 것만 내. 그리고 기본 거부 플러그인 습관 유지해 — 끌어오는 모든 플러그인이랑 기능이 바이너리에 더해지니, 보안 위해 유지한 날씬한 capabilities 파일이 크기 이득으로도 이중 역할을 해. 빡빡한 부여, 빡빡한 바이너리.