Bun团队发布了其JavaScript打包器和运行时的1.2.21版本,该工具使用Zig语言编写,新增了包括MySQL和SQLite内置驱动、YAML解析器以及用于工具和本地开发的密钥管理器等功能。
新的数据库驱动是bun.SQL API的一部分,该API于今年1月推出,最初仅支持PostgreSQL。现在Bun还支持MySQL和MariaDB。此外,长期作为bun:sqlite存在的SQLite客户端也被添加到Bun.SQL中,文档将其描述为"多数据库系统的统一API"。
根据Bun创始人Jarred Sumner的说法,基于运行10万次简单查询所需的时间,Bun.SQL比在Node.js中使用mysql2包快9倍,比在Node中使用MariaDB客户端快4倍多。MySQL驱动与Bun本身一样,都是用Zig语言编写的。
本次发布还新增了Bun.secrets,这是一个面向CLI工具和本地开发的原生密钥管理器。在macOS上使用Keychain,在Linux上使用libsecret,在Windows上使用凭据管理器。其优势是避免在纯文本文件中存储密码和令牌等数据。
最新版本还向Bun API添加了YAML解析器,其工作方式与现有的JSON和TOML解析器相同。
本次更新的其他功能包括安全扫描器API、更细粒度的审计命令用于报告漏洞、构建独立可执行文件的API,以及Windows上的代码签名bun.exe二进制文件,消除了安全警告。
Bun 1.0于2023年9月发布,此前从2022年7月开始发布预览版本。它不仅因使用Zig语言而备受关注,还因使用苹果的JavaScriptCore作为运行时引擎而与使用谷歌V8引擎的竞争对手Node.js和Deno区别开来。
虽然Bun这个名字暗示了打包器功能,但该工具的范围远超此功能,文档现在将其描述为"JavaScript和TypeScript应用的一体化工具包"。团队致力于实现完整的Node.js兼容性,但目前尚未完成。Bun还包括测试运行器、支持热重载的服务器,以及数据库、S3兼容对象存储和Redis客户端的内置API。
Bun的附加功能使其容易受到功能蔓延的指责,一些开发者认为数据库客户端等功能不应该属于核心运行时。有人在X平台上对最新更新评论说:"下一步:bunos操作系统"。
反对的观点认为,这些功能对开发者来说很方便,并且减少了应用程序中的依赖数量。有人在GitHub上对Bun路线图的评论中说:"Bun中几乎没有JavaScript生态系统中不存在的东西。可以说,几乎所有这些都是大量重复的工作。但实际上不是,因为Bun很棒,将它们整合到一个地方,具有惊人的性能和良好的人机工程学。"
Sumner在X平台上表示,下一个主要版本Bun 1.3的发布日期将很快公布。
Q&A
Q1:Bun.SQL API支持哪些数据库?
A:Bun.SQL API现在支持PostgreSQL、MySQL、MariaDB和SQLite四种数据库。该API最初于今年1月推出时仅支持PostgreSQL,现在已扩展为多数据库系统的统一API,为开发者提供更全面的数据库连接选择。
Q2:Bun的性能相比Node.js有什么优势?
A:根据Bun创始人的测试数据,基于运行10万次简单查询的时间,Bun.SQL比在Node.js中使用mysql2包快9倍,比使用MariaDB客户端快4倍多。这主要得益于Bun使用Zig语言编写和苹果JavaScriptCore运行时引擎。
Q3:Bun.secrets密钥管理器如何在不同操作系统上工作?
A:Bun.secrets会根据操作系统使用相应的安全存储机制:在macOS上使用Keychain,在Linux上使用libsecret,在Windows上使用凭据管理器。这样可以避免在纯文本文件中存储密码和令牌等敏感数据,提高安全性。
好文章,需要你的鼓励
英国国家医疗服务(NHS)正将无人机纳入常规医疗物流体系。自今年2月起,无人机每天在雷恩斯公园和圣乔治医院之间运送血液等诊断样本,飞行仅需3分钟,比公路运输快约85%,且碳排放减少高达98%。目前已有逾2000名患者受益。NHS计划将该服务扩展至圣赫利尔、克罗伊登等多家医院,最终惠及约180万名患者。该网络由英国医疗初创公司Apian与谷歌旗下Wing合作运营。
AgentLens是Explyt公司联合俄罗斯学术机构开发的AI编程助手评测基准,通过分析完整人机交互轨迹而非仅看最终结果,从五个维度评估代码智能体的真实表现。
边缘AI计算厂商Aetina宣布,将在其DeviceEdge AIE-KT风冷系列和新款AIE-PT无风扇平台上支持英伟达全新Jetson T3000和T2000模块。T3000基于Blackwell GPU,最高提供865 FP4 TFLOPS算力,功耗70W;T2000则提供400 FP4 TFLOPS,面向视觉AI代理和自主移动机器人等场景。两款模块预计2027年第一季度上市,支持Nemotron、Cosmos 3等英伟达AI软件生态。
韩国梨花女子大学提出Splash框架,通过识别AI模型中的"休眠参数"并只在其中训练触觉能力,让小型多模态AI在学会感知材质触感的同时,完整保留原有视觉语言推理能力。