内容提要
Discord宣布放弃Electron框架,将桌面客户端全面迁移至Rust以降低资源占用。其CTO称公司自2018年起已使用Rust,目标是整个客户端均用Rust,淘汰Electron和React Native;移动端保留原生界面但通过Rust共享代码。展示的Windows客户端仅占用290MB内存,远低于目前常见的1GB以上。全面切换时间未定,但有望很快进入用户测试阶段。
延伸解读
从Electron到Rust:技术债的偿还
Discord自2018年起已在基础设施、语音技术等部分使用Rust,但客户端仍依赖Electron和React Native。此次迁移意味着淘汰这两个框架,将整个客户端统一到Rust。CTO称这是“圣杯”目标,反映出长期技术选型后的主动调整,而非临时起意。
内存占用对比:290MB vs 1GB以上
文章展示的Windows客户端仅占用290MB内存,而当前版本在加入少量服务器后很容易超过1GB。这一对比直观体现了Rust迁移对资源占用的改善,但需注意该数据来自特定测试场景,实际表现可能因使用情况而异。
移动端策略:原生UI与Rust共享代码
移动端不会完全抛弃原生界面,而是保留原生UI,同时通过Rust与桌面端共享应用代码。这种混合策略兼顾了移动端的平台体验和跨端代码复用,与桌面端全面Rust化有所区别。
时间表未定,测试阶段临近
Discord尚未公布全面切换的具体时间,但CTO表示希望很快进入用户测试阶段。这意味着迁移仍处于推进中,用户实际体验到低内存版本还需等待测试和逐步铺开。
Q&A
Discord 为什么放弃 Electron?
Electron 框架以资源占用高著称,导致 Discord 桌面客户端内存消耗大。为了降低资源占用,Discord 决定将桌面应用全面迁移到 Rust 语言。
Discord 迁移到 Rust 后内存占用降低了多少?
展示的 Windows 客户端仅占用 290MB 内存,而目前常见的 Windows 应用在加入几个服务器后内存占用很容易达到 1GB 或更多。
Discord 的 Rust 迁移计划包括哪些部分?
计划将整个客户端迁移到 Rust,淘汰 Electron 和 React Native;移动端保留原生界面,但通过 Rust 共享应用代码。
Discord 从什么时候开始使用 Rust?
Discord 自 2018 年起就是 Rust 的早期采用者,基础设施、语音技术以及部分当前客户端已使用 Rust。
Discord 全面切换到 Rust 的时间确定了吗?
全面切换的时间尚未确定,但 Discord CTO 表示希望很快能进入用户测试阶段。
迁移后移动端会有什么变化?
移动端将保留原生用户界面,但会通过 Rust 与桌面端共享应用代码。