FSA全栈行动 FSA全栈行动
首页
  • 移动端文章

    • Android
    • iOS
    • Flutter
  • 学习笔记

    • 《Kotlin快速入门进阶》笔记
    • 《Flutter从入门到实战》笔记
    • 《Flutter复习》笔记
  • 内功心法

    • 《深入浅出设计模式Java版》笔记
前端
后端
  • 产品
  • 代理
  • 提效
  • 逆向
  • 分类
  • 标签
  • 归档
  • LinXunFeng
  • GitLqr

公众号:FSA全栈行动

记录学习过程中的知识
首页
  • 移动端文章

    • Android
    • iOS
    • Flutter
  • 学习笔记

    • 《Kotlin快速入门进阶》笔记
    • 《Flutter从入门到实战》笔记
    • 《Flutter复习》笔记
  • 内功心法

    • 《深入浅出设计模式Java版》笔记
前端
后端
  • 产品
  • 代理
  • 提效
  • 逆向
  • 分类
  • 标签
  • 归档
  • LinXunFeng
  • GitLqr
  • 多语言

  • uniapp

  • vite

  • vue

  • javascript

  • typescript

  • bun

    • 2026 Bun 全新姿态:从 Zig 到 Rust 的“暴力”重构与生态大爆发
      • 一、重构背后的“激进”:11 天完成从 Zig 到 Rust 的跃迁
      • 二、功能大爆发:正在“消灭”你的 node_modules
        • 1、原生集成的高效 API
        • 2、TypeScript 支持:Bun vs Node.js
      • 三、实测性能:性能跃迁到底有多猛?
      • 四、总结:2026 年该不该把项目迁到 Bun?
  • 前端
  • bun
GitLqr
2026-08-22
目录

2026 Bun 全新姿态:从 Zig 到 Rust 的“暴力”重构与生态大爆发

欢迎关注微信公众号:[FSA全栈行动 👋]

2026 年对 Bun 来说简直是分水岭式的年份。

就在之前,Bun 还是基于 Zig 编写的。虽然运行速度快得惊人,但 Zig 版本在内存安全性上始终是个潜在隐患(比如之前出现的 use-after-free 等问题)。随着 2025 年底 Bun 被 Anthropic 收购,这个项目正式进入了“全速进化”模式。

最疯狂的举动莫过于:仅用了 11 天,开发团队利用 Claude Fable 5 辅助,直接将 Bun 从 Zig 重写成了 Rust。这种“暴力”升级直接催生了 2026 年 8 月发布的 Bun v1.4——这是第一个完全运行在 Rust 引擎上的生产版本。

# 一、重构背后的“激进”:11 天完成从 Zig 到 Rust 的跃迁

这次重构的过程简直像科幻小说:535,496 行 Zig 代码变成了超过 100 万行的 Rust 代码,累计产生了 6,502 个 commit。为了搞定这堆代码,团队甚至动用了多达 64 个 Claude 智能体同时开工。

虽然这次“AI 驱动重构”在社区里引发了不小的争议(毕竟有人吐槽生成的 Rust 代码里包含了超过 13,000 个 unsafe 块,而且这次史诗级的 PR 几乎全靠 AI 完成,没有人工直接审核),但结果确实让开发者们闭了嘴。

重构带来的收益非常直观:

  • 内存更安全:Rust 在编译阶段就能规避掉 Zig 版本中存在的内存溢出和泄漏风险。

  • 体积更小:二进制文件体积缩小了约 20%。

  • 性能飙升:Bun.build() 的内存泄漏从 6745 MB 暴降到了 609 MB。

在 Anthropic 自己的生产环境里(也就是 Claude Code 项目),切换到 Rust 版本后,p99 CPU 使用率直接从 24% 降到了 10%。

# 二、功能大爆发:正在“消灭”你的 node_modules

Bun 的核心逻辑其实一直很明确:不要让你的 package.json 变得臃肿。

以前你写一个全栈项目,可能得装 sharp 处理图片、puppeteer 跑自动化、pg 连数据库、jest 跑测试、webpack 打包……现在,Bun v1.4 试图把这些全部“原生化”。

# 1、原生集成的高效 API

