ZapFast на Rust запускает WhatsApp за секунду и ест в пять раз меньше памяти, чем веб-версия
ZapFast: A fast, native WhatsApp client in Rust and egui

ZapFast — это нативный клиент WhatsApp для Linux, macOS и Windows, написанный на Rust с использованием egui и fastframe. Он подключается к телефону как companion-устройство через whatsapp-rust и обходится без браузерного движка. В тесте на Linux приложение открывается менее чем за секунду и занимает около 200 МБ оперативной памяти в простое, тогда как WhatsApp Web требует 1,13 ГБ. Поддерживаются шифрованный архив истории, несколько номеров, голосовые сообщения, опросы и темы оформления.
В нашем тесте на Linux он открывается менее чем за секунду и занимает около 200 МБ оперативной памяти в простое против 1,13 ГБ у WhatsApp Web.
- d3Xt3r
> В нашем тесте на Linux оно открывается меньше чем за секунду и использует около 200 МБ оперативной памяти в режиме простоя
Только мне кажется, или кто-то ещё считает, что 200 МБ — это много для нативного чат-приложения, написанного на Rust, которое по сути является удалённым интерфейсом для WhatsApp на вашем телефоне?
Помню, раньше такие приложения, как Miranda IM (и ранние версии Trillian), использовали всего несколько мегабайт памяти, даже когда у вас было несколько плагинов, общающихся по нескольким протоколам одновременно, и при этом имелось куча продвинутых функций, которых нет в WhatsApp. Да, я понимаю, что времена изменились и софт стал раздутым и т.д., но 200 МБ всё ещё кажутся слегка чрезмерными.
- codedokode
Ещё я посмотрел, как в скриншоте написаны даты, и подумал, что «2 дня назад» было бы намного лучше, чем «вторник». Потому что не нужно в уме вычислять, сколько дней назад был вторник.
- codedokode
Egui — довольно плохая идея. Он использует рендеринг в «immediate mode», что означает, что всё окно перерисовывается при каждом движении мыши. Я запускал PhotoCraft (написанный на Rust + egui) в виртуальной машине без GPU, и интерфейс ощущался так, будто работает на 3 кадрах в секунду. Если вы используете egui, попробуйте запустить его без GPU перед релизом.
Egui определённо не то, что вы хотите использовать на 4K-экране. Он хорош только для крошечных экранов встраиваемых устройств.
Почему нет реактивного UI, который отслеживает все зависимости и перерисовывает только то, что нужно перерисовать? (не React, он тоже пересчитывает (но не перерисовывает) всё при каждом изменении).
И ещё почему он визуально выглядит как плохая версия Telegram? И Telegram может работать без присутствия телефона.
- loremdifr
Не поймите меня неправильно, мне нравится дополнительная производительность, но у каждого альтернативного клиента WhatsApp одна и та же проблема: в нём не хватает достаточно основных функций, так что вам приходится достаточно часто заходить в браузерную версию, и это раздражает, и в итоге я просто использую браузер (который я ненавижу, я бы очень-очень предпочёл производительный клиент!)
- aeontech
Выглядит отлично, но... как можно доверять ему учётные данные/переписку? (ничего против разработчика, скорее дело в принципе)