Przejdź do treści

Discord porzuci pamięciożerny framework Electron – nowa aplikacja przepisana na język Rust zużywa tylko 290 MB pamięci

2 minuty czytania

To w sumie dość zabawne, że światowy kryzys pamięci spowodował, że coraz więcej firm – w tym Discord – zaczyna zwracać uwagę nad optymalizacją oprogramowania pod kątem zużycia pamięci.

Wesprzyj redakcję i dodaj PC Format do ulubionych źródeł w Google. To dla nas bardzo ważne!

Discord w końcu rezygnuje z wieloplatformowego frameworka Electron. Pozwala on programistom tworzyć aplikacje komputerowe przy użyciu technologii internetowych. Niestety aplikacje internetowe oparte na Electronie są znane głównie z tego, że zużywają bardzo dużo zasobów systemowych. W przypadku popularnej platformy do komunikacji problem jest już tak duży, że firma w końcu ogłosiła przeniesienie swojej aplikacji komputerowej w całości na Rust – nowoczesny język programowania zaprojektowany z myślą o szybkości działania i bezpieczeństwie pamięci.

Discord, który zużywa zaledwie 290 MB pamięci RAM, zamiast wielu GB? Staje się rzeczywistością po przepisaniu aplikacji na język programowania Rust

Stanislav Vishnevskiy – współzałożyciel i dyrektor ds. technologii platformy Discord – udostępnił zdjęcie klienta Discord dla systemu Windows, który zużywa zaledwie 290 MB pamięci RAM. To wyraźna poprawa względem obecnej wersji, która już przy uczestnictwie w zaledwie kilku serwerach potrafi zużywać ponad 1 GB i więcej pamięci. Wszystko to jest w dużej części winą wykorzystanego do jej zbudowania frameworka Electron.

Jesteśmy pionierami w stosowaniu języka Rust od 2018 roku, a znaczna część naszej infrastruktury, technologii głosowej, a nawet część obecnego klienta jest już napisana w Rustie – naszym świętym Graalem było przenieślenie na ten język całego klienta. Oznacza to rezygnację z Electronu i React Native; wersja mobilna zachowuje natywny interfejs użytkownika, ale współdzieli kod aplikacji z wersją desktopową za pośrednictwem Rustu. Mamy nadzieję, że wkrótce™ uda nam się rozpocząć testy z udziałem użytkowników. (I to nie jest Tauri, tylko GPUI – więc gratulacje wszystkim za trafne domysły.)

Stanislav Vishnevskiy, współzałożyciel i dyrektor ds. technologii platformy Discord

W przeciwieństwie do WebView, który w założeniu współdzieli zasoby z przeglądarką Microsoft Edge, każda aplikacja oparta na Electronie zawiera własną kopię Chromium. Aplikacja oparta na Electronie nie musi z definicji zużywać kilku gigabajtów pamięci RAM, ale omawiana tutaj jedna z najpopularniejszych platform do komunikacji jest prawdopodobnie także jedną z najbardziej zasobożernych i najmniej zoptymalizowanych aplikacji opartych na Electronie.

Dyrektor ds. technologii twierdzi, że firma „ma nadzieję wkrótce rozpocząć testy z udziałem użytkowników”

Nie wiemy jeszcze, kiedy Discord zostanie całkowicie przeniesiony na język Rust, ale Stanislav Vishnevskiy twierdzi, że firma „ma nadzieję wkrótce rozpocząć testy z udziałem użytkowników”. Warto zaznaczyć, że mówimy tu o znacznie większym wyzwaniu inżynieryjnym, niż mogłoby się wydawać. Klient Discorda jest niezwykle rozbudowany – oferuje funkcje głosowe, wideo, udostępnianie ekranu, nakładki, zaawansowane elementy osadzone oraz działania w ramach aplikacji, z których wszystkie opierają się obecnie na technologii internetowej. Przebudowa tego wszystkiego w sposób natywny to rodzaj projektu, który rzadko udaje się zrealizować – pochłania przy tym mnóstwo zasobów i czasu. Biorąc jednak pod uwagę zasięg platformy (i światowe problemy z zasobami pamięci), decyzja ta może okazać się jedną z najlepszych w jej historii.

Wesprzyj redakcję i dodaj PC Format do ulubionych źródeł w Google. To dla nas bardzo ważne!

0 komentarzy

Zostaw komentarz