写点什么

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:095563

评论

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

8万Star!这个开源项目有点强!

Jackpop

利用Vim和Github Copilot打造一款强大IDE!

Jackpop

<T>和<?>区别

六月的雨在InfoQ

泛型 Java泛型 9月月更 <T> <?>

【云原生 | 从零开始学Kubernetes】十、k8sPod节点亲和性和反亲和性

泡泡

Docker 云计算 云原生 k8s 9月月更

Python 入门与基础《刷题篇》(2)

吉师职业混子

9月月更

赞美,还是责备?全盘否定孩子的一切是“虐待”!

图灵社区

育儿 教育 脑科学

【编程实践】手把手带你利用Python简单实现斐波那契数列

迷彩

斐波那契 9月月更 数列

docker与gosu

程序员欣宸

Docker 9月月更 gosu

从零开始 - 40行代码实现一个简单Promise函数

茶无味的一天

JavaScript Promise

作业

兜里贼缺钱

极客时间—架构实战营—第九期—模块一作业

阿梁

HowTo:Pipy 如何统计关键指标

Flomesh

Service Mesh 服务网格

Python语法之函数

芯动大师

9 月 Jina AI 中文社区面对面

Jina AI

人工智能 开源 工程师

2021年中国知识图谱软件及服务市场规模超100亿,竞争格局不稳定

易观分析

知识图谱

Javaweb之会话技术

楠羽

技术 笔记 9月月更

大数据ELK(五):Elasticsearch中的核心概念

Lansonli

ELK 9月月更

Spring 注解 @Resource 与 @Autowired 的区别

六月的雨在InfoQ

注解 依赖注入 @Autowired @Resource 9月月更

跟着卷卷龙一起学Camera--内存池浅析03

卷卷龙

ISP 9月月更

2021年中国机器学习平台软件及服务市场规模近100亿

易观分析

机器学习

python学习之21天(1)

吉师职业混子

9月月更

视频直播+小程序,打破物理空间的电商卖货时代!

Speedoooo

小程序 小程序生态 直播带货 电商营销 小程序容器

小程序化:系统集成行业降本增效的破局思考

Speedoooo

小程序 数字化转型 小程序容器 生态平台

从零开始 - 50行代码实现一个Vuex状态管理器

茶无味的一天

JavaScript Vue vuex

易周金融分析 | 银行融资青睐可转债;苏州市手机银行应用活跃人数规模发布

易观分析

金融 银行

【数据结构与算法】8道链表面试真题超详剖析,带你领略算法思想【附思路、动图、源码】

Dream-Y.ocean

链表 数据结构与算法 9月月更

极客时间架构训练营模块一作业

李晨

架构

赞美,还是责备?全盘否定孩子的一切是“虐待”!

图灵教育

育儿 教育 脑科学

开源免费!又一款代码文档生成工具!

Jackpop

云效DevOps--效能无极限

六月的雨在InfoQ

云效 Codeup 云效流水线 Flow 9月月更 Thoughts

Python 入门与基础《刷题篇》(1)

吉师职业混子

9月月更

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