看看现在的 Bun 已经内置了多少东西:

  • Bun.Image:图片处理,性能比 sharp 快了 7 倍。

  • Bun.WebView:无需 Playwright 或 Puppeteer,直接调用系统内核的浏览器进行无头测试。

  • Bun.SQL:内置 SQL 客户端,完美支持 PostgreSQL、MySQL、MariaDB 和 SQLite。

  • Bun.cron:直接在运行时写定时任务,不再需要 node-cron。

  • Bun.Archive:内置压缩/解压功能,告别 tar 或 archiver。

# 2、TypeScript 支持:Bun vs Node.js

在 2026 年的 Node.js v24 版本中,类型剥离(Type Stripping)已经变成了默认行为。但如果你追求极致的开发体验,Bun 依然有它的护城河。

能力 Bun v1.4 Node.js v24+
运行 .ts 文件 ✅ bun app.ts ✅ node app.ts
JSX 支持 ✅ 内置 ❌ 暂不支持
Path aliases (@app/*) ✅ 支持 (tsconfig.json) ❌ 忽略
Enums, namespaces ✅ 支持 ⚠️ 需加实验性参数
启动速度 ~5.1ms (Linux) ~19ms
内置打包器 ✅ bun build ❌ 无

提醒一下: Bun 并不负责静态类型检查。虽然它能直接跑 .ts 文件,但如果你在 CI 环境里需要确保类型完全正确,最后一步还是得老老实实跑个 tsc --noEmit。

# 三、实测性能:性能跃迁到底有多猛?

如果说 v1.3 到 v1.4 的升级是“小修小补”,那 Zig 到 Rust 的迁移就是“质变”。

通过对 Bun v1.4 与 Node.js 的对比,我们可以看到 Bun 在启动速度和吞吐量上的统治力。

指标 Bun v1.4 Node.js v26
冷启动速度 (Linux) ~5.1ms ~19ms
HTTP 吞吐量 290k req/s 71k req/s

关于安装速度的“降维打击”:

在测试 T3 Stack (Next.js) 项目时,Bun 的安装速度让 npm 显得非常“笨重”:

# 依赖安装对比
# 场景:全新安装
npm install     # ~38s
pnpm install    # ~15s
bun install     # 7s

# 场景:有缓存的安装
npm install     # ~18s
pnpm install    # ~5.5s
bun install     # 2.5s

# 四、总结:2026 年该不该把项目迁到 Bun?

看完这么多更新,我个人的建议是:尽可能拥抱,但要分场景。

你可以毫不犹豫地在这些场景使用 Bun:

  1. 本地开发与 CLI 工具:那启动速度和 TypeScript 的原生支持真的用过就回不去了。

  2. CI/CD 流水线:Bun install 能为你省下大量等待时间,直接通过 bun install --frozen-lockfile 就能飞速跑完流程。

  3. 全栈 TS 项目:如果你不想在 package.json 里塞满各种 dotenv、jsonc、tar 等碎片包,Bun 是目前的最佳选择。

但也请留意以下几点:

  • 实验性特性:比如 HTTP/3 在 Bun.serve() 中的支持目前还属于实验性质,生产环境建议先观望。

  • 生态兼容性:虽然 Node.js 兼容性大幅提升,但一些依赖原生 N-API 的复杂模块,可能还是需要你手动验证一下。

总之,Bun 的目标不是成为 Node.js 的“又一个”运行时,而是要把整个 node_modules 缩减到最小。从这个角度看,它赢得很彻底。


参考资料:

  • Bun 官方博客 (opens new window)

  • Bun v1.4 Release Notes (opens new window)

#Bun#Zig#Rust
上次更新: 2026/08/22, 04:48:20
提升 Web 开发效率:我常用的 10 个 TypeScript 实战技巧

← 提升 Web 开发效率:我常用的 10 个 TypeScript 实战技巧

最近更新
01
Flutter 实战:图片上传前的压缩优化,解决带宽与存储的“大户”问题
08-20
02
Flutter 3.47 与 Dart 3.13:你必须了解的迁移指南
08-17
03
玩转 Flutter 中的 Stack 与 Positioned:解决 UI 重叠问题的实战指南
08-14
更多文章>
Theme by Vdoing | Copyright © 2020-2026 FSA全栈行动
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×