Discord przebudowuje swojego klienta desktopowego w języku Rust

Discord przygotowuje się do odejścia od Electrona. Współzałożyciel i dyrektor ds. technologii Stanislav Vishnevskiy potwierdził, że firma przebudowuje swojego klienta desktopowego w języku Rust, a za interfejs będzie odpowiadać technologia GPUI.
Wczesny zrzut ekranu z systemu Windows 11 przedstawia nową aplikację jako Discord Phoenix i pokazuje, że zużywa ona zaledwie 290,2 MB pamięci RAM.

Wiele popularnych aplikacji dla systemu Windows 11—w tym Outlook, Teams, WhatsApp i Discord—korzysta z zasobożernych technologii, takich jak Electron i WebView2. Electron wzbudza szczególne kontrowersje, ponieważ umożliwia firmom pakowanie aplikacji internetowych i udostępnianie ich na wielu platformach przy stosunkowo niewielkim dodatkowym nakładzie pracy programistycznej.
Obecny klient Discorda może zużywać gigabajty pamięci RAM
W przeciwieństwie do aplikacji opartych na WebView, które mogą współdzielić zasoby z MS Edge, każda aplikacja Electron zawiera własną kopię Chromium. Katalog instalacyjny Discorda w folderze AppData systemu Windows zawiera komponenty związane z Chromium oraz pliki pomocnicze.

Podobne pliki można znaleźć w katalogach instalacyjnych przeglądarek takich jak MS Edge i Brave, a także aplikacji opartych na Electronie, w tym Facebook Messengera.
Aplikacje Electron nie muszą zużywać kilku gigabajtów pamięci, ale Discord należy do bardziej zasobożernych przykładów. Aplikacja działająca w tle może wykorzystywać od 1 GB do 2 GB pamięci RAM, nawet gdy pozostaje bezczynna.

Zużycie pamięci może nadal rosnąć, gdy użytkownicy otwierają serwery i korzystają z aplikacji. Discord przyznał, że jego klient dla systemu Windows może osiągać zużycie na poziomie 4 GB pamięci RAM. W odpowiedzi firma testowała automatyczne ponowne uruchamianie klienta za każdym razem, gdy zużycie pamięci przekraczało ten próg, choć było to jedynie tymczasowe obejście problemu, a nie pełne rozwiązanie.
W grudniu 2025 roku pracownik Discorda potwierdził, że firma testowała ponowne uruchamianie aplikacji po przekroczeniu 4 GB zużycia pamięci, zaznaczając jednocześnie, że podczas normalnego użytkowania powinno ono pozostawać poniżej 1 GB. Firma poinformowała również, że niektórzy użytkownicy odnotowali niższe zużycie pamięci niż wcześniej, a pomiar pamięci dla 95. percentyla poprawił się o około 5%.
Discord poinformował, że dochodzenie ujawniło dodatkowe problemy dotyczące platformy, systemu operacyjnego, sterowników i warstwy sprzętowej. Firma współpracowała z odpowiednimi partnerami, aby dostarczyć powtarzalne przypadki testowe i opracować poprawki.
Wczesne wyniki Discord Phoenix wydają się obiecujące, choć do ustalenia, jak jego wydajność wypada na tle obecnego klienta Electron, konieczne będą bezpośrednie testy.
Rust i GPUI zastąpią Electrona
Vishnevskiy niedawno ujawnił, że trwają prace nad dużą aktualizacją klienta desktopowego, i potwierdził, że nie będzie on już oparty na Electronie ani Chromium.
Wyjaśnił, że Discord używa języka Rust od 2018 roku w swojej infrastrukturze, technologii głosowej oraz części obecnego klienta. Przebudowanie całego klienta w języku Rust pozostaje nadrzędnym celem firmy.
Według Vishnevskiya zmiana ta oznacza, że Electron i React Native zostaną usunięte. Aplikacje mobilne Discorda zachowają natywne interfejsy, a jednocześnie będą współdzielić kod aplikacji z klientem desktopowym za pośrednictwem języka Rust.
Potwierdził również, że Discord używa GPUI zamiast Tauri. To rozróżnienie jest istotne, ponieważ Tauri, choć obsługuje język Rust, zazwyczaj wyświetla interfejsy internetowe za pośrednictwem systemowego komponentu webview. Zastosowanie GPUI potwierdza, że Discord nie zastępuje po prostu Electrona innym frameworkiem opartym na webview.
Przeprojektowany klient ma również wyeliminować obecny ekran „Uruchamianie” Discorda. Ponieważ nowa aplikacja nie będzie już musiała wczytywać bibliotek Electrona podczas uruchamiania, powinna uruchamiać się szybciej.

