写点什么

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

评论

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

元器件温度系数(ppm/℃)是什么?

不脱发的程序猿

元器件温度系数

MySQL字符集和排序规则详解

C++后台开发

MySQL 数据库 中间件 后端开发 C++开发

Guitar Pro2024最新免费版吉他打谱软件下载

茶色酒

Guitar Pro Guitar Pro8 guitar pro2023

追求技术极致 探索落地先机 毫末智行城市NOH公布未来产品规划

科技大数据

新能源汽车

分享 7 个不错的 AI 工具

devpoint

人工智能 AI openai

8 个很酷的 GitHub 技巧

devpoint

GitHub vscode 开发技巧

使用 App Store Connect API 批量创建内购商品

37手游iOS技术运营团队

AppleParty 苹果派 App Store Connect API 批量创建内购IAP 批量上传 IAP

如何使用Gradle构建一个多模块项目?

风铃架构日知录

Java 程序员 后端 码农 架构师

高并发系统设计的15个锦囊

小小怪下士

Java 程序员 系统设计 高并发

Portraiture4人像智能磨皮插件下载亲测可用

茶色酒

Portraiture2023 Portraiture

2023-01-07:hyper/docker-registry-web是registry的web界面工具之一。请问部署在k3s中,yaml如何写?

福大大架构师每日一题

云原生 k8s k3s 福大大

如何告别丑陋判空?一个Optional类就能搞定!

风铃架构日知录

Java 程序员 程序人生 后端 码农

如何让你的架构设计应用做到高内聚、低耦合?

风铃架构日知录

Java 程序人生 后端 架构设计 后端开发

选购LED显示屏时需要注意8个技术参数

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

干掉 “重复代码”,这三种方式绝了!

风铃架构日知录

Java 程序员 码农 工程师 代码

【Redis技术探索】「数据迁移实战」手把手教你如何实现在线+离线模式进行迁移Redis数据实战指南(在线同步数据)

码界西柚

redis 数据同步 1月日更 数据同步工具 RedisShake

极客时间运维进阶训练营第十周作业

老曹

用 SwiftUI 实现 AI 聊天对话 app - iChatGPT

37手游iOS技术运营团队

ios SwiftUI openai ChatGPT

OpenTelemetry日志体系

骑牛上青山

Java 日志 log 调用链 OpenTelemetry

盘点毫末智行AI DAY:智算中心成立、六大闭环、MANA五大模型...助力毫末智能驾驶产品快速迭代

科技大数据

中国自动驾驶行业最大智算中心亮相 毫末顾维灏:毫末车端感知架构实现跨代升级

科技大数据

汽车

你知道微服务架构中的“发件箱模式”吗

JAVA旭阳

Java 架构

Button(按钮)与ImageButton(图像按钮)

芯动大师

Android Studio button imagebutton

运维训练营第十一课作业

好吃不贵

直播交友一对一视频语音APP项目系统架构和模式分析(成品1对1源码)

山东布谷科技胡月

视频语音直播app开发 语音直播交友系统搭建 社交app开发 1v1语音系统搭建 视频社交APP开发

社交视频直播一对一交友APP源码之Android如何打包APP

山东布谷科技胡月

语音直播app开发

TSDB助力井下位置服务

CnosDB

数据库 IoT 时序数据库 开源社区 infra

毫末智行稳健收官2022“三大战役” 火力全开打响2023“四大战役”

科技大数据

智能汽车

分享 7 个VUE项目用得上的JavaScript库

devpoint

JavaScript Vue 前端开发 前端开发框架

使用 OpenAI ChatGPT 进行了编码尝试

devpoint

人工智能 openai ChatGPT

线上压测

agnostic

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