2026年5月13日,Bun 的核心团队成员 Jarred Sumner 在 GitHub 上提交了一个 PR(#30412),宣布 Bun 将从 Zig 语言迁移到 Rust 重写。这个消息在开发者社区引发了广泛讨论。
Bun 是什么
Bun 是一个高性能的 JavaScript 运行时和工具包,目标是成为 Node.js 的替代品。它集成了打包器、转译器、包管理器和测试运行器,号称比 Node.js 快很多倍。Bun 目前使用 Zig 语言编写其核心部分。
为什么从 Zig 换到 Rust
虽然 PR 中没有详细说明所有原因,但社区推测的几个可能因素:
- 生态系统:Rust 的库生态系统比 Zig 成熟得多,有大量高质量的第三方库
- 人才招聘:熟悉 Rust 的开发者比熟悉 Zig 的多得多
- 社区支持:Rust 社区活跃,工具链成熟,文档完善
- 长期维护:Rust 的稳定性和向后兼容性更好
这意味着什么
Bun 选择用 Rust 重写,反映了 JavaScript 运行时领域的一个趋势:越来越多的项目选择 Rust 作为底层实现语言。
- Rspack:字节跳动开发的打包工具,用 Rust 编写
- SWC:用 Rust 编写的 JavaScript/TypeScript 编译器
- Turbopack:Vercel 用 Rust 编写的打包工具
- Biome:用 Rust 编写的代码格式化和检查工具
对开发者的影响
如果你是 Bun 的用户,短期内不需要担心:
- Bun 团队表示会逐步迁移,不会一次性重写所有代码
- 现有的 JavaScript/TypeScript 代码不需要修改
- API 和行为会保持兼容
但长期来看,这次迁移可能会带来:
- 更好的跨平台支持
- 更多的第三方集成
- 更快的开发迭代速度
Zig 的处境
Bun 的离开对 Zig 语言来说是一个打击。Bun 曾经是 Zig 最知名的应用案例之一。不过 Zig 仍然有自己的优势:
- 更底层的控制能力
- 更小的二进制体积
- 在嵌入式和系统编程领域有自己的位置
简评
Bun 从 Zig 迁移到 Rust,本质上是一个工程权衡。Zig 提供了极致的性能控制,但 Rust 在生态系统、社区支持和长期维护上更有优势。对于站长和前端开发者来说,这次迁移短期内不会有明显影响,但长期来看,Bun 可能会变得更加稳定和功能丰富。这也说明,在选择技术栈时,生态系统和社区支持有时候比纯粹的性能更重要。
© 版权声明
THE END
















暂无评论内容