"무거운 프로그램 옆에 하루 종일 열려 사는 앱은 자원 hog 일 수 없어. footprint 이 구현 디테일이길 멈추고 제품이 뭔지의 일부가 돼."
'가벼움' 이 선택이길 멈출 때
열고, 쓰고, 닫는 툴엔, 자원 footprint 이 거의 안 중요해 — 디테일이야. 근데 Cinder 는 사이드카야: 포토샵 옆에 창작 세션 내내, 한 번에 몇 시간씩 열려 있어, 포토샵 자체가 이미 진지한 메모리를 먹는 동안. 그 역할에선, footprint 이 나중에 최적화할 디테일이 아니야. 제품 정의의 일부야. 무거운 사이드카는 전체 셋업을 굼뜨게 느껴지게 하고, 아티스트가 조용히 안 열게 돼.
Electron 의 유혹
웹 기술로 크로스플랫폼 데스크톱 앱 짓는 친숙한 방법은 Electron 이야 — 모든 앱에 full 브라우저 엔진을 묶어. 잘 다져졌고, 잘 문서화됐고, 대부분의 개발자가 이미 알아. 그 친숙함이 진짜 끌림이야. 근데 각 Electron 앱이 자기 무거운 런타임을 싣고, 이미 무거운 호스트 옆 하루 종일 사이드카엔, 그 무게가 제품의 존재 이유를 직접 약화시켜.
Tauri 랑 진짜 Rust core
선택은 더 가벼운 native shell 이었어: 브라우저를 묶는 대신 운영체제 자기 web view 를 쓰는 framework, native 행동을 위한 진짜 Rust core 를 밑에. 그게 footprint 을 사이드카 역할을 존중할 만큼 작게 유지해. Rust core 는 장식이 아니야 — 윈도우 행동, 파일시스템 staging, 웹 전용 wrapper 가 나쁘게 처리하는 native 관심사를 소유해. shell 이 가볍고 그리고 native 레이어가 진짜야. 이걸 이해만 말고 직접 짓고 싶으면, Tauri Quest 가 native shell 을 처음부터 끝까지 걷고 Rust Quest 가 core 가 쓰인 언어를 가르쳐 — 이 레슨은 왜, 걔 둘은 어떻게.
정직하게 유지하는 fallback 룰
이 선택을 지키는 규율이 있어: 더 무겁고 친숙한 옵션은 더 가벼운 쪽의 진짜, 입증된 blocker 후에만 fallback 으로 허락돼 — 더 가벼운 게 낯설다는 이유로 절대 X 아님. 낯섦은 학습 비용이지 blocker 가 아니야. 이 룰이 '이거 어렵고 잘 몰라' 가 '이거 안 돼' 인 척하는 걸 막아. 더 가벼운 스택이 진짜로 필수적인 걸 못 하면, fallback 하고; 그냥 아직 안 배웠으면, 배워.