Trend Report · 2026-11-06 · 科技 · 约 7 分钟读完 · Haowu Lab 出品
Discord 的 Rust 重写为什么突然火了
一张 290MB 早期截图,让 Discord 多年的 Rust 迁移突然出圈。
为什么突然火了
- 01
Discord CTO Stanislav Vishnevskiy 在一手公告中确认:桌面客户端正用 Rust 和 GPUI 重建,GPUI 来自 Zed 编辑器团队。
- 02
Windows Latest 把早期版本的 290.2MB 与现有客户端接近 4GB 的数字放在一起传播,但两者没有被展示为同机器、同任务的对比。
- 03
Discord 早在 2020 年就把 Read States 服务从 Go 迁到 Rust,原因是垃圾回收停顿会周期性推高延迟。
- 04
Hacker News 的讨论很快超出内存数字,开发者关心辅助功能、原生控件、平台适配,以及新界面框架是否会让生态进一步分裂。
一条技术公告能迅速出圈,靠的是极其直观的反差:许多人从早开到晚的聊天软件、长期积累的“占内存”印象,再配上一个小得多的任务管理器数字。The Verge 与 IT Home 报道了 Discord 桌面端弃用 Electron 的消息,Windows Latest 提到的 290.2MB 则让架构变化变成了一张容易转发的图。
但如果只把它理解为“一张截图逼着 Discord 重写”,就把时间顺序看反了。Discord 使用 Rust 至少已有数年;GPUI 背后的 Zed 团队又有人参与过 Atom,而 Atom Shell 正是 Electron 的起点。真正有意思的是,同一条桌面软件技术谱系,一条分支把网页技术带进无数客户端,另一条分支后来决定摆脱浏览器运行时。现在,Discord 把这两条分支接到了一起。
290MB 与 4GB 不能直接相除
290.2MB 来自公告传播期间展示的早期构建,约 4GB 则描述另一种情况下的现有 Windows 客户端。公开材料没有证明两者使用相同硬件、相同服务器数量、相同通话状态、相同缓存与运行时长,也没有统一进程统计口径。因此,把两个数字直接相除,再得出内存下降超过九成的结论,证据并不够。
这不代表内存问题只是错觉。Electron 把 Chromium 浏览器引擎与 Node.js 一起带进桌面应用,应用自己的功能尚未计算,底层运行时就已经存在。但客户端占用也不会只由框架决定:语音或视频通话、大量服务器、动态内容、缓存、多进程拆分,都可能改变最终数字。换成 Rust 并不会让这些工作凭空消失。
更稳妥的理解是,Discord 认为新的客户端底座有机会改善资源占用与响应表现,并愿意为此承担重写成本。早期数字说明团队正在朝这个方向推进,却不是每位用户未来都稳定在 290MB 的承诺。真正有说服力的比较,需要接近正式发布的版本、可重复的任务和清楚的进程统计方式。
这次讨论还有一个更大的背景:内存正成为科技产业越来越醒目的约束,AI 内存超级周期梳理了这条变化。并不是说内存价格促使 Discord 做出决定,而是当硬件资源再次受到关注时,用户对臃肿桌面软件的耐心也更少了。老问题遇上了新语境,传播力自然不同。
脉络时间线
- 2013-03Atom Shell 起步
GitHub 为 Atom 编辑器搭建桌面外壳,让网页界面获得桌面能力;Electron 官方历史把自身源头追溯到这里。
- 2015-04Atom Shell 改名 Electron
这套 Chromium 与 Node.js 运行时被开放给更多应用复用,Discord 后来成为最有知名度的用户之一。
- 2020-02Rust 已在 Discord 解决过问题
Read States 服务从 Go 改写到 Rust,针对的是垃圾回收造成的周期性延迟尖峰,而不是追逐语言热度。
- 2022-08Android 开发路线收拢
重建后的 Android 客户端采用 React Native,以便与 iOS 更一致地推进功能,也说明跨平台并不只有网页外壳一种办法。
- 2023Zed 解释为什么重新开始
Zed 团队回顾 Atom 的架构限制,说明为何用 Rust 构建 GPUI,而不是继续在原有网页技术底座上迭代。
- 2026-11Discord 公布 GPUI 重写
CTO Stanislav Vishnevskiy 公开桌面端迁移方向,早期截图与 Electron 对比随后把它推向更大的技术社区。
来龙去脉:Atom 分出的两条路线
Electron 当年解决的是交付难题
在 Electron 普及之前,要同时做好 Windows、macOS 和 Linux 应用,往往意味着面对三套界面工具与平台行为。Electron 给出的答案很直接:沿用开发者熟悉的网页技术,自带确定的浏览器引擎,大部分界面代码可以复用。Electron 十周年的官方回顾也明确把这段历史连接到 Atom Shell。
Discord 与这套方案天然契合。它本来就有网页产品,界面迭代快,用户又希望不同系统里的体验尽量一致。Chromium 和 Node.js 让这种一致性更容易实现。代价不只是安装包或任务管理器里的一个数字,而是让一个浏览器取向的运行时,长期承载一款许多人从不主动关闭的通信软件。
Zed 的“重新开始”叙述提供了另一面。团队成员曾参与 Atom,后来认为原有架构限制了想达到的性能,于是用 Rust 构建 Zed 与 GPUI,让界面通过 GPU 加速绘制。Zed 走到 1.0,至少说明 GPUI 已支撑真实桌面产品,而不是停留在演示项目;但编辑器的成熟不等于 Discord 所需的功能已经自动齐全。
Discord 的 Rust 经验并非临时补课
2020 年的 Discord 工程博客很关键。当时的问题非常具体:Go 的垃圾回收器会让 Read States 服务周期性停顿,形成延迟尖峰。团队用 Rust 重写后,把垃圾回收这一因素移除了,并观察到对应改善。这是一次围绕明确瓶颈做出的迁移,而非因为 Rust 在社区里流行就全面换栈。
当然,一个后台服务与完整桌面客户端不可同日而语。后者还包括语音通话、直播、悬浮层、辅助功能、自动更新,以及多年累积的平台细节。但旧项目证明 Discord 内部已有 Rust 工程经验。今天的决定更像把用过的工具扩展到新问题,而不是第一次接触这门语言。
2022 年的 Android 改造则补上了另一块拼图。Discord 用 React Native 让 Android 与 iOS 的功能开发更一致,却没有因此把所有界面都变成网页。此次公布的思路同样区分共享 Rust 应用核心与原生移动界面。所谓“跨平台”,核心是复用工程成果;Electron、React Native 和 GPUI 的差别,在于各自选择共享到哪一层。
底层究竟改了什么
- 现有桌面底座
- Electron:Chromium + Node.js
- 公布的新方向
- Rust 应用核心 + GPUI
- 疯传的早期数字
- 290.2MB,缺少同条件语境
- 此前 Rust 节点
- 2020 年 Read States
- 移动端思路
- 共享核心,保留原生界面
- 正式发布时间
- 公开材料尚未确定
Rust 与 GPUI 并不是同一个层面的替换。Rust 关系到编程语言、内存管理方式和应用核心;GPUI 关系到界面怎样组织与绘制。弃用 Electron 因而不是把一种语言机械换成另一种语言,而是要重建消息列表、设置页、通话按钮等所有元素通向屏幕的那一层。
这既是机会,也是工作量所在。量身搭建的技术栈能减少不需要的运行时负担,让团队更细致地控制性能;与此同时,成熟浏览器过去代劳的许多细小行为,也需要重新接住。文字输入、屏幕阅读器、高对比度设置、窗口管理、媒体权限,都不是界面完成后再补的装饰。对通信工具来说,它们就是功能本身。
长期影响更大的或许是共享核心。如果产品逻辑能够统一,桌面与移动界面又分别遵循所在平台的交互方式,Discord 就有机会减少重复开发,同时不再复制浏览器外壳的高度一致性。不过,公告描述的是方向。能否做到,仍要看后续实现,而不是从框架名称直接推出结果。
各方怎么说
把项目描述为使用 GPUI 的 Rust 重建,同时通过共享应用核心与原生移动界面复用工程成果,而不是把同一套网页界面拉伸到所有设备。
回顾 Atom 的架构限制,认为继续在同一底座上迭代已无法实现目标,因此转向 Zed 与基于 Rust 的 GPUI。
说明 Go 版 Read States 服务受到垃圾回收延迟尖峰影响,Rust 针对这一具体问题提供了解法,同时团队也讨论了采用较新语言的取舍。
Hacker News 的价值在于,它没有把内存当成唯一坐标。有人欢迎桌面软件不再捆绑完整浏览器运行时;也有人追问 GPUI 能否接住辅助功能与熟悉的平台行为,或者新的界面工具是否会让桌面生态更加分散。
这些都应该留待实现回答,而不是提前判定胜负。Electron 不必然低效,原生代码也不天然节省资源。Discord 的特殊之处是规模:单个用户只改善一点,乘上大量长时间在线的客户端,总量可能很可观;反过来,一个常见平台行为缺失,也可能立刻影响许多社区。
接下来真正该看什么
后续节点都很具体:哪些操作系统先收到新客户端,旧功能如何对齐,悬浮层与通话怎样迁移,辅助功能如何覆盖。外部比较也需要分清空闲与通话、刚启动与长时间运行、单进程与应用总占用,不能再用两张孤立的截图补齐缺失条件。
GPUI 自身也会受到关注。编辑器与面向海量用户的聊天客户端,是两种分发规模。如果迁移顺利,Discord 会让更多团队第一次认真研究这套框架;如果遇到困难,同样能说明替换成熟跨平台运行时不仅是绘制界面的问题,更是组织、兼容与长期维护的问题。
所以,目前站得住的结论不是“Discord 已把内存降低九成”,而是一家有多年 Rust 经验的公司,公开决定更换桌面客户端的核心底座;它选择的框架,还意外地把故事带回 Atom。截图解释了为什么大家此刻看见,技术谱系才解释了这件事为什么值得理解。
常见问题
现在的 Electron 桌面版已经下架了吗?
没有。公告说的是正在进行的重建,不是现有客户端立即消失。本文引用的公开材料尚未确定最终发布时间与完整平台切换安排。
290.2MB 能代表未来正式版的占用吗?
不能。它是早期构建的数字,与约 4GB 的现有客户端数字没有形成同任务、同条件的对照。通话、服务器、缓存、运行时长和进程统计方式都会影响实际占用。
Rust 和 GPUI 是一回事吗?
不是。Rust 是应用使用的编程语言,GPUI 是 Zed 团队开发的 Rust 界面框架。Discord 的决定同时涉及应用核心和桌面界面层,两者不能混为一谈。
这是否意味着 Discord 放弃跨平台开发?
不是。公布的方向仍通过 Rust 应用核心共享工程成果,并保留原生移动界面。变化在于共享到哪一层、桌面界面怎样绘制,而不是各平台从此完全独立重写。
更多解读
Cybertruck 停产风波为什么突然火了
特斯拉计划在 2027 年中逐步停掉 Cybertruck,不是现在就停产。百万预订为何只变成约 7 万辆估算销量,产线又为何让给 Cybercab?
科技扣子企业版下线是什么?一文看懂来龙去脉
扣子企业版下线不等于扣子关停:19.3%的公有云份额第一,对应的却是约2.5亿元整体市场;团队此前已并入豆包。
科技踏月者电动鞋为什么突然火了
踏月者新款Dusk在进博会上以7999元引发热议。一次滑板车险情、32.9万美元众筹和多年的步态反馈,才是这双电动鞋的来路。
参考来源
- https://x.com/svishnevskiy/status/2118081920194203799
- https://www.theverge.com/news/1027379/discord-ditching-electron-web-app
- https://www.ithome.com/1/022/673.htm
- https://www.windowslatest.com/2026/11/05/discord-is-killing-its-electron-app-that-can-eat-4gb-of-ram-on-windows-11-and-the-rust-rebuild-uses-just-290mb/
- https://discord.com/blog/why-discord-is-switching-from-go-to-rust
- https://discord.com/blog/android-react-native-framework-update
- https://electronjs.org/blog/10-years-of-electron
- https://zed.dev/blog/we-have-to-start-over
- https://zed.dev/blog/zed-1-0
- https://news.ycombinator.com/item?id=50378625