Rust로 다시 만든 WhatsApp, 브라우저 없이 1초 만에 열린다
ZapFast: A fast, native WhatsApp client in Rust and egui

ZapFast는 Rust와 egui, fastframe으로 만든 네이티브 WhatsApp 클라이언트다. 브라우저 엔진 없이 whatsapp-rust로 휴대폰과 연결되며, Linux 테스트에서 1초 이내에 실행되고 유휴 RAM은 약 200MB로 WhatsApp Web의 1.13GB와 큰 차이를 보인다. 암호화된 로컬 기록 보관, 여러 번호 전환, 테마와 앱 잠금을 지원하고 Linux·macOS·Windows에서 쓸 수 있다. 다만 비공식 클라이언트라 계정 정지 위험이 있다고 명시한다.
Linux 테스트에서 1초 이내에 열리고 유휴 RAM을 약 200MB 사용했는데, WhatsApp Web은 1.13GB였다.
HN 토론
94- d3Xt3r
> Linux 테스트에서 1초 이내에 열리고 유휴 RAM을 약 200MB 사용합니다
저만 그런가요, 아니면 Rust로 작성된 네이티브 채팅 앱, 본질적으로 휴대폰의 WhatsApp에 대한 원격 인터페이스인데 200MB가 많다고 느끼는 사람이 또 있나요?
예전에 Miranda IM(그리고 초기 버전의 Trillian) 같은 앱들은 여러 플러그인이 동시에 여러 프로토콜과 통신하고 있었음에도 불구하고 RAM을 한 자릿수로만 사용했던 기억이 납니다. 게다가 WhatsApp에는 없는 수많은 고급 기능도 있었죠. 네, 시대가 변했고 소프트웨어가 비대해졌다는 건 알지만, 그래도 200MB는 여전히 좀 과한 느낌입니다.
- codedokode
또한 스크린샷에서 날짜가 어떻게 쓰여 있는지 보고 "2일 전"이 "화요일"보다 훨씬 나을 것 같다고 생각했습니다. 화요일이 며칠 전인지 머릿속으로 계산할 필요가 없으니까요.
- codedokode
Egui는 꽤 나쁜 생각입니다. "즉시 모드" 렌더링을 사용하는데, 이는 마우스가 움직일 때마다 전체 창이 다시 그려진다는 뜻입니다. GPU가 없는 VM에서 PhotoCraft(Rust + egui로 빌드됨)를 실행해 보니 UI가 3fps로 돌아가는 것처럼 느껴졌습니다. egui를 사용한다면 출시 전에 GPU 없이 실행해 보세요.
Egui는 4K 화면에서 쓰기에 확실히 적합하지 않습니다. 임베디드 기기의 작은 화면에만 좋습니다.
왜 모든 의존성을 추적하고 다시 그려야 할 것만 다시 그리는 반응형 UI가 없는 걸까요? (React는 아닙니다. 그것도 모든 변경 시 모든 것을 재계산하지만 다시 그리지는 않습니다).
또한 왜 시각적으로 Telegram의 나쁜 버전처럼 보이나요? 그리고 Telegram은 휴대폰 없이도 실행할 수 있습니다.
- loremdifr
오해하지 마세요, 추가 성능은 좋아합니다. 하지만 모든 대체 WhatsApp 클라이언트는 핵심 기능이 충분히 빠져 있어서 결국 브라우저 버전으로 자주 가야 하고 성가시게 되어 그냥 브라우저를 쓰게 됩니다(싫어요, 정말 정말 성능 좋은 클라이언트를 선호합니다!).
- aeontech
좋아 보이지만... 자격 증명/통신을 어떻게 신뢰할 수 있나요? (개발자에게 반대하는 건 아니고, 원칙적인 문제입니다)