最近,Vue 团队正式开源了基于 Rust 的打包工具 Rolldown。
Rolldown 是一款用 Rust 重新编写的 Rollup 替代品。而 Rollup 使用的是 javascript。
Rolldown 类似于 esbuild,它是一款专注于速度和性能的 JavaScript 构建工具。
尤雨溪(Evan You)表示,在捆绑纯 esm 模块时,Rolldown 比 esbuild 快 1.4~2 倍。但这次大家对性能的关注度不太高。反而是 Rust 占了很大一部分的注意力。
在前端领域里使用 Rust,到底对不对很难讲,有位网友是这样评价的:“esbuild 基本上是 Evan 的单人项目,所有代码都是为 esbuild 量身打造的。这并不是什么坏事,Evan 独自一人提升了 Node 的捆绑性能,并带领我们走上了使用 Rust 开发工具的道路。其他语言的工具编写库和生态系统正蓬勃发展,例如针对 JS/TS/Node 的 oxc、SWC、LightningCSS、Biome、rslint、Deno、rspack、napi-rs/Neon 项目,以及针对 Python 的 ruff、uv、rattler、pixi 等项目。这些项目带来了大量的库和作者,可以互相分享和帮助。此外,就个人而言,使用比如 Rust 这种语言来编写解析器等工具并没有让它更具工效。”
也许 Rolldown 这个例子很好地展现了技术发展的“拐点”。毕竟,几年前,用 Rust 开发 JavaScript 工具被认为不是最优选择。然而,一些特立独行的人并不在意。
对于语言的转变,尤雨溪还特地表示“以前主要使用 JS/TS 的 Vue 社区成员,现在能够在 Rust 中做出贡献了。”
Rolldown 官网显示,该项目团队成员共有 4 人,现在由 Vue 和 Vite 作者尤雨溪领导。
这个项目,也被一些 Vue 粉捧得像“天上有地上无”似的:“Rolldown 可能是未来五到十年间最具份量的 Web 项目。它以领先时代的气魄带来了摇树优化等关键概念。”
对于 Justin Schroeder 的说法,各位前端大大是怎么看的?欢迎留言评论:)