当前位置: 首页 > news >正文

再见 Electron!Electrobun 重磅发布!

在桌面应用开发领域,我们长期面临着一个“两难”的选择。

一方面是Electron。它生态成熟,开发体验好,只要会写网页就能写桌面应用。但它的缺点也同样明显:“重”。一个简单的 Hello World 应用打包出来可能就要 100MB+,运行时更是著名的“吃内存大户”。

另一方面是Tauri。它主打轻量、安全,直接调用系统原生 WebView,大大减小了体积。但它要求开发者必须掌握Rust。虽然 Tauri 团队在不断降低门槛,但对于纯前端开发者来说,Rust 依然是一道不低的学习门槛。

有没有一种方案,既能像 Electron 一样只用 TypeScript 愉快编码,又能像 Tauri 一样保持轻量级体积?

最近,一个名为Electrobun的开源项目正式发布了 v1 版本,它的口号非常精准地击中了这个痛点:

"Finally something that feels right between electron bloat and tauri complexity." (终于有一个介于 Electron 的臃肿和 Tauri 的复杂之间,感觉刚刚好的东西了。)

什么是 Electrobun?

简单来说,Electrobun 是一个使用TypeScript构建超快、超小、跨平台桌面应用的框架。

它的核心架构非常有趣:

  • 主进程(Main Process):使用Bun运行。Bun 是一个极速的 JavaScript 运行时,这保证了主进程的高性能。

  • 渲染进程(Renderer):使用系统自带的 WebView(macOS 上是 WebKit,Windows 上是 WebView2 等)。

  • 原生绑定:使用Zig语言编写。

这种组合拳打下来,Electrobun 实现了一个惊人的成绩:打包后的应用体积仅约 12MB

核心亮点解析

1. 极致轻量:告别几百兆的安装包

Electron 之所以大,是因为它把整个 Chromium 浏览器和 Node.js 都打包进去了。

Electrobun 的策略是:

  • 复用系统 WebView:不再打包 Chromium,直接节省了约 80MB+ 的空间。

  • 自带 Bun Runtime:虽然 Bun 也是运行时,但它比 Node.js 更轻量、启动更快。

  • 自解压包:最终生成的安装包是一个自解压的可执行文件,体积控制在 12MB 左右。

2. 增量更新:快到飞起

应用更新是桌面开发的一大痛点。Electrobun 内置了基于bsdiff的差分更新机制。

这是什么概念?如果不涉及底层运行时的变更,用户更新应用时,只需要下载约 14KB 的补丁文件。这让应用的更新体验几乎是无感的。

3. 全链路 TypeScript 体验

这是 Electrobun 区别于 Tauri 的最大优势。

在 Electrobun 中,你不需要写一行 Rust 或 C++ 代码。主进程逻辑用 TypeScript 写,UI 界面用 TypeScript 写(React, Vue, Svelte 等)。

更有心的是,它内置了类型安全的 RPC(远程过程调用)。这意味着,你在主进程定义了一个函数,在渲染进程调用时,IDE 会自动提示参数类型和返回值类型。这对于开发效率和代码质量的提升是巨大的。

4. 性能与底层

虽然开发者只写 TS,但 Electrobun 的底层使用了Zig语言来处理原生绑定。Zig 以高性能和现代化著称,这为 Electrobun 提供了坚实的底层支撑。

快速上手

Electrobun 的使用门槛极低,甚至比 Electron 还要简单一些(得益于 Bun 的开箱即用)。

你可以通过以下命令快速创建一个模版项目:

npx electrobun init

目录结构也非常直观,通常包含src/main(主进程代码)和src/web(前端代码)。

客观评价:银弹吗?

虽然 Electrobun 看起来非常诱人,但作为一个客观的技术观察者,我们也要看到它目前的局限性:

  1. 生态成熟度:相比于 Electron 十多年的积累,Electrobun 还是个“新生儿”。Electron 拥有海量的插件、完善的文档和无数的踩坑记录,而 Electrobun 还在 v1 阶段,遇到问题可能需要自己去源码里找答案。

  2. 浏览器兼容性:Electrobun 依赖系统 WebView。这意味着在不同版本的操作系统上,你的网页渲染表现可能会有细微差异(类似 Tauri 面临的问题)。而 Electron 打包了固定的 Chromium,能保证所有用户看到的渲染结果绝对一致。

  3. Bun 的稳定性:Electrobun 强依赖于 Bun。虽然 Bun 发展迅猛,但在某些边缘场景下的稳定性仍需时间验证。

