디스코드, Electron 버리고 Rust로 갈아타니 시작 화면 사라지고 RAM 70% 줄어
- 디스코드가 Electron 클라이언트를 Rust 기반 새 클라이언트로 교체하면서 시작 화면이 사라지고, 계정 두 개를 동시에 로그인한 상태에서도 RAM 사용량이 약 70% 줄었다고 windowslatest가 보도함
- 새 클라이언트는 Zed 에디터의 GUI 라이브러리인 GPUI를 쓰고 모바일 쪽은 WebAssembly로 대응해 Windows, Linux, macOS, iOS, Android를 한 코드베이스로 덮는 구조라고 해커뉴스 댓글이 설명함
- 댓글 다수는 Electron의 존재 이유가 한 팀이 한 코드로 여러 플랫폼을 지원하는 비용 절감이었는데 기사가 그 트레이드오프를 다루지 않는다고 지적함
- 반론으로 2010년대에는 웹캠이나 멀티미디어까지 감당하는 크로스플랫폼 대안이 Qt나 JVM뿐이었지만, 지금은 Rust가 의존성을 정적 컴파일로 들고 와서 계산이 달라졌다는 의견이 나옴
- 대규모 프로덕션 검증 전 통계라 이르다는 회의론도 있어, 인라인 영상이나 웹 프리뷰 같은 기능이 필요해지면 결국 브라우저 엔진을 다시 넣어야 한다는 지적임
Hacker News 의견들
Electron이 느리다는 건 초창기부터 알려진 얘기임. VS Code가 처음 나왔을 때도 그 소리 나왔고. 근데 Electron의 존재 이유는 한 팀이 한 코드로 여러 플랫폼을 커버하는 비용 절감인데, 이 기사는 그 부분을 하나도 안 다룸.
VS Code가 아니라 Atom 얘기지. VS Code 나왔을 때 다들 Atom보다 빠르다고 난리였음. Sublime 쓰던 몇 명만 빼고.
그 시절엔 대안이 없었음. 웹캠 하나 붙이려면 크로미움 통째로 번들하는 게 제일 쌌고, Qt는 패키징 지옥이고 JVM 데스크톱은 못 생겼음. 지금은 Rust가 정적 컴파일로 의존성을 다 들고 오니까 상황이 다름.
근데 이 디스코드 Rust 앱은 Mint나 아이패드에서 안 돌아감. 포팅 없이는. 잘 만들 수는 있는데 공짜도 유연하지도 않음.
기사가 답을 안 준다는 말은 이제 지겹다. LLM이 크로스플랫폼 네이티브 관리 비용을 확 내려서 iOS나 macOS 전문가 따로 없어도 되는 계산이 예전 같지 않음.
GPUI는 Zed에서 온 GUI 라이브러리고 wasm 쓰면 모바일까지 감. 뭐가 더 필요한지 모르겠음.
LLM 덕에 네이티브로 다시 쓰는 앱들이 나오면 좋겠음. 근데 Dear ImGui로 C++ 하자는 건 별로임. 크로미움만 못하고 늘 타협임.
팀즈랑 새 아웃룩은 메모리를 적게 쓰는 것처럼 보이는데, 창이 Edge 이름으로 잡혀서 그런 거임. WebView2 쓰면 다 그렇고 타우리도 같은 방식으로 자랑함.
프로덕션에서 대규모로 굴려보기 전에 '디스코드가 증명했다'고 하긴 이름. 인라인 영상이나 웹 프리뷰 넣기 시작하면 결국 브라우저 엔진 다시 넣어야 함.
계정 두 개 얘기만 계속 하는데 그 주장을 뒷받침하는 자료가 없음. 그리고 웹으로 쓰면 됨. 그거 없어지지만 않으면 됨.
시그널은 아직 Electron이라 FreeBSD 포트가 의존성 지옥임. Zed도 GPU 없는 VDI에서는 못 씀. 승자 정하기는 이름.
요즘 앱 시작이 느린 것에 너무 익숙해짐. Task Slinger는 누르면 이미 켜져 있던 것처럼 창만 뜸.