研究: 基于 Bun 1.4 全新 Bun.WebView 的 shot-scraper 风格 JSON API
今天,备受期待的 Bun 1.4 正式发布,这是自几个月前备受关注的 Rust 重写以来的第一个稳定版本。
有趣的是,发布说明中淡化了 Rust 重写这一重大变化,转而介绍了令人眼花缭乱的新功能,并声称修复了 2900 多个额外的 Bug:
Bun 1.4 从 Node.js 测试套件中新增了 1517 个测试——这是自 Bun 1.0 以来我们在 Node.js 兼容性方面取得的最大飞跃。Bun v1.4 还修复了 2900 多个问题。它将空闲 CPU 使用率降低了 5 倍,内存使用率最多降低了 35%,在 Linux 上的启动速度提高了 50%。它新增了
Bun.Image、Bun.WebView、Bun.markdown、Bun.cron()、Bun.Terminal、bun run --parallel、bun test --parallel、bun audit fix、bun dedupe和bun prune。并且,它将 Bun 从 Zig 重写为了 Rust。
在这些新特性中,最吸引我眼球的是 Bun.WebView。它为 Bun 核心引入了一等支持(first class support)的浏览器自动化功能,既可以使用 macOS 的 WebKit,也可以通过 Chrome 开发者工具协议(CDP,Chrome DevTools Protocol)控制本地的 Chromium 进程。
我让 Claude Code 构建了一个 Web API 原型,该 API 能够加载网页并对其执行 JavaScript。这个灵感来自我的 shot-scraper javascript 命令行工具(CLI)——部分原因也是为了测试运行此类服务需要多少内存(RAM)。
这是[那个 TypeScript 服务器实现](https://