Hacker News
ZapFast: A fast, native WhatsApp client in Rust and egui(github.com)
21 points by handfuloflight 3 hours ago | 10 comments
[–] codedokode 18 minutes ago
Egui is pretty bad idea. It uses "immediate mode" rendering which means whole window is redrawn on every mouse move. I ran PhotoCraft (built in Rust + egui) in a VM wihout a GPU and the UI felt like it was running on 3 fps. If you use egui, try running it without a GPU before releasing.

Egui is definitely not what you want to use on a 4K screen. It is only good for tiny screens of embedded devices.

Why there is no reactive UI that tracks all dependencies and redraws only what needs to be redrawn? (not React, it also re-calculates (but not redraws) everything on every change).

Also why does it visually look like bad version of Telegram? And Telegram can run without a phone present.

[–] fastball 16 minutes ago
React doesn't re-calc on every change either if you use memoization and such properly.
[–] codedokode 3 minutes ago
To use memoization you must use immutable structures (otherwise React is unable to detect changes) which are a pain to use and are slow if not designed properly. Do not believe me, try designing for example an algorithm that accepts a huge immutable sorted list with keys, a large sorted list of bulk deletes/inserts and produces a new sorted list with minimum operations. I made 2 or 3 prototypes and they still are not good and not even working properly.

In my book, a good UI framework simply attaches to a mutable model made of arbitrary objects, detect changes and displays it with minimum number of operations. Doesn't require to use any proxies or immutable data or store data in components. Shouldn't be difficult. Why nobody made it, I do not understand.

[–] tombh 49 minutes ago
In their own README:

> Using an unofficial client may be against WhatsApp's terms of service and could get an account suspended.

Same for all of these unofficial clients.

[–] cube00 37 minutes ago
It's irresponsible that the warning is hidden down in "Acknowledgements" and if you go via the homepage to download there's no warning at all.
[–] jedbrooke 44 minutes ago
It’s really a shame that all of these unofficial clients are like this. APIs are APIs, if they’re on the public internet why can’t anybody call them? If there’s potential for abuse then that should be secured server side anyway, since needing a unofficial client isn’t going to stop hackers
[–] atonse 41 minutes ago
Dammit. I installed it, it worked beautifully, and now I don't want to risk it.
[–] loremdifr 9 minutes ago
dont get me wrong, I like the extra performance, but every single alternative whatsapp client has the same issue where it's missing enough core features that you end up needing to go to the browser version often enough to be a nuisance and I end up just using the browser instead (which I hate, I really really would prefer a performant client instead!)
[–] aeontech 33 minutes ago
Looks great, but... how can one trust it with credentials/communication? (nothing against the developer, more the principle of the thing)
[–] nianzhibai 26 minutes ago
It's a bit basic. I installed it and then uninstalled it.