2022年9月8日,Javascript运行时Bun正式发布1.0版本,标志着这个由前Facebook工程师创建的项目正式进入稳定生产可用阶段。
Bun的愿景是通过深度整合,让Javascript开发“快如闪电”。这个新生力量是否能撼动Javascript界老牌霸主Node的地位,成为下一代前端开发标准?让我们一睹这个新星的威力。
作为Javascript社区中一个相对较新的革新者,Bun致力于解决碎片化工具过多导致的开发低效问题。它将运行时、打包工具、测试框架等功能融合在一个工具中,提供开箱即用的高性能体验。
Bun兼容现有的Node.js生态,几乎所有Node程序可以无缝迁移。更令人振奋的是,Bun的启动速度可达Node的4倍,运行TypeScript的速度比esbuild+Node快5倍!原因在于其使用了Apple开源的WebKit引擎,而不是Node常见的V8。
bun index.ts
Bun内置对TypeScript和JSX的支持,省去了编译配置的麻烦。同时它也能兼容CommonJS和ESM模块,你可以在同一文件内混合使用import
和require
语句。Bun成功地消除了模块管理的复杂性问题,表现十分出色!
import lodash from "lodash";
const _ = require("underscore");
Bun还拥有先进的本地API,比如用Bun.file()
替代fs读文件,可获得10倍速度提升。Bun.write()
写入文件也比Node快3倍。Bun.serve()
启动HTTP服务支持WebSocket,性能均是Node的5倍左右。可以说,Bun的本地API设计是效率至上的。
Bun最大的杀手锏是其集成的打包功能。基于esbuild优化,它比主流的Rollup、Parcel、Webpack都快上一两个数量级,堪称JS打包速度之最。Bun更开创了JS宏的新概念,可以在打包时运算JS函数并内联结果到代码中,是其他打包器难以企及的创新
对于前端测试,Bun实现了与Jest兼容的测试框架bun:test
。它利用原生实现提升了匹配器速度,完爆Jest和Vitest达10-100倍。命令bun test
即可享受极速测试体验。
最后,Bun现在首次推出实验版本,为Windows操作系统提供原生支持,这意味着Windows用户无需再依赖Windows Subsystem for Linux(WSL),即可轻松体验Bun所带来的超光速开发乐趣。
Bun 1.0的发布预示着Javascript生态可能再次被颠覆和重塑。新老开发者们不妨试用Bun,体验其中的进化与乐趣。让我们共同见证Javascript的新纪元!