"Cinder는 Photoshop이 강제해서 native로 갔어. Bonfire에는 그런 총이 머리에 겨눠져 있지 않아. 그래서 일부러 web에 남아."
강제하는 조건이 정하게 둬
Cinder가 native Tauri 앱인 건 취향이 아니라 필요 때문이었어. Photoshop 옆에서 픽셀을 읽으려면 native 셸과 WSS 브리지가 필요했지. Photoshop이 그 강제 조건이었던 거야. Bonfire에서 물어야 할 건 'web과 native 중 어느 쪽이 더 멋지지?'가 아냐. '이 앱을 native로 밀어붙이는 강제 조건이 있나?'가 맞는 질문이야. 답은 아니오야. Bonfire의 어떤 기능도 native 셸을 요구하지 않아.
왜 여기서는 web이 옳은 기본값인가
native를 강제하는 조건이 없다면 이 앱에서는 web 스택의 장점이 그대로 살아나.
- Pippa Sidekick이 web 스택에 자연스럽게 bind돼. Cinder에 WSS 브리지가 필요했던 건 native 앱이었기 때문이지만 Bonfire에는 그 비용이 없어.
- Tailscale 덕분에 별도 설치 없이 어떤 기기에서든 fleet 전체에 접근할 수 있어.
- 반복이 빨라. HMR이 rebuild 없이 편집을 즉시 반영해.
web에도 저지연 라이브 모니터링이나 OS 수준 상주가 어렵다는 약점이 있어. 하지만 둘 다 v1 범위 밖이야. 아직 쓰지 않을 약점에 미리 비용을 낼 이유가 없어.
게다가 가역적이야
이 결정을 가볍게 내릴 수 있는 까닭은 되돌릴 수 있기 때문이야. 오늘은 Konva를 web의 react-konva로 쓰고, 나중에 native 자유가 정말 필요해지면 같은 front를 Tauri 셸로 감쌀 수 있어. 캔버스 코드는 그대로 따라와. 그러니 일방통행 문 앞에서 끙끙대는 결정이 아냐. web이 채우지 못하는 실제 필요가 나타날 때까지 유지하는 값싼 기본값이야. 되돌릴 수 있는 결정에는 빠르고 가벼운 결심이면 충분해. 되돌릴 수 있는 선택을 붙들고 오래 고민하는 것 자체가 낭비야.