21CTO导读:Electron 时代的 Discord 长期背负内存臃肿的争议,如今官方确认用 Rust + GPUI 重写桌面端。这场架构迁移,不止是换掉一个前端框架,更是打通多端代码复用、从底层改善性能的一次大手术。
它的移动端也将逐步告别 React Native,保留原生 UI 的同时共享 Rust 业务层。两个客户端将在体验一致性和开发成本之间寻找一种美妙的平衡。
当地时间 11月4日,Discord 联合创始人、CTO 斯坦尼斯拉夫・维什涅夫斯基(Stanislav Vishnevskiy)对外确认说,团队正在推进桌面客户端的全面重构工作。
新版桌面客户端将基于 Rust 语言开发,搭配 GPUI 界面框架;移动端不会改成统一的跨平台渲染方案,继续维持原生界面,只是通过 Rust 代码和桌面端共享核心业务逻辑。
现在大家日常使用的 Discord 桌面版,依托 Electron 搭建,底层跑着 Chromium 与 Web 网页技术。
Electron 的优势十分明显,一套代码就能适配 Windows、macOS、Linux 多个系统,降低跨平台维护成本。
但是它的代价同样突出,程序需要附带完整的浏览器运行环境,资源开销一直是用户吐槽最多的地方。
事实上 Discord 内部接触 Rust 的时间并不短,早在 2018 年,Rust 就已经进入公司技术栈,基础设施、语音引擎以及客户端里不少底层组件都已经用 Rust 实现。而这次的计划更进一步,目标是把整个客户端迁移到 Rust,彻底脱离 Electron。
新版界面层选用的 GPUI,是 Zed 编辑器团队自研的 Rust UI 框架,依靠 GPU 完成渲染绘制。按照维什涅夫斯基的说法,用户不用担心上手需要重新适应,新版 Discord 的交互逻辑、视觉样式和现有版本保持一致。只有 YouTube 嵌入、部分活动页面这类需要网页能力的内容,仍然会调用系统自带的 WebView 承载。
移动端的改造路线和桌面端有所区别。Discord 打算慢慢剥离 React Native,保留 iOS、Android 平台原生界面的渲染层,把核心业务逻辑下沉到 Rust 模块,让手机端和桌面端共用同一套 Rust 代码。这种方案既能拿到原生界面流畅度,又可以减少两端重复开发、同步迭代的工作量,持续优化性能。
高内存占用,是 Electron 版 Discord 最突出的痛点之一。
官方内部也曾在 2025 年透露过应对策略:当客户端内存占用突破 4GB,且满足特定条件时,程序会自动重启,释放堆积的内存。在没有内存泄漏的常规场景里,原版 Discord 内存大多控制在 1GB 以内。
根据 Discord 放出的测试截图,基于 Rust 重构后的版本,内存占用仅 290.2MB,对比旧版有很可观的缩减。当然这个数值只是理想测试环境下的参考,实际使用会随着加入服务器数量、语音通话、多媒体功能开启而动态上涨,不会固定维持在这个水平。
这场重构,也代表一类跨平台应用思路的转变:
不再简单依赖 Electron、React Native 这类 “一套 UI 跑全平台” 的方案。
把性能敏感、逻辑复杂的核心交给 Rust,UI 层根据设备特性灵活选择 GPUI、原生控件,兼顾性能、用户体验与开发效率。
对于常年被 Electron 内存问题困扰的 Discord 小伙伴而言,这次更新值得耐心等待~
作者:手扶拖拉斯基
本篇文章为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 微信公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。
请扫描二维码,使用微信支付哦。