告别 Electron,拥抱 Rust:Discord 重构背后的技术博弈
Discord,这款全球数亿用户喜爱的即时通讯与社区软件,长期以来一直饱受“资源占用过高”的诟病。作为重度游戏玩家和生产力工具的常备软件,Discord 在许多配置较低的电脑或笔记本电脑上常常成为系统内存的“黑洞”。然而,近日科技界传来重磅消息:Discord 宣布将彻底放弃其核心桌面客户端所依赖的 Electron 框架,全面转向 Rust 编程语言进行重构。这一战略转变不仅关乎 Discord 自身的用户体验,更可能对整个桌面应用开发领域产生深远影响。
Electron 是一个基于 Chromium 和 Node.js 的跨平台框架,它允许开发者使用 Web 技术(HTML、CSS 和 JavaScript)来构建桌面应用程序。这一技术极大地降低了开发门槛,使得像 Visual Studio Code、Slack 以及 Discord 这样的应用得以快速诞生。然而,Electron 的架构也带来了显而易见的代价:每个 Electron 应用都会独立运行一个完整的 Chrome 浏览器内核和 Node.js 实例。这意味着,当用户打开 Discord 时,系统实际上同时运行着两个庞大的进程,这直接导致了应用启动缓慢、内存占用居高不下,甚至在低配设备上出现卡顿现象。
面对这一行业通病,Discord 决定另辟蹊径。他们选择了一种名为 Rust 的现代系统编程语言。Rust 以其卓越的性能、内存安全性以及零成本抽象而闻名于世。与 Electron 不同,Rust 是一门编译型语言,它能够直接与操作系统交互,避免了运行时解释器的开销。通过将 Discord 的代码库迁移到 Rust,开发者旨在构建一个更加轻量、高效的原生应用。这不仅意味着应用程序的体积将显著减小,更意味着它将能够更智能地管理系统资源,不再成为内存的累赘。
对于广大 Discord 用户,尤其是同时运行大型 3D 游戏或进行视频剪辑的用户来说,这次重构带来的直接利好将是显而易见的。较低的内存占用将意味着更流畅的系统体验,不再需要为了运行 Discord 而频繁关闭其他后台程序。此外,Rust 的内存安全特性有助于减少应用程序崩溃的概率,提升整体稳定性。
值得注意的是,将一个已经成熟的、拥有数百万行代码的 Electron 应用完全重写为 Rust 是一项极具挑战性的工程。Discord 团队表示,这是一次从底层开始的彻底重构,而非简单的代码移植。这种对技术栈的“大换血”显示了 Discord 对优化用户体验的决心。虽然新的 Rust 版本应用可能还需要一段时间才能完全取代旧版 Electron 客户端,但这一趋势已经清晰地指向了未来桌面应用开发的演进方向:即在不牺牲跨平台便利性的前提下,追求极致的原生性能。
信息来源:The Verge,原文链接:https://www.theverge.com/news/1027379/discord-ditching-electron-web-app
封面图片来源:Unsplash / 摄影师 Mariia Berezovsky
