00. 长话短说
大家好,我是大家的林语冰。
Vite 之父(尤雨溪,Evan You)创立了 VoidZero,这是一家致力于为 JS 生态系统构建开源、高性能和统一开发工具链的公司,目前已经筹集了 460 万美元(2000 多万软妹币)的种子资金,由 Accel 领投。
免责声明
这篇官方博客是 AI 翻译 + 真人删改,仅供粉丝参考。英文原味版请传送 Announcing VoidZero - Next Generation Toolchain for JavaScript。
01. 公司背景
15 年前,当尤大开始使用 JS 构建应用程序时,JS 主要是一种基于浏览器的脚本语言。
如今,JS 已发展为地球上使用最广泛的语言,从 Web 和移动应用程序、到游戏开发、甚至 IoT 的方方面面,JS 都提供了支持。
多年来,涌现了一大坨优秀的工具来解决 JS 应用程序日益增长的规模和复杂性。然而,生态系统一直分崩离析:每个应用程序都依赖于无数的第三方依赖,配置它们以更好地协同工作,仍然是开发周期中最艰巨的任务之一。
作为使用最广泛的前端框架之一的作者,Vue 之父尤大花费了大量精力来研究 JS 工具堆栈的分层,组装了数百个依赖,并在它们之上设计复杂的抽象。
团队的目标始终是为最终用户提供有凝聚力的、开箱即用的开发体验。这些努力最终导致了 2020 年 Vite 的诞生。四年以来,Vite 成为人气最高的 Web 开发构建工具之一,每周下载量超过 1500 万次,拥有庞大的生态系统。
除了是使用 React 和 Vue 构建的单页应用程序的首选工具之外,Vite 还为 Remix、Nuxt、Astro 等元框架提供支持。Vite 显然已经成为下一代 Web 框架的共享基建层。
社区对 Vite 的信任让尤大对其未来进行了深刻反思。虽然 Vite 极大地改善了高级开发者的体验,但在内部,Vite 仍依赖于各种依赖,通过抽象和解决方法来消除不一致性。
在性能方面,Vite 仍然受到不同工具之间重复解析和序列化成本的瓶颈,并且由于功能限制和可定制的限制,Vite 无法充分利用 esbuild 等原生工具。
团队开始设计一个新型打包器 Rolldown,为 Vite 的需求量身打造。但当尤大深入到打包器底层时,他意识到 Vite 面临的挑战反映了整个 JS 生态系统:碎片化、不兼容和效率低下。
要从根本上改变这种窘境,需要一个统一的工具链。请想象一个工具链:
- 统一:对所有任务(解析、转换、lint、格式化、打包、压缩、测试)使用相同的 AST、解析器和模块互操作,消除不一致,并降低冗余解析成本。
- 高性能:以编译为原生语言编写,专为提高速度而设计,具有最大的并行化和低开销 JS 插件支持。性能预算解锁了更雄心勃勃的功能,这些功能不仅可以改善开发者体验,还可以改善最终用户体验。
- 可组合:工具链的每个组件独立使用,为高级定制提供构建块。
- 运行时无关:不依赖特定的 JS 运行时,在所有环境中提供相同的开发者体验。
这样的工具链不仅会增强 Vite,还会推动整个 JS 生态系统的重大改进。这是一个雄心勃勃的愿景,要实现它需要一个全职、敬业的团队,这在过去项目的独立可持续发展模式下绝无可能。
这就是 VoidZero 成立的原因。尤大爆料,目前已经筹集了 460 万美元的种子资金来实现这一愿景。VoidZero 种子轮由 Accel 领投,参与的还有 Eric Simons(StackBlitz)、和 Christian Bach(Netlify)、Sebastien Chopin(NuxtLabs)等等。
02. 目前进展
去年,我们建立了一支致力于 JS 工具的专业团队,包括广泛采用的开源项目(如 Vite、Vitest、Oxc)的创建者和核心贡献者,以及 Rspack 的前任核心贡献者。
我们一直在努力开发我们设想的工具链的基础元素。除了对 Vite 的持续改进外,我们还提供了:
- oxc-parser:最快且最符合规范的 JS 解析器,比 SWC 快 3 倍
- oxc-resolver:最快的 Node 兼容解析器,比 enhanced-resolve 快 28 倍
- oxc-transform:最快的 TS/JSX 转换器,比 SWC 快 4 倍
- oxlint:最快的 linter,比 ESLint 快 50-100 倍
- Vitest:功能最齐全的 Web 应用程序测试运行程序
- Rolldown:最快的打包器,构建在 Oxc 之上,比 esbuild 和所有其他 Rust 打包器更快
虽然仍处于早期阶段,但我们的开源项目已经被一些世界领先的工程团队使用,包括 OpenAI(ChatGPT Web 客户端)、Google、Apple、Microsoft 等。
后续规划
我们未来几个月的主要目标是稳定 Rolldown,并使其成为 Vite 在开发和生产中的统一打包器。我们已经取得了很大进展,并计划在今年稍晚发布由 Rolldown 提供支持的 Vite alpha 版本。
2025 年,我们将继续完成 Oxc 的压缩、格式化等其他功能,并逐步将整个 Vite 生态迁移到 Rolldown 和 Oxc 的支持下。我们将与生态系统合作伙伴和利益相关者密切合作,确保最终用户的平稳过渡。
参考文献
- Voidzero Blog :voidzero.dev/posts/annou...
- Vite :vitejs.dev
- Rolldown :rolldown.rs
粉丝互动
本期话题是:如何看待 VoidZero 统一前端工具链的远大愿景?你可以在本文下方自由言论,或者转发分享。
欢迎持续关注我,深度学习更多前端进阶的技术细节。谢谢大家的点赞和分享,我们下期再见~