写点什么

Bun 1.0 JavaScript 运行时发布,附带 Windows“实验”版

  • 2023-09-22
    北京
  • 本文字数:1262 字

    阅读完需:约 4 分钟

大小:609.58K时长:03:28
Bun 1.0 JavaScript运行时发布,附带Windows“实验”版

Bun 团队已经为其 JavaScript/TypeScript 运行时公布了 1.0 稳定版,正式版在速度、集成度和兼容性等方面均做出了强有力的承诺。

 

项目缔造者 Jarred Sumner 在视频演示中解释道,“Bun 是一款完整的工具包,用于构建、测试和调试各类 JavaScript 与 TypeScript 应用场景,小到袖珍脚本、大到全栈服务器端渲染应用皆可支持。”Bun 在设计上还与 Node.js 相兼容。虽然目前还存在一些限制,导致不少开发者对其“替代品”的宣传定位仍旧存疑,但相当一部分命令和 API 已经确实有效。而且与 Node.js 不同,Bun 使用苹果 JavaScriptCore 引擎并由 Zig 构建而成。

 

Bun 能够运行 TypeScript 与 JavaScript,而又无需进行类型检查——这明显违背了开发者选择 TypeScript 的基本初衷。不过,开发人员也可使用 TypeScript 编译器 tsc 来配合 Bun。

 

Bun 的特色之一,在于它能支持 ES(EcmaScript)模块(浏览器直接支持)与 CommonJS(较早的模块系统)。开发团队认为,CommonJS 在 JavaScript 生态系统中已经根深蒂固,不可贸然放弃对它的支持。Sumner 表示,“无论再过多久,总会有一部分软件包尚未使用 ES 模块。”



项目缔造者 Jarred Sumner 在视频中展示 Bun

 

Bun 开发团队在速度方面做出了大胆承诺。他们发布的帖子提到,bun 软件包的安装速度是 npm(Node 包管理器)的 29 倍;在 JavaScript 测试中速度为 Jest 的 13 倍;打包速度则是 esbuild 的 1.75 倍。

 

Bun 在此番发布中还推出“高度实验性的”Windows 版本。在此之前,Bun 还仅能支持 Mac、Linux 和 Windows Linux 子系统(WSL)。开发团队介绍称,所谓“高度实验性”,是指这套 Windows 版“仅支持 JavaScript 运行时;其他包管理器、测试运行器和捆绑器均被禁用,待后续稳定时方可开放。”

 

Bun 目前能够支持的框架为 Next.js、Astor 和 Nest.js。其他可与 Bun 配合使用的框架则包括 Nuxt、SvelteKit 和 Vite。

 

Bun 还加入了 Deno,希望构建起比现有 Node.js 更出色的运行时。基于 Node 的开发环境往往涉及不同工具集合,也因此变得难以管理。Bun 与 Deno 简化了这一点,与 Deno 相比,Bun 更倾向于兼容 Node.js 和 CommonJS,这对不少开发者都具有一定的吸引力。一位开发者指出,“我们有一支全栈 TypeScript 团队,管理着约 50 个内部库和约 50 万行 TypeScript 代码。上个月,我们尝试用 Deno 加 Bun 作为替代运行时。简单来讲:只要复杂度不是特别高的代码库,Bun 几乎都能直接兼容,而 Deno 则几乎全都无法兼容。”

 

但对于有些人来说,虽然 Bun 已经迎来 1.0 版本,但这款相对较新的工具还略显青涩、难堪生产工作负载的大任。而且不少人发现虽然 Bun 表现不错,但实际性能其实达不到当初承诺的水平。不过总体而言,Bun 的首个正式版本还是获得了不错的评价。

 

相关链接:


https://devclass.com/2023/09/11/bun-1-0-javascript-runtime-released-complete-with-experimental-windows-version/

 

https://www.youtube.com/watch?v=BsnCpESUEqM

 

https://www.infoq.cn/article/Uj6bY5VyC6IDheuilHOC


相关阅读:

