0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Bun 1.2震撼发布:全力挑战Node.js生态的JavaScript运行时新星

OSC开源社区 来源:OSC开源社区 2025-01-24 10:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

《2024 中国开源开发者报告》正式发布

JavaScript 运行时新秀 Bun 发布 1.2 版本,这是自去年 4 月发布 1.1 以来最重要的一次更新。

fe8d8a50-d973-11ef-9310-92fbcf53809c.jpg

此次更新不仅大幅提升了与 Node.js 的兼容性,还为开发者带来了内置的数据库支持和云服务集成能力,进一步强化了其“全能工具包”的定位。Node.js 兼容性获得突破性进展在此次更新中,最引人注目的是 Bun 在 Node.js 兼容性方面取得的突破性进展。 Bun 团队改变了此前被动修复问题的策略,转而主动运行 Node.js 的测试套件来提升兼容性。 这一改变使得包括 http、crypto、dgram 等多个核心模块的测试通过率超过 90%。特别值得一提的是,Express —— 这个广受欢迎的 Web 框架在 Bun 中的性能提升了 3 倍,这无疑会吸引更多开发者尝试将项目迁移到 Bun 上。

fe92e77a-d973-11ef-9310-92fbcf53809c.png

fea964be-d973-11ef-9310-92fbcf53809c.png

云原生时代的标配:内置数据库与对象存储支持

此次更新的另一大亮点是为开发者带来了内置的 PostgreSQL 客户端和 S3 对象存储支持。 这意味着开发者无需安装额外的依赖包,就能直接与这些关键的云服务进行交互。尤其是 Bun 的 S3 客户端,其性能测试显示比使用传统 AWS SDK 的 Node.js 应用快 5 倍。这一改进将显著降低云原生应用的开发门槛。

feb8bfea-d973-11ef-9310-92fbcf53809c.png

feca0462-d973-11ef-9310-92fbcf53809c.png

包管理器也要与时俱进

作为一个全能型工具包,Bun 的包管理功能也获得了重要升级。最显著的变化是将默认的二进制锁文件(bun.lockb)改为文本格式的 bun.lock。 这一改变虽然看似简单,但解决了代码审查、版本控制和冲突解决等实际问题。更值得注意的是,尽管切换到了文本格式,新版本的 bun install 性能反而提升了 30%,这体现了 Bun 团队在性能优化方面的执着。

fef2aef8-d973-11ef-9310-92fbcf53809c.png

ff01b3c6-d973-11ef-9310-92fbcf53809c.png

测试运行器更进一步

Bun 的内置测试运行器在此次更新中也得到加强,新增了 JUnit 和 LCOV 报告支持,这使得它更容易集成到现有的 CI/CD 流程中。此外,新增的内联快照测试等特性,也让测试体验更接近主流测试框架如 Jest。

性能持续领先

作为以性能著称的 JavaScript 运行时,Bun 1.2 在多个方面都实现了显著的性能提升。从 HTTP/2 服务器到文件系统操作,从 JSON 解析到控制台输出,几乎每个常用操作都变得更快。 特别是在 Windows 平台上,JavaScript 执行性能获得了全面提升,这表明 Bun 正在努力填补其在 Windows 支持方面的短板。

展望未来

通过这次更新,Bun 展示了其在全栈开发工具链中的野心。从更完善的 Node.js 兼容性到云服务的原生支持,从更快的包管理到更强大的测试工具,Bun 正在将自己打造成一个真正的全能型开发工具包。特别是在云原生开发方面的创新,显示出 Bun 团队对未来开发趋势的敏锐把握。 然而,挑战依然存在。尽管 Node.js 兼容性有了显著提升,但距离完全兼容仍有距离。同时,如何在保持高性能的同时确保稳定性,也将是 Bun 团队需要持续面对的挑战。 总的来说,Bun 1.2 的发布展示了这个项目的快速发展势头,也证明了 JavaScript 生态系统仍有巨大的创新空间。 对于开发者来说,现在可能是一个合适的时机来认真评估 Bun 是否适合自己的项目需求。 毕竟,在性能、开发体验和云原生支持等方面,Bun 已经展现出了独特的优势。 相关来源https://bun.sh/blog/bun-v1.2

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • javascript
    +关注

    关注

    0

    文章

    525

    浏览量

    56009
  • NODE.JS
    +关注

    关注

    1

    文章

    49

    浏览量

    33884

