Bun JavaScript运行时和工具包的1.3版本正式发布,进一步推进了将分散的JavaScript工具链整合为单一解决方案的目标。然而快速扩张让一些开发者质疑Bun是否试图做得太多、太快。
Bun由Zig编写,基于苹果支持的JavaScript Core引擎,旨在实现高性能、Node.js兼容性以及为应用开发者提供一体化支持。
创建者Jarred Sumner和团队发布了近14000字的新功能介绍:支持热重载的全栈开发服务器(意味着代码更改会立即反映在运行的应用程序中);支持PostgreSQL、MySQL和SQLite客户端的SQL API;Redis支持;增强路由;跨平台编译为独立可执行文件;安全扫描器API;以及隔离安装以最小化依赖冲突和问题。
隔离安装意味着包(库)只能访问明确声明的依赖项。这通过在node_modules下创建特定于包的目录来实现,依赖项存储在其中,降低了包意外使用不同于其设计时使用的依赖项的风险。
软件工程师Dylan Conway声称,将JavaScript Core的垃圾收集器与Bun的事件循环集成(1.3版本的新特性)实现了空闲CPU时间减少100倍,空闲内存使用量减少40%。更密集的资源使用应该会转化为更低的托管成本。
团队提到的一些新功能,如Redis客户端,已经在之前的小版本更新中发布,但Bun快速演进毋庸置疑。项目范围稳步扩大。文档中的一条注释表明"长期来看,Bun旨在提供一个一体化工具包,以取代当今常见的复杂、分散的工具链:Node.js、Jest、Webpack、esbuild、Babel、yarn、PostCSS等。"
Bun 1.3被描述为系列版本的开始,下一步可能是发布Bake,这是一个支持React服务器组件和服务器操作的内置服务器。Bake原本计划与Bun 1.3一起发布,但Sumner在官方Discord论坛上表示"它还没有准备好,我们不想进一步延迟bun 1.3的发布。"
距离2023年9月Bun 1.0发布仅两年时间,但其受欢迎程度不断增长;Sumner表示该工具包现在每月下载量超过500万次。Bun用户包括Anthropic,该公司将其用于Claude Code CLI(命令行界面)。
然而开发者对此看法不一。一位开发者表示:"Bun已经变成了一个巨兽。几乎涵盖了某人在其环境中可能需要的每个功能";而另一位则质疑"我不确定我是否希望通常作为外部库的所有内容都来自一个地方。"
在快速发布新功能时质量有时也会受损,另一个因素可能是Zig仍在演进且仍处于预览版,撰写本文时最新版本为0.15.1。在Bun问题列表中,分段错误(非法内存访问,如越界错误)报告并不少见。
Bun在MIT许可下开源,但一些人对其背后的商业模式感到困惑。Sumner最初表示这将基于"快速无服务器托管",这也是Vercel采用的方法,其联合创始人Guillermo Rauch参与了2022年Oven的融资轮。
Reddit上一位用户发现了"Bun首个创收产品"的职位空缺,该产品将"将Bun的速度与现代AI能力相结合"。
Q&A
Q1:Bun是什么?它的主要目标是什么?
A:Bun是一个JavaScript运行时和工具包,由Zig编写,基于苹果的JavaScript Core引擎。它的主要目标是将分散的JavaScript工具链整合为单一解决方案,提供高性能、Node.js兼容性以及一体化开发支持。
Q2:Bun 1.3版本有哪些新功能?
A:Bun 1.3版本新增了支持热重载的全栈开发服务器、支持PostgreSQL/MySQL/SQLite的SQL API、Redis支持、增强路由、跨平台编译、安全扫描器API以及隔离安装功能,还优化了垃圾收集器,实现了空闲CPU时间减少100倍。
Q3:开发者对Bun快速扩张有什么担忧?
A:一些开发者担心Bun试图做得太多太快,质疑是否需要将通常作为外部库的功能都整合到一个地方。此外,快速发布新功能可能影响质量,分段错误等问题在Bun的问题列表中并不少见。
好文章,需要你的鼓励
微软近年来频繁出现技术故障和服务中断,从Windows更新删除用户文件到Azure云服务因配置错误而崩溃,质量控制问题愈发突出。2014年公司大幅裁减测试团队后,采用敏捷开发模式替代传统测试方法,但结果并不理想。虽然Windows生态系统庞大复杂,某些问题在所难免,但Azure作为微软核心云服务,反复因配置变更导致客户服务中断,已不仅仅是质量控制问题,更是对公司技术能力的质疑。
Meta研究团队发现仅仅改变AI示例间的分隔符号就能导致模型性能产生高达45%的巨大差异,甚至可以操纵AI排行榜排名。这个看似微不足道的格式选择问题普遍存在于所有主流AI模型中,包括最先进的GPT-4o,揭示了当前AI评测体系的根本性缺陷。研究提出通过明确说明分隔符类型等方法可以部分缓解这一问题。
当团队准备部署大语言模型时,面临开源与闭源的选择。专家讨论显示,美国在开源AI领域相对落后,而中国有更多开源模型。开源系统建立在信任基础上,需要开放数据、模型架构和参数。然而,即使是被称为"开源"的DeepSeek也并非完全开源。企业客户往往倾向于闭源系统,但开源权重模型仍能提供基础设施选择自由。AI主权成为国家安全考量,各国希望控制本地化AI发展命运。
香港中文大学研究团队开发出CALM训练框架和STORM模型,通过轻量化干预方式让40亿参数小模型在优化建模任务上达到6710亿参数大模型的性能。该方法保护模型原生推理能力,仅修改2.6%内容就实现显著提升,为AI优化建模应用大幅降低了技术门槛和成本。