总结

Electrobun 的出现,给了前端开发者在 Electron 和 Tauri 之外的第三种选择

如果你需要开发一个复杂的、对兼容性要求极高的企业级巨型应用(比如 VS Code),Electron 依然是稳妥之选。 如果你追求极致的性能和安全,且团队有 Rust 能力,Tauri 是不二之选。

但如果你只是想快速开发一个小而美的工具应用,不想忍受 Electron 的体积,又不想学习 Rust,那么Electrobun绝对值得你尝试。

它也许不是完美的终极答案,但它是向着“更轻、更快、更简单”方向迈出的令人兴奋的一步。


参考资料:

  • Electrobun GitHub: https://github.com/blackboardsh/electrobun

热点推荐

  • 2026 AI 编程将发生巨变!

  • 终于等到!Draw.io 官方发布 MCP,这体验丝滑得不像话!

  • Claude Code 写了个 250KB 的开源库,真把 Node.js 搬进了浏览器

  • 炸裂!Claude Opus 4.6 与 GPT-5.3 同日发布:前端人的"自动驾驶"时刻到了?

  • 尤雨溪最新爆料,Vite 8 这一招太绝了,版本迁移效率原地起飞

  • Vue 核心团队出手!Anthony Fu 发布 Skills 仓库,斩获 3K Star,AI 编程进入「官方投喂」时代

http://www.jsqmd.com/news/396479/

相关文章:

  • Declaration of interests-模板
  • mPLUG视觉问答优化指南:提升图片分析速度的技巧
  • Python基于Vue的精品民宿管理系统的设计与实现 django flask pycharm
  • 搞Docker必懂的容器 8个核心操作,6大高频坑,3个核心逻辑,新手也能零失误
  • Thinkphp和Laravel框架基于协同过滤算法的的儿童图书推荐系统
  • Python基于Vue的学生宿舍管理系统的设计于实现 django flask pycharm
  • 话费卡回收新攻略:线上线下回收优势对比 - 团团收购物卡回收
  • 5分钟上手:LongCat-Image-Edit V2图片编辑实战
  • Python基于Vue的在线医疗预约系统设计与实现 django flask pycharm
  • 工业机器视觉之引导定位软件(WPF+Halcon+海康相机)
  • Rust所有权模型:编程语言中的“安全第一”哲学,如何从根源上杜绝类型混淆
  • DeepSeek-OCR-2实操手册:识别日志监控+Prometheus指标接入实践
  • CSP报告机制深度解析:用 `Content-Security-Policy-Report-Only` 安全测试你的网站
  • RMBG-2.0模型训练:从零开始构建自己的数据集
  • DAMO-YOLO计算机视觉系统:从理论到企业级部署
  • 2025年最新立库货架供应商口碑排名权威发布,仓库货架高度消防标准/仓储货架计入什么科目/活动式仓储货架立库货架源头厂家找哪家 - 品牌推荐师
  • 多模态语义相关度评估引擎在人工智能领域的创新应用
  • 基于 Thinkphp和Laravel框架 的食物营养分析与推荐网站的设计与实现
  • Pi0具身智能案例分享:智能生成抓取红色方块动作序列
  • TeeChart for .NET 2026新增了Tornado Chart系列类型
  • 真的太省时间!千笔,最强的AI论文软件
  • 2026年热门的意式极简平面铰链/高定家居平面铰链实用公司采购参考怎么联系 - 行业平台推荐
  • 西门子 S7 - 200 PLC、三菱与 MCGS 组态打造全自动洗衣机系统
  • 基于霜冰优化算法(RIME)优化CNN实现多输入多输出回归预测
  • 基于 Thinkphp和Laravel框架的超市外卖配送系统的设计与实现
  • 如何选择可靠的非官方维修点?2026年北京IWC万国表手表维修评测与推荐,直击技术隐忧 - 十大品牌推荐
  • 复杂功能腕表何处修?2026年北京IWC万国表维修服务推荐与全面评测,解决技术匹配痛点 - 十大品牌推荐
  • Tauri:下一代桌面应用开发框架的崛起
  • 交稿前一晚!自考论文救星 —— 千笔·专业论文写作工具
  • .netCHARTING 10.8 将其数据可视化引擎引入最新的 .NET 平台