原文标题:全面进击的JavaScript运行时:Bun 1.2重磅发布,剑指Node.js生态

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用Nuclei Studio IDE计算程序运行时

    在使用Nuclei Studio IDE进行程序运行时,我们想知道我们编写的程序运行时间有多长怎么办呢?可以选择调用IDE里面时间记录函数_gettimeofday(),该函数用于记录程序运行到本
    发表于 10-28 08:25

    怎么实现一套容器运行时,并符合OCI规范?

    如题,怎么实现一套容器运行时,并符合OCI规范
    发表于 10-10 07:35

    装置日常运行时的安全防护检查有哪些注意事项?

    装置日常运行时的安全防护检查,核心原则是 “安全优先、不影响生产、快速识别风险”—— 既要避免因检查操作引发触电、停机等事故,也要高效捕捉运行中的动态隐患(如过热、防护松动)。以下是需重点关注的 8
    的头像 发表于 09-23 16:33 766次阅读

    【M-K1HSE开发板免费体验】M-K1HSE开发板构建HELLO WORLD页面

    工程存放的位置,其他参数保持默认设置即可,点击【finish 】。 其中Node用来配置当前工程运行Node.js版本,可选择使用已有的Node.js或下载新的
    发表于 07-15 04:31

    PLC设备运行时间数据采集到运维管理平台如何实现

    在工厂设备管理工作中,往往需要统计各个设备的运行时间,能够衡量其运行性能,主要为了方便管理人员对设备进行定期维护,以保障设备处于稳定高效的运行状态,减少故障停机导致生产停工的问题。 对此,物通博联
    的头像 发表于 06-20 16:02 583次阅读
    PLC设备<b class='flag-5'>运行时</b>间数据采集到运维管理平台如何实现

    步进电机在高速运行时反电动势波形与其动态响应变化

    步进电机高速运行时,反电动势幅值增大、频率升高,导致电流建立延迟、扭矩下降及动态响应滞后。所以在步进电机高速运行的方案中,我们需要通过优化电机选型(如低电感、适中极数)、升压驱动及BEMF反馈控制,可缓解高速性能衰减,避免PWM饱和导致的扭矩崩溃。
    的头像 发表于 06-10 16:06 1225次阅读
    步进电机在高速<b class='flag-5'>运行时</b>反电动势波形与其动态响应变化

    HarmonyOS5云服务技术分享--ArkTS开发Node环境

    、支付平台的通知,触发自动化流程。 ? 四、总结与展望 通过本文,你已经掌握了HarmonyOS云函数的核心开发流程,特别是Node.js与HTTP触发器的实战技巧。随着HarmonyOS生态的壮大,云
    发表于 05-22 17:21

    可以在运行时通过微控制器配置CCG2 C型板吗?

    我可以在运行时通过微控制器配置 CCG2 C 型板吗?
    发表于 05-07 07:24

    KaihongOS操作系统:开发环境搭建

    ”。 步骤 2选择 Do not import settings,点击 OK。 步骤 3安装 Node.js 与 ohpm。可以指定本地已安装的 Node.js 或 ohpm 路径位置;如果本地 没有合适
    发表于 04-23 07:27

    在树莓派上构建和部署 Node.js 项目

    探索在RaspberryPi上构建和部署Node.js项目的最佳实践。通过我们的专业提示和技巧,克服常见挑战,使您的项目顺利运行。去年圣诞节,我收到了一份极其令人着迷的礼物,它占据了我许多周末的时间
    的头像 发表于 03-25 09:44 516次阅读
    在树莓派上构建和部署 <b class='flag-5'>Node.js</b> 项目

    【干货】什么是Node-RED?一文带你了解!

    一什么是Node-RED?首先我们来认识一下什么是Node-RED。Node-RED是一个基于Node.js的开源可视化编程工具,于2013年由IBM公司推出。它可以通过浏览器的图形化
    的头像 发表于 03-13 19:32 1541次阅读
    【干货】什么是<b class='flag-5'>Node</b>-RED?一文带你了解!

    在Windows上安装OpenVINO™运行时遇到错误怎么解决?

    已在 Windows* 上安装OpenVINO™运行时。 配置环境变量。 遇到错误: Location is not available.
    发表于 03-05 09:13

    无法在ONNX运行时加载OpenVINO™中间表示 (IR),为什么?

    无法在 ONNX运行时加载OpenVINO™中间表示 (IR)
    发表于 03-05 09:07

    运行时OpenVINO™找不到模型优化器,为什么?

    运行时OpenVINO™找不到模型优化器,运行模型下载程序命令并收到错误消息: omz_downloader:找不到命令
    发表于 03-05 08:16

    SciChart—高性能的JavaScript图表和图形库

    使用 SciChart 的 JavaScript 图表库为您的 JS 应用程序发现终极解决方案。 使用 WebGL 创建动态、高速的图表和图形,非常适合实时处理复杂的数据可视化。使用我们强大而灵活
    的头像 发表于 01-22 10:15 2542次阅读
    SciChart—高性能的<b class='flag-5'>JavaScript</b>图表和图形库