Bun 会是 Webpack 之后的下一件大事吗?

比 Node.js 快三倍,新 JavaScript 运行时 Bun 火了

亲身试用新 JS 运行时 Bun 后,我觉得未来可期

疑为针对最近大火的“Bun”

2023-09-22 16:095446

评论

发布
暂无评论
发现更多内容

基础逻辑门

芯动大师

Verilog 11月月更 Xilinx

构建高质量的持续交付体系

老张

软件工程 持续交付

【Dubbo源码】SPI机制源码解析

石臻臻的杂货铺

dubbo 11月月更

透视用户需求深挖服务潜力:2022中国商业查询行业洞察

易观分析

商业 查询

从0开始,让你的Spring Boot项目跑在Linux服务器

闫同学

spring Linux 服务器 11月月更

MySQL事务的隔离级别以及脏读、幻读和不可重复读

闫同学

MySQL 事务 11月月更

OWASP API安全漏洞类型

阿泽🧸

11月月更 OWASP API

Thymeleaf入门教程

Studying_swz

前端 thymeleaf 11月月更

JVM Sandbox入门教程与原理浅谈

Zhendong

Java JVM

2022-11-14:rust语言,请使用过程宏给结构体AAA生成结构体AAABuilder和创建AAABuilder实例的方法。 宏使用如下: #[derive(Builder)] pub stru

福大大架构师每日一题

rust 福大大 过程宏

初始Java诊断工具-Arthas

石臻臻的杂货铺

Java Arthas 11月月更

阿里云弹性计算总经理张献涛:智能化、高效能、新交互将重塑互联网

云布道师

弹性计算 云栖大会

工信部电子五所李冬:在龙蜥社区的一站式自动化测试平台的探索和实践|2022云栖龙蜥实录

OpenAnolis小助手

开源 操作系统 自动化测试 龙蜥社区 2022云栖大会

【愚公系列】2022年11月 微信小程序-app.json配置属性之Worker

愚公搬代码

11月月更

湖仓一体架构下的数据研发及管理

数造万象

深入浅出学习透析Nginx服务器的基本原理和配置指南「初级实践篇 」

码界西柚

nginx 正向代理与反向代理 11月日更 nginx 开源版 开发指南

精益创业者的用户体验设计

产品海豚湾

产品经理 产品设计 精益思想 用户体验 11月月更

python小知识-单元测试

AIWeker

Python python小知识 11月月更

甩掉容量规划炸弹:用 AHPA 实现 Kubernetes 智能弹性伸缩

阿里巴巴云原生

阿里云 Kubernetes 云原生 AHPA

数字化转型有可能让所有人满意吗?

优秀

数字化转型

EMI 滤波电路是由哪些元件组成的,一文看懂!

元器件秋姐

元器件采购 元器件电商 EMI滤波电路 滤波电路 元器件知识

九科信息受邀参加中国总会计师协会财务数智化转型研讨会

九科Ninetech

指标体系搭建中需要规避的问题

穿过生命散发芬芳

指标体系 11月月更

算法题学习---删除链表的倒数第n个节点

桑榆

算法题 11月月更

秒云加入OpenCloudOS操作系统开源社区,携手打造更智能、更可控、更可信的云原生环境

MIAOYUN

开源社区 opencloudOS

泛型由入门到精通(3)

好程序员IT教育

Java 泛型

数据预处理和特征工程-特征选择-Embedded嵌入法

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

谈谈我对服务网格的理解

阿里巴巴云原生

阿里云 云原生 服务网格

浅谈MVC、MVP、MVVM框架模式

闫同学

mvc MVP MVVM 11月月更 框架模式

4K60帧!RayLink远程控制软件如何帮助设计师远程办公?

RayLink远程工具

远程控制软件 远程办公软件 远控软件 远程桌面连接 RayLink

mysql的高可用方案以及优缺点

想要飞的猪

Bun 1.0 JavaScript运行时发布,附带Windows“实验”版_架构/框架_核子可乐_InfoQ精选文章