"Electron 은 앱마다 브라우저 통째를 실어. Tauri 는 OS 가 이미 가진 걸 빌려. 가벼움이 핵심이야."
아빠가 도망치는 bloat
Rekindle 이 존재하는 이유는 범용 에디터가 무겁기 때문이야. 그러니 그 껍데기가 선반에서 제일 무거운 선택일 수는 없지. Electron 은 앱마다 Chromium 을 통째로 싣고 다녀. 네 코드를 한 줄도 쓰기 전에 150MB 가 기본으로 깔리는 거야. 그리고 그 무게가 네 머신에 깔린 Electron 앱 수만큼 곱해져. 앱마다 브라우저 사본을 하나씩 돌리고 있으니까. '지금 쓰는 것보다 가볍다' 가 핵심인 도구가 앱마다 브라우저를 싣는다면 그건 자멸이야.
webview 를 빌려, 싣지 마
Tauri 는 Rekindle 이 다른 데서 계속 쓰는 그 수를 그대로 둬. 번들하지 말고 빌린다는 것. Chromium 을 싣는 대신 운영체제가 이미 제공하는 webview 를 쓰고, macOS 면 WKWebView 지, 네이티브 작업은 Rust 코어에 맡겨. 그래서 바이너리가 한 자릿수 MB 로 유지돼.
Electron Tauri
webview Chromium 번들 OS webview 빌림 (WKWebView)
기준 크기 앱당 ~150MB+ 한 자릿수 MB
백엔드 Node.js Rust
철학 전부 실음 OS 가 이미 가진 걸 빌림
편집 코어로 CodeMirror 를 빌린 것과 똑같은 본능이야. 플랫폼이 이미 갖고 있는 무거운 상품은 다시 짓지도, 다시 싣지도 말라는 것. Cinder 도 같은 이유로 이 결정을 내렸고, Rekindle 은 그 스택을 거의 그대로 물려받았어. 형제끼리 스택을 맞추는 데는 추가 비용이 안 드니까.
'편의를 위한' Electron fallback 은 없어
솔깃한 배신은 늘 각주 형태로 와. '편의를 위해서, 호환성도 넓힐 겸 Electron 빌드도 하나 만들자' 같은 말. 하지 마. 가벼움은 보험 삼아 양다리 걸칠 부가 요소가 아니라 이 프로젝트의 thesis 야. Electron fallback 은 이 프로젝트가 도망치려던 그 bloat 를 조용히 다시 들여오고, 일단 생기면 저항이 제일 적은 길이 돼버려. 어떤 원칙은 편리한 예외를 거부해야만 살아남는데, 이게 딱 그런 원칙이야.