文章摘要
该文章介绍了一个名为Buz的项目,它是Bun的一个分支,基于Bun重写为Rust之前的最后一个版本。Buz使用现代Zig构建,实现了亚秒级增量构建,旨在成为Bun的即插即用替代品,并拥有更清晰的代码库。
文章总结
以下是您提供的英文文章的中文重述,保留了核心细节,并删除了与主题无关的评论内容(如其他用户的回复):
标题:Buz——使用现代Zig语言构建的Bun替代品,支持亚秒级增量编译
来源:Ziggit论坛
发布时间:2026年7月24日
核心内容:
开发者jazzzooo发布了一个名为Buz的项目,它是JavaScript运行时Bun的一个分支,基于Bun在转向Rust重写之前的最后一个Zig版本。该项目目前处于早期开发阶段,远未达到生产可用标准。
Buz的主要特点包括:
1. 构建系统迁移:将整个构建图迁移至build.zig文件,包括JavaScriptCore的供应商源码,实现了亚秒级增量编译,大幅改善了开发循环。
2. 代码清理:从Bun代码库中删除了超过11,000行完全无用的死代码,并修复了无数错误。
3. 现代化改造:重写并现代化了部分代码,更依赖Zig的标准库,旨在减少技术债务。
4. 测试覆盖:导入了Rust版Bun的所有新测试,涵盖新功能和错误修复,但许多测试尚未通过,需要持续跟进上游更新。
目标与策略: - 成为Bun的“即插即用”替代品,拥有更清晰的代码库。 - 由于Bun代码库庞大(约60万行)且质量参差不齐,开发者将大量使用AI/LLM辅助编码,但强调人类主导,并专注于编写地道的Zig代码。 - 短期内不接受人工编写的代码贡献,直到项目代码库达到合理状态。 - 长期目标是创建一个无需LLM帮助即可愉快维护的代码库。
支持的Zig版本:
项目包含一个略微修补的Zig master子模块,主要针对增量编译。上游Zig的特定提交版本也能正常构建。
关于依赖重写: 开发者表示,Bun的核心性能依赖于C/C++项目(如JavaScriptCore、uWebSockets等),Zig主要起“胶水”作用。目前没有计划用Zig重写这些大型依赖,但未来可能重写小型依赖。对于V8兼容性,Bun已有部分API垫片,将继续沿用此策略。
总结: Buz是一个旨在清理Bun代码库、提升开发效率的分支项目,通过现代Zig构建和AI辅助开发,力求成为更稳定、更易维护的Bun替代品。
评论总结
根据评论内容,总结如下:
主要观点与论据:
对Bun代码质量的批评与“去劣化”尝试
- 评论指出Bun存在大量死代码(11,000行),代码库被忽视,且通过LLM清理AI生成的“劣质代码”显得讽刺(评论4、8)。
- 关键引用:
- “I’ve cut over 11,000 lines of completely dead code from Bun... Is anyone else surprised at this dead code figure?”(评论8)
- “So we're using LLMs to clean up the code that LLMs ruined in the first place?”(评论4)
对项目可持续性的质疑
- 缺乏生态系统支持,维护难度大,用户可能回归Node.js(评论3)。
- 关键引用:
- “without an ecosystem I doubt this person can keep maintaining it long term... those who care will go back to Node.js”(评论3)
对Bun性能优化的争议
- 部分评论认为Bun的构建速度优化已接近边际效益,当前瓶颈并非构建时间(评论9)。
- 关键引用:
- “This is approaching diminishing returns and I guarantee that your CURRENT bottleneck is not build times.”(评论9)
对JavaScript生态“过度创新”的疲劳感
- 评论者认为工具链频繁更迭,缺乏对实际问题的解决(评论7、14)。
- 关键引用:
- “are we enter a phase the supply way > requirement or people just build stuffs and not care serious usage anymore?”(评论7)
- “Now that no one cares about JS frontend framework, we moved the drama over to JS tooling written in other languages.”(评论14)
对Bun分支的积极评价
- 分支证明了Bun本可实现更快的构建,但存在平台限制(评论6)。
- 关键引用:
- “this fork has proven that Bun could have had fast builds all along... it's just a matter of time before all major platforms are conquered.”(评论6)
平衡性说明:
- 正面观点:认可分支在代码清理和构建速度上的潜力(评论6、8)。
- 负面观点:质疑项目可持续性、性能优化必要性及生态价值(评论3、4、9)。
- 中立观点:对“AI清理AI代码”的讽刺(评论4),以及对JavaScript生态“过度创新”的疲劳(评论7、14)。