8月20日,Bun 1.4正式发布。这是自几个月前备受关注的Rust重写以来,Bun迎来的首个稳定版本。发布说明中对Rust重写着墨不多,反而重点介绍了大量新功能,并宣称修复了2900多个问题。
根据发布说明,Bun 1.4在Node.js兼容性上取得了重大突破:新增了来自Node.js测试套件的1517项测试,这是自Bun 1.0以来在Node.js兼容性上最大的一次跃升。同时,该版本修复了超过2900个问题,将空闲CPU使用率降低了5倍,内存使用量最多减少35%,在Linux上的启动速度提升了50%。
新功能矩阵:从图片处理到定时任务
本次更新引入了多项新能力,包括Bun.Image(图片处理)、Bun.WebView(浏览器自动化)、Bun.markdown(Markdown解析)、Bun.cron()(定时任务)、Bun.Terminal(终端交互)等。此外还新增了bun run --parallel、bun test --parallel、bun audit fix、bun dedupe和bun prune等命令行工具。
在这些新特性中,最引人注目的是Bun.WebView。它为Bun核心带来了对浏览器自动化的第一等支持,既可以通过macOS WebKit实现,也可以通过Chrome DevTools Protocol(CDP)控制本地Chromium进程。
WebView实战:构建shot-scraper风格API
为了验证Bun.WebView的实际能力,开发者利用Claude Code for web构建了一个原型:一个能够加载网页并对其执行JavaScript的Web API。这个项目灵感来自shot-scraper的javascript命令行工具,同时也想测试运行这样一个服务需要多少内存。
测试结果显示,这个用TypeScript实现的服务器,在运行完整Chrome处理复杂网页时,大约需要192MB至256MB的容器内存(通过cgroups验证)。这意味着,基于Bun.WebView构建的浏览器自动化服务,在资源消耗上处于一个相当可控的水平。
Rust重写:被低调处理的重大变革
尽管Rust重写是Bun历史上的一次重大架构变革,但在本次发布说明中却被刻意低调处理。这种策略或许反映了团队对稳定性的重视——将用户的注意力引导到实际功能和改进上,而非底层实现细节。
从性能数据来看,这次重写带来的收益是实实在在的:空闲CPU使用率降低5倍、内存减少35%、启动速度提升50%。对于日常使用Bun的开发者来说,这些改进将直接转化为更流畅的开发体验和更低的资源消耗。
生态影响与开发者视角
Bun 1.4的发布,特别是Bun.WebView的加入,为JavaScript生态带来了新的可能性。以往,浏览器自动化通常需要借助Puppeteer或Playwright等外部库,而现在Bun核心就提供了这一能力。结合Bun.cron()和Bun.Terminal,开发者可以在一个运行时内完成更多任务,减少工具链的复杂度。
对于关注Node.js兼容性的团队来说,新增的1517项测试通过是一个积极信号。这意味着迁移到Bun的风险进一步降低,更多现有的Node.js项目可以无缝运行在Bun上。
当然,Rust重写后的稳定性仍需时间检验。虽然Bun 1.4是稳定版本,但生产环境的大规模部署还需要更多社区反馈。对于追求性能和资源效率的开发者,Bun 1.4值得一试;对于保守型团队,可以等待几个补丁版本后再做评估。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.