前端又有新东西?比 Webpack 快 700 倍的 Turbopack 来了!

982beb26b30cc74d70e5dce6205fa64e.gif

整理 | 朱珂欣   

出品 | CSDN(ID:CSDNnews)

很多人对 Next.js 并不陌生,Vercel 作为 Next.js 背后的公司,一直以来通过提供云平台来优化前端团队的整个开发和部署体验。

10 月 26 日,Vercel 公司宣布了最新的开源项目:Turbopack 。

早前, Webpack 的创建者 Tobias Koppers 就表示:“ Webpack 被下载超过 30 亿次,它已成为 Web 构建不可或缺的一部分。不过现在,需要构建 Web 下一代打包工具了。”

随后,Turbopack 出现,成为基于 Rust 编写的 Web 下一代打包工具。

前端又有新东西?比 Webpack 快 700 倍的 Turbopack 来了!_第1张图片

(图源:Twitter 官网截图)

af390c2bb7a649b01ac6c4e1845c899c.png

前端新东西,比 Webpack 快 700倍

其实,Turbopack 或许是 Vercel 公司早前一些工作的延续。此前,他们用基于 Rust 的 SWC 替换基于 JavaScript 的转译器 Babel,速度提升了 17 倍。他们还替换了 Terser,压缩的速度提高了 6 倍,从而减少了加载时间和带宽的使用。

据 Vercel 首席执行官 Guillermo Rauch 介绍,与 Webpack 一样,Turbopack 也是开源的。但 Turbopack 建立在新的增量架构之上,因此可提供最快的开发体验。

同时,Vercel 公司声称“ Turbopack 的更新速度比 Vite 快10倍,比 Webpack 快 700 倍。对于大型应用程序,差异甚至更大,更新速度比 Vite 快 20 倍。尤其是对于具有 3000 个模块的应用程序, Vite 需要 11.4 秒 ,Turbopack 仅需 1.8 秒即可启动。”

那么,为什么 Turbopack 可以这么快?

主要原因还是 Turbopack 的架构借鉴了 Turborepo 和 Google 的 Bazel 等工具的经验教训。Turbopack 建立在 Turbo 之上 —— 一个基于 Rust 的开源、增量的记忆框架。Turbo 可以缓存程序中任何函数的结果。当程序再次运行时,函数不会重新运行,除非函数的参数发生改变。这种精细的体系结构使程序能够在函数级别跳过大量工作。

13015e52b109433774635fc1ff286e38.png

Turbopack 的未来

关于 Turbopack 的未来,Vercel 公司也抱有很大的期待,致力于帮助更多用户带来良好的体验,它表示:“Turbopack 将用于 Next.js 13开发服务器。它将为闪电般的 HMR 提供支持,它将原生支持 React Server Components, TypeScript ,JSX ,CSS 等。”

最终,Turbopack 还会为 Next.js 的生产环境提供支持。此外,Webpack 用户还可以期望未来可以增量迁移到 Rust-based 的 Turbopack 特性 。

前端又有新东西?比 Webpack 快 700 倍的 Turbopack 来了!_第2张图片

(图源:Vercel 官网)

80c204b4018151b428f3065c7df9c9f7.png

网友:我对这个决定感到非常满意!

Turbopack 出现后,在 Hacker News 上引发热议,还有许多网友对比将 Webpack 和 Turbopack 做出了对比:

  • “经过多年为各种项目配置 Webpack,我厌倦了创建和维护数百行文件,我想要一些有用的东西”;

  • “我对这个决定感到非常满意”;

  • “ Webpack 给我带来巨大挫败感,我总会得到相对复杂的配置”;

  • “ 目前看来,我觉得 Turbopack 还需要做得更好”。

任何事物从诞生到沉淀的路上,都夹杂着肯定与质疑的声音,未来 Turbopack 会给开发人员带来怎样的体验呢?还需要把一切交给时间……

参考链接:

https://vercel.com/blog/turbopack

https://turbo.build/blog/turbopack-benchmarks

https://news.ycombinator.com/item?id=33333695

https://devclass.com/2022/10/25/webpack-founder-debuts-rust-based-turbopack-that-is-700x-faster/

你可能感兴趣的:(java,python,编程语言,人工智能,大数据)