只要写过 Electron 桌面应用,基本都会经历一个阶段:
一开始:“太爽了,前端直接写桌面!”
用了一阵子:“怎么越跑越慢?”
再后来:“这玩意还能再瘦点吗?”
问题不在你代码写得好不好,而是 Electron 本身就很重。
Electron 的三个老问题
先不谈复杂业务,随便一个简单的项目 就已经让人头疼:
- 包体积巨大: 随便一打包就是
100MB+,哪怕只是个工具型应用,用户下载一次都要犹豫。
- 内存占用夸张: 一个窗口常驻
300MB 并不稀奇,多开几个直接奔着 1GB 去。
- 启动体验拖沓: 双击 → 等待 → 白屏 → 再等等 → 才看到界面。对“效率工具”来说,这是致命的。
但现实是:老板要 两周 MVP,团队会前端的人多,Electron 就成了“最稳妥的选择”。
直到最近,Rust 圈悄悄冒出来一个不太一样的解法。
新选手登场:GPUI
GPUI 是 Zed 编辑器团队推出的一套 原生 UI 框架,完全用 Rust + GPU 渲染。
它的核心思想很简单,也很激进:界面直接交给显卡画,浏览器那一套全部不要。

它做了哪些“反 Electron”的事?
- 底层基于
wgpu,原生支持 Metal / Vulkan / DX12,跨平台但不靠 Chromium
UI 是声明式的,写法接近 React,但编译后是 纯原生程序
- 没有浏览器、没有
JS Runtime,启动就是可执行文件 → GPU → 屏幕
结果就是三个字:又小又快。
性能差距有多夸张?
直接对比最直观 👇
| 场景 |
Electron |
GPUI |
| 安装包 |
100MB+ |
~12MB |
| 空载内存 |
300MB 起 |
~50MB |
| 启动速度 |
2~3 秒 |
0.4 秒左右 |
| 大表格滚动 |
容易掉帧 |
稳定 60fps |
| 主题切换 |
重载甚至重启 |
实时热切换 |
如果你做的是:
- 编辑器
- IM / 客户端工具
- 数据密集型应用
- 长时间常驻后台的桌面程序
这套模型的优势会非常明显。对于追求极致性能的 开源实战 项目而言,GPUI 提供了一个值得探索的新方向。
组件生态:前端并不陌生
GPUI 并不是“只有底层,没有轮子”。

社区已经提供了 60+ 常用组件:按钮、表格、树形控件、Markdown、日历、穿梭框……
视觉风格直接对齐 shadcn/ui 那一套,设计稿几乎不用改,熟悉现代 前端框架/工程化 的前端同学接受成本也很低。
五分钟跑起来一个窗口
如果你会点前端,上手成本比想象中低。
安装 Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
新建项目
cargo new my-app && cd my-app
添加依赖
[dependencies]
gpui = "0.2"
gpui-component = "0.1"
写点代码
use gpui::*;
fn main() {
App::new().run(|cx| {
Window::new("win", cx)
.title("Hello GPUI")
.build(cx, |cx| {
Label::new("第一个窗口", cx)
})
.unwrap();
});
}
运行
cargo run
没有白屏,没有加载动画,窗口直接弹出来。这个简洁的声明式 API 会让你联想到 React,但其背后是 Rust 强大的性能保障。
写法像 React,性能像 C++
事件、组件、回调,这一套前端同学一眼就懂:
Button::new("提交", cx)
.on_click(|_, cx| {
notify_user("已完成", cx);
});
不同的是:它没有 JS 引擎,没有 GC,没有浏览器主线程阻塞。 编译完就是机器码,性能问题几乎只剩“你写得合不合理”。
旧 Web 项目也不用全扔
如果你已经有 React / Vue 页面,也不必推倒重来。
GPUI 支持 WebView 嵌入:
gpui-component = { version = "0.1", features = ["webview"] }
在原生窗口里留一块 Web 区域,老页面直接加载,平滑过渡。
写在最后
Electron 并没有“过时”,但在 性能、体积、启动体验 越来越被重视的今天,它确实显得有点沉。
如果你正在做:
- 新桌面项目
- 性能敏感工具
- 或者想摆脱 Chromium 的“重量级依赖”
GPUI 值得你认真看一眼。 它代表了用现代系统级语言构建高性能桌面应用的一种新思路。
📌 官网
https://www.gpui.rs/
https://longbridge.github.io/gpui-component/
如果你对这类新兴的跨平台开发技术感兴趣,欢迎到 云栈社区 的 前端 & 移动 板块参与更多讨论。