Discord将以Rust重写客户端并放弃Electron
Discord联合创始人兼CTO Stanislav Vishnevskiy宣布,公司正以Rust重写全平台客户端。Windows测试版名为“Discord Phoenix”,任务管理器显示内存占用约290.2MB;旧版在加入多个服务器后常超过1GB,截图中的新版还同时运行了两个账户。
新版桌面端将移除Electron,移动端也会逐步放弃React Native。官方称其启动更快、交互更流畅,移动版响应速度可能已达到产品当前最佳水平。网页端仍会使用HTML渲染器,但核心逻辑将由WASM承担,而不是JavaScript;正式发布时间未定,团队希望尽快开放测试。
Discord过去长期受内存问题困扰。2025年10月启动Windows专项排查,12月已修复至少9项内存泄漏、死锁和缓冲区溢出问题,但部分用户的占用仍会超过4GB。此前团队将内存占用P95仅降低约5%,还实验过在客户端运行至少1小时、用户离开且未通话、每天最多一次的条件下,于占用超过4GB时自动重启。9月升级Electron 42后,CPU中位数下降约17%,内存中位数却增加约4%;移动端升级React Native后,CPU和启动时间平均下降约5%。
Rust并非临时选择。Discord自2018年起使用Rust,基础设施、语音系统和部分客户端代码已有相关积累。2020年,团队曾将高频读状态服务从Go迁移到Rust,解决大型LRU缓存触发GC、约每两分钟出现延迟峰值的问题,但也承担了异步生态和迁移维护成本。
桌面界面方面,Discord没有选择同样基于Rust的Tauri,而是采用Zed团队开发的GPU加速框架GPUI,并对其进行大量修改,当前版本接近内部私有分支。新客户端将保持原有外观和功能,仅YouTube、Activities等功能使用系统WebView;手机端则保留iOS和Android原生界面,通过Rust共享核心代码。团队还计划与Zed合作,将部分改动回馈上游。
这套方案仍面临风险:Rust不能自动消除业务逻辑泄漏、过大缓存或GPU显存占用,GPUI在输入法、文本选择、窗口管理、无障碍和平台适配方面也不如Chromium成熟,GPU渲染效果还取决于调度、字体、驱动和兼容性。Discord内部此前已用Claude、CLAUDE.md、GitHub Actions及Cloudflare搭建Vibeyard开发平台,将内部应用部署时间从数天或数周缩短至约两分钟;外界猜测重构可能受AI编程推动,但官方尚未确认。
本文基于公开渠道信息整理,内容可能存在不准确或遗漏之处,不代表本站立场,如内容涉及侵权或错误,请联系我们处理。
阅读原文