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

    文章

    526

    浏览量

    56530
  • NODE.JS
    +关注

    关注

    1

    文章

    49

    浏览量

    34019

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Exein设立台湾亚太运营中心:以运行时安全重构物联网全球标准

    枢纽,携手台湾及亚太地区产业伙伴,推动运行时安全(Runtime Cybersecurity)成为物联网生态体系的全球新标准,为智能设备、工业控制系统及边缘计算场景提供更可靠的安全防护基石。
    的头像 发表于 04-24 10:46 627次阅读

    ELF-RV112B RKNN模型加载与运行时初始化

    ELF-RV112B RKNN模型加载与运行时初始化
    的头像 发表于 04-03 16:08 167次阅读
    ELF-RV112B RKNN模型加载与<b class='flag-5'>运行时</b>初始化

    S32K322可以在运行时在时钟选项 A 和选项 F (A ↔ F) 之间动态切换吗?

    我正在使用S32K322并使用预定义的时钟选项(当前选项 A)S32K3xx 数据表和参考手册中所述。 我想确认一下是否是支持在运行时在选项 A (PLL @160 MHz) 之间动态切换
    发表于 04-02 07:43

    OpenClaw搭建教程:云服务器一键部署完整流程

    基于Node.js运行的开源AIAgent框架,因此部署方式和很多Node.js应用类似。只要具备一台Linux云服务器,并安装Node.js环境,就可以完成OpenClaw的部署。根
    的头像 发表于 03-12 14:39 649次阅读

    Kubernetes容器运行时containerd与CRI-O如何选择

    Kubernetes 1.24版本正式移除了dockershim,Docker不再是K8s的默认容器运行时。这个变化直接影响了所有K8s集群的运维方式——升级到1.24+必须切换到containerd或CRI-O。
    的头像 发表于 02-26 09:54 431次阅读

    请问如何在运行时调整mcu的主频?

    能不能实现在运行时切换mcu的主频,但不重启mcu?
    发表于 01-16 07:12

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

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

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

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

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

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

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

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

    MTB如何在运行时介入Jlink调试器?

    目前我们的应用程序在运行时会偶发死机现象,有没有办法能够在CYW43907芯片不复位的情况下介入调试器,查看导致死机的问题
    发表于 07-08 07:46

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

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

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

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