Global Sites
Discord、“イマドキ”な言語「Rust」でアプリ全面刷新へ。メモリ使用量がっつり減りそう
Discordのデスクトップ版およびモバイル版のクライアントを、Rustベースのネイティブアプリケーションとして刷新する方針が明かされた。

Discordの共同創業者兼CTOであるStanislav Vishnevskiy氏は11月5日、Discordのデスクトップ版およびモバイル版のクライアントを、Rustベースのネイティブアプリケーションとして刷新する方針を明かした。近日中にユーザー向けテストへの投入を目指すという。
コミュニケーションアプリDiscordの現在のデスクトップ版クライアントでは、Web技術を用いてデスクトップアプリを構築できるフレームワーク「Electron」が利用されている。Electronはクロスプラットフォーム対応が容易であることなどから、2010年代後半に普及した一方で、アプリケーションのサイズやメモリ消費量が大きいという弱点も存在。現在ではより軽量な後発のフレームワークと比較されることもあるものの、「Visual Studio Code」や「Slack」など依然としてElectronを採用しているプロジェクトは多い。ちなみにDiscordのモバイル版アプリは現在、iOS版・Android版がともにReact Nativeで構築されている。

そんなDiscordでは近年、Rustの採用が進められてきた。RustはMozillaの支援のもとで開発が進められ、現在はオープンソースで開発がおこなわれているプログラミング言語だ。処理速度やメモリ効率、安全性に優れる点が特徴で、Stack Overflowの調査では「most admired language(旧most loved language)」として、2025年まで10年連続で選ばれてきた。Vishnevskiy氏によれば、Discordでは2018年頃からRustの採用を開始し、すでにインフラや音声技術、クライアントの一部がRustで作られているとのこと。
そしてDiscordのデスクトップ版については、ユーザーからはRust製のフレームワーク「Tauri」への移行を求める声が上がっていた。TauriはElectronの代替として注目を集めており、描画に用いるブラウザエンジンであるChromiumをアプリに同梱するElectronに対して、TauriではOS側のWebViewを利用することで、ブラウザエンジンを配布しないことが特徴。これにより、アプリサイズを小さくすることが可能となっている。
とはいえ11月3日にVishnevskiy氏は、Xユーザーへの返信の中で、Tauriの採用を否定。また、Discordが1個ではなく2個のChromiumインスタンスを動かすようになるだろうというXユーザーのジョークに対しては「Or 0(もしくは0個かも)」と述べ、Chromiumからの脱却を示唆。こうした反応からコミュニティでは、Tauriではなく、ブラウザエンジンを用いずにGPUで直接描画をおこなうRust製のGUIフレームワーク「GPUI」の採用を予想する声も一部で上がっていた。
そして今回Vishnevskiy氏によって、改めてElectronを廃止し、Rustベースの構成へと完全に移行することが明かされた。GUIフレームワークとしては、事前の予想にもあったGPUIが実際に使われるとの“答え合わせ”もおこなわれており、大規模な改築になることも予想される。またモバイル版ではネイティブUIを維持しつつ、Rustを通じてデスクトップ版とコードを共有するという。
なおポストに添付されたスクリーンショットでは、Discordが約290MBで動作している様子も映し出されている。どのような動作状況での数値かは不明ながら、これまでDiscordは通常時でも500MBから1GB弱のメモリを消費することがあったため、軽量化に期待できそうだ。
ゲームプレイ中のボイスチャット用途でも使用されているDiscord。メモリ消費量が減ったり、動作速度が向上したりすれば、多くのゲーマーにとって快適度が増しそうだ。近日中にユーザー向けテストへの投入を目指すといい、Discordが今後どのような進化を遂げるのか注目したい。
この記事にはアフィリエイトリンクが含まれる場合があります。


