"Cinder 는 Photoshop 이 강제해서 native 로 갔어. Bonfire 한텐 머리에 댄 총이 없어 — 그래서 일부러 web 에 남아."
forcing function 이 정하게 둬
Cinder 는 native Tauri 앱이고, 그건 취향이 아니라 강제였어. Photoshop 옆에 살며 픽셀을 읽으려고 Cinder 는 native 셸과 WSS 브리지가 필요했어. Photoshop 이 forcing function 이었어. Bonfire 한테 맞는 질문은 'web 이냐 native 냐, 뭐가 더 멋져?' 가 아니라 '이걸 native 로 미는 forcing function 이 있나?' 야. 답은 아니오. Bonfire 의 어떤 것도 native 셸을 요구하지 않아.
왜 여기선 web 이 옳은 기본값인가
forcing function 이 없으면, 이 앱한텐 web 스택이 자기 장점으로 이겨:
- Pippa Sidekick 이 자연스럽게 bind 해 web 스택에 — Cinder 가 WSS 브리지가 필요했던 건 정확히 native 라서였어; Bonfire 는 아냐.
- Tailscale 이 설치 없이 아무 기기에서 fleet 전체 접근을 줘.
- 반복이 빨라 — HMR 이 편집을 즉시 반영해, rebuild 없이.
web 의 진짜 약점 — 저지연 라이브 모니터링, OS 수준 상주 — 는 진짜지만, v1 범위 밖이야. 안 쓸 약점에 돈 안 내.
게다가 가역적이야
이 결정이 부담이 적은 건 정확히 되돌릴 수 있어서야. Konva 는 오늘 web 에서 react-konva 로 돌아; native 자유가 언젠가 필수가 되면, 그 같은 react-konva front 를 나중에 Tauri 셸로 감쌀 수 있어 — 캔버스 코드가 따라와. 그러니 이건 끙끙대는 일방통행 문이 아냐. 진짜 forcing function(web 이 진짜 못 채우는 필요)이 나타날 때까지 쥐는 싼 기본값(web)이야. 가역적 결정은 빠르고 가벼운 commitment 를 받을 자격이 있어; 되돌릴 수 있는 걸 끙끙대는 게 그 자체로 낭비야.