乐于分享
好东西不私藏

为什么前端工具开始用 Rust 重写?一场工具链革命

为什么前端工具开始用 Rust 重写?一场工具链革命

最近几年,如果你关注前端工程化,会发现一个很明显的趋势:

越来越多的前端工具开始用 Rust 重写。

例如:

esbuild
swc
rolldown
oxc
biome

很多人第一次看到这些项目时都会疑惑:

前端工具不是 JavaScript 写的吗? 为什么突然开始用 Rust?

其实这背后,是整个前端工程化的一次 技术升级


一、JavaScript 工具链的问题

过去十几年,绝大多数前端工具都是用 JavaScript 写的。

例如:

Webpack
ESLint
Babel
Rollup

这种方式有一个明显好处:

生态统一。

开发者可以用同一种语言开发工具。

但随着项目规模越来越大,这种模式也开始暴露问题:

性能瓶颈。

例如在一个大型项目中:

ESLint
可能需要 20 秒

而 Babel 编译大型项目时:

可能需要几十秒

当项目越来越大时,这些工具的运行时间会越来越长。

于是很多团队开始思考一个问题:

有没有更快的实现方式?


二、Rust 带来的性能优势

Rust 是一种系统级语言。

它的特点是:

高性能
内存安全
并发友好

对于工具链来说,这几个特点非常重要。

因为前端工具通常需要做很多事情:

  • 解析代码
  • AST 转换
  • 打包
  • 压缩
  • lint 检查

这些任务本质上都是:

CPU 密集型任务。

Rust 在这种场景下通常比 JavaScript 快很多。

例如:

工具
语言
速度
ESLint
JS
Oxlint
Rust
快很多

很多项目的 lint 时间可以从:

30 秒

降低到:

1 秒

三、Rust 工具链正在形成

最近几年,其实已经出现了一整套 Rust 前端工具链

例如:

构建工具

esbuild
rolldown

编译工具

swc
oxc

Lint 工具

oxlint
biome

这些工具的目标都很一致:

替代旧的 JavaScript 工具。


四、Vite 生态为什么拥抱 Rust?

如果你最近关注 Vite 生态,会发现很多新项目都在使用 Rust。

例如:

Rolldown
Oxc
Oxlint

这些项目都来自:

VoidZero 团队。

这个团队的目标很明确:

打造下一代前端工具链。

例如:

  • Rolldown:替代 Rollup
  • Oxlint:替代 ESLint
  • Oxc:新的 JS 工具链

这些工具未来可能会成为:

Vite 的默认工具。


五、Rust 工具为什么越来越多?

其实不仅是 Vite 生态。

整个前端社区都在向 Rust 工具迁移。

例如:

工具
语言
esbuild
Go
swc
Rust
biome
Rust
rolldown
Rust

原因其实只有一个:

速度。

当项目规模越来越大时:

构建时间往往成为开发体验的最大瓶颈。

如果一个工具能把构建时间从:

30 秒

降低到:

2 秒

开发效率会明显提升。


六、对前端开发者意味着什么?

很多人会担心:

前端工程师是不是也要学 Rust?

其实不需要。

对于大多数开发者来说:

Rust 只是 工具的实现语言

我们依然可以像以前一样使用这些工具:

例如:

vite

或者:

vite build

背后可能已经是 Rust 工具在运行。

但对开发体验来说是透明的。


七、未来的前端工具链

如果按照现在的发展趋势,未来的工具链可能会变成:

开发服务器:

Vite

构建工具:

Rolldown

Lint:

Oxlint

测试:

Vitest

部署:

Void

这些工具很可能会组成:

下一代前端开发平台。


总结

过去十年,前端工具链主要由 JavaScript 实现

而现在,一个新的趋势正在出现:

Rust 工具链。

这种变化带来的最大价值就是:

更快
更稳定
更适合大型项目

未来几年,我们很可能会看到越来越多的前端工具:

用 Rust 重写。


互动问题

你们现在项目的构建速度大概是多少?

10 秒
30 秒
1 分钟

有没有尝试过:

swc
esbuild
rolldown

这些新工具?

欢迎留言聊聊 👇

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 为什么前端工具开始用 Rust 重写?一场工具链革命

猜你喜欢

  • 暂无文章