ZapFast、Rust製ネイティブWhatsAppクライアントがアイドル時200MBで起動1秒未満
ZapFast: A fast, native WhatsApp client in Rust and egui

ZapFastはRustとegui、fastframeで作られたWhatsAppクライアントで、ブラウザエンジンを一切使わない。スマホをコンパニオンデバイスとしてリンクし、Linuxでのテストでは起動が1秒未満、アイドル時RAMは約200MB。WhatsApp Webの1.13GBと比べて大幅に軽い。履歴は暗号化アーカイブとしてローカルに保存され、複数番号の切り替えやテーマ変更にも対応する。ただし非公式クライアントのため、利用は自己責任となる。
ZapFastは非公式クライアントであり、WhatsAppやMetaとは提携していません。非公式クライアントの使用はWhatsAppの利用規約に違反する可能性があり、アカウントが停止される恐れがあります。自己責任でご利用ください。
HNでの議論
94- d3Xt3r
> 私たちのLinuxテストでは、1秒未満で起動し、アイドル時のRAM使用量は約200MBでした
気のせいだろうか、それとも他の誰かも、Rustで書かれたネイティブチャットアプリにしては200MBは多すぎると感じるだろうか?しかもこれは本質的に、スマホ上のWhatsAppへのリモートインターフェースに過ぎないのに。
昔は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
素晴らしく見えるけど…認証情報や通信をどうやって信頼すればいいんだ?(開発者に恨みはない、むしろ原理的な話だ)