告别 Electron 的臃肿?Electrobun:用全栈 TS 构建 12MB 的超轻量桌面应用
如果你是一名前端开发者,想要涉足桌面应用开发,Electron 很可能是你第一个接触的框架。它强大且成熟,VS Code、Figma、Notion 等都是它的杰作。但 Electron 有一个由来已久的痛点:体积臃肿。
一个简单的“Hello World” Electron 应用打包后动辄 150MB 起步,启动速度也往往需要等待数秒。这是因为每个 Electron 应用都内置了一整个 Chromium 浏览器和 Node.js 运行时。
有没有一种技术,既能保留 Web 技术的开发体验,又能拥有原生应用的轻量与迅捷?这就是今天要介绍的主角——Electrobun。
什么是 Electrobun?
Electrobun 是一个于 2026 年初迅速崛起的新型桌面应用框架。它的口号是:“使用 TypeScript 构建超快、极小、跨平台的桌面应用” 。
它的核心思路是“做减法”。与直接捆绑 Chromium 不同,Electrobun 采用了更加现代、精简的技术组合:
- 运行时: 采用极快的 Bun 替代 Node.js 作为后端运行时。
- 渲染引擎: 直接调用操作系统自带的 WebView(macOS 的 WKWebView、Windows 的 WebView2、Linux 的 WebKitGTK),从而移除了庞大的 Chromium 内核。
- 原生绑定: 使用 Zig 语言编写原生桥接,兼顾性能和跨平台兼容性。
核心优势:比 Electron 轻到哪里去?
1. 极致的体积控制
这是 Electrobun 最吸引人的一点。由于不携带浏览器内核,一个基础的 Electrobun 应用打包后仅有 ~12MB(利用系统 WebView 时),相比 Electron 减少了超过 90% 的磁盘占用。
- 对比数据:
- Electron:~150MB
- Tauri:~10MB
- **Electrobun:~12MB **
2. “手术刀式”的增量更新
传统的桌面应用更新往往需要用户重新下载数百兆的完整安装包。Electrobun 内置了基于 bsdiff 算法的差分更新机制。如果你的应用只是修改了几行代码,用户可能只需要下载一个 14KB 左右的补丁包即可完成更新,这在弱网环境下是史诗级的体验提升。
3. 飞一样的启动速度
移除 Chromium 不仅减小了体积,更大幅缩短了冷启动时间。根据社区测试,Electrobun 的冷启动速度通常在 0.5秒 - 0.8秒 左右,相比 Electron 动辄 2.5 秒的等待,几乎达到了原生应用的水准。
4. 全栈 TypeScript,零配置
在 Electron 中,虽然你可以写 TypeScript,但通常需要 Webpack 或 Vite 进行编译配置。而在 Electrobun 中,由于 Bun 原生支持 TypeScript,你可以在主进程和渲染进程中直接编写 .ts 文件,无需任何编译步骤。甚至主进程与 WebView 之间的通信(RPC)都可以实现编译期的类型安全。
快速上手:5 分钟跑起来
想要体验 Electrobun 非常简单。首先确保你全局安装了 Bun,然后执行以下命令:
# 1. 初始化项目(官方模板)
npx electrobun init my-app
# 2. 进入目录
cd my-app
# 3. 安装依赖
bun install
# 4. 启动开发模式
bun start
此时,一个桌面窗口就会瞬间弹出。你可以在 src 目录下找到主进程代码和前端代码,直接修改它们,窗口支持热重载。
当你准备打包分发时,只需运行 bunx electrobun build,你就能在 artifacts 目录下找到对应系统(Windows .exe / macOS .app / Linux)的可执行文件。
不仅仅是“浏览器套壳”
Electrobun 不仅仅是一个“轻量版 Electron”,它还贡献了很多独特的设计:
- 类型化 RPC: 它提供了一个加密且易于使用的 RPC 机制,让前后端通信像调用本地函数一样简单,并且还能自动补全。
- 多进程隔离: 就像现代浏览器一样,Electrobun 支持使用
<electrobun-webview>标签嵌入独立的浏览器上下文(OOPIF),这让构建类似“多标签页浏览器”或“内嵌 IDE”的应用变得非常轻松。 - 原生 UI 组件: 提供了对原生应用菜单(ApplicationMenu)、系统托盘(Tray)和上下文菜单的直接绑定。
appbun辅助工具: 社区衍生了一个工具appbun,你甚至可以用一条命令将任意网站一键封装成一个桌面应用,这对于快速制作内部工具或网站客户端来说极其方便。
现在还适合在生产环境使用吗?
Electrobun 是一个非常年轻的项目(截至 2026 年初),正处于高速迭代期。
优点很突出:
- 官方支持 macOS 14+、Windows 11+ 和主流 Linux 发行版。
- GitHub 热度极高(万星级别),维护非常活跃。
- MIT 协议,对商业友好。
目前的小坑:
- 部分 Linux 发行版可能需要手动安装额外的 WebKit 依赖。
- 社区生态相比 Electron 还处于早期阶段,虽然常用 API 齐全,但遇到极端复杂的原生需求时,可能需要自己翻阅 Zig 源码。
- 文档偶尔会有与最新代码不同步的情况,建议以项目源码的 Examples 目录为准。
总结
Electrobun 并不是要完全取代 Electron。如果你需要依赖庞大的 Chrome 扩展生态,或者需要兼容极其复杂的旧版浏览器特性,Electron 依然是稳妥的选择。
但如果你是一个追求性能的独立开发者、初创团队,或者是想将一个现有的 Web 应用稍加修改就变成轻量级的桌面端(类似“套壳”但更高级),Electrobun 是目前技术选型中最令人兴奋的答案。它在体积、速度和现代 Web 标准之间找到了一个极佳的平衡点。