当前位置:首页|资讯

十月一日!尤雨溪宣布推出:下一代的 JavaScript 工具链 VoidZero

作者:程序员Sunday发布时间:2024-10-04

前端训练营:1v1私教,终身辅导计划,帮你拿到满意的 offer 已帮助数百位同学拿到了中大厂 offer

Hello,大家好,我是 Sunday。

在 2024 年国庆节当日,尤雨溪发布博客称将推出【下一代 JavaScript 工具链 VoidZero】,并已获得 460万美金 的种子投资。

博客地址:https://voidzero.dev/posts/announcing-voidzero-inc

原文

下文中【我】代表【尤雨溪】

TL;DR:我创立了 VoidZero Inc.,这是一家致力于为 JavaScript 生态系统构建开源、高性能和统一开发工具链的公司。我们已筹集了 460 万美元的种子资金,由Accel领投。

15 年前,当我开始使用 JavaScript 开发应用程序时,它主要是一种基于浏览器的脚本语言。如今,它已发展成为世界上使用最广泛的语言,为从 Web 和移动应用程序到游戏开发甚至物联网等所有领域提供支持。

多年来,许多优秀的工具应运而生,以应对 JavaScript 应用程序日益增长的规模和复杂性。然而,生态系统始终是碎片化的:每个应用程序都依赖于无数的第三方依赖项,而配置它们以使其协同工作仍然是开发周期中最艰巨的任务之一。

作为最广泛使用的前端框架之一的作者,我投入了大量精力研究 JavaScript 工具堆栈的每一层,组装数百个依赖项,并在其之上设计复杂的抽象。我们的目标始终是为最终用户提供统一、开箱即用的开发体验。这些努力最终促成了Vite在 2020 年的诞生。

四年过去了,Vite 已经成为了最受欢迎的 Web 开发构建工具之一,每周下载量超过 1500 万次,生态系统十分庞大。除了成为使用ReactVue构建的单页应用程序的首选之外,Vite 还为Remix、Nuxt、Astro、SvelteKit、SolidStart、Qwik、Redwood等元框架提供支持。它显然已经将自己定位为下一代 Web 框架的共享基础架构层。

社区对 Vite 的信任让我对它的未来进行了深刻的思考。虽然 Vite 极大地改善了高级开发人员的体验,但在内部,它仍然依赖于各种依赖项,并使用抽象和变通方法来消除不一致之处。在性能方面,它仍然受到跨不同工具的重复解析和序列化成本的瓶颈,并且由于功能限制和可定制性有限,它无法充分利用esbuild等本机工具。

我们开始设计一个新的打包器 Rolldown,专门针对 Vite 的需求。但随着我深入到打包器下面的各个层,我意识到 Vite 面临的挑战反映了整个 JavaScript 生态系统的现状:碎片化、不兼容和低效。要从根本上改变这种情况,需要一个统一的工具链。

想象一下这样的工具链:

  • 统一:对所有任务(解析、转换、检查、格式化、捆绑、压缩、测试)使用相同的 AST、解析器和模块互操作,消除不一致性并减少冗余解析成本。

  • 高性能:使用编译为本机语言编写,从头开始设计以提高速度,具有最大并行性和低开销 JS 插件支持。性能预算解锁了更多雄心勃勃的功能,不仅可以改善开发人员的体验,还可以改善最终用户体验。

  • 可组合:工具链的每个组件都可以独立使用,为高级定制提供构建模块。

  • 运行时无关:不依赖于任何特定的 JavaScript 运行时——在所有环境中提供相同的开发人员体验。

这样的工具链不仅会增强 Vite,还会推动整个 JavaScript 生态系统的重大改进。这是一个雄心勃勃的愿景,实现它需要一支全职、敬业的团队——在我过去项目的独立可持续发展模式下,这是不可能的。这就是 VoidZero 成立的原因。

我很高兴地宣布,我们已经筹集了 460 万美元的种子资金来实现这一愿景。我们的种子轮融资由Accel领投...

目前发展

在过去的一年里,我们建立了一支在 JavaScript 工具方面拥有深厚专业知识的团队,其中包括Vite、Vitest、Oxc等广泛采用的开源项目的创建者和核心贡献者,以及Rspack的前核心贡献者。

我们一直在努力开发我们设想的工具链的基础元素。除了对 Vite 的持续改进之外,我们还提供了:

  • 速度最快、最符合规范的 JavaScript 解析器 ( oxc-parser ),比 SWC 快 3 倍 -基准

  • 最快的 Node.js 兼容解析器 ( oxc-resolver ),比基准enhanced-resolve快28 倍

  • 最快的 TypeScript / JSX 转换器 ( oxc-transform ),比 SWC 快 4 倍 -基准

  • 最快的 linter ( oxlint ),比 ESLint 快 50-100 倍 -基准

  • 功能最齐全的 Web 应用程序测试运行器 ( Vitest )

  • 最快的打包器 ( Rolldown ),基于 Oxc 构建。比 esbuild 和所有其他 Rust 打包器都快 -基准(目前处于 alpha 阶段)

虽然还处于早期阶段,但我们的开源项目已经被一些世界领先的工程团队使用,其中包括 OpenAI(ChatGPT 网络客户端)、谷歌、苹果、微软、Visa、Shopify、Cloudflare、Atlassian、Reddit、HuggingFace、Linear等。

接下来会怎么做?

我们未来几个月的主要目标是稳定 Rolldown,使其成为 Vite 在开发和生产中的统一打包工具。我们已经取得了很大进展,并计划在今年晚些时候发布由 Rolldown 提供支持的 Vite 的 alpha 版本。

2025 年,我们将继续完成 Oxc 的其他计划功能(最小化、格式化),并逐步将整个 Vite 生态系统迁移到 Rolldown 和 Oxc 上。我们将与生态系统合作伙伴和利益相关者密切合作,确保最终用户的平稳过渡。

我们开源的所有内容都将保持开源状态。除了我们的开源项目之外,我们还将提供专为满足企业环境的规模和安全要求而设计的端到端 JavaScript 工具解决方案。

常见问题

  1. 这些开源项目和VoidZero是什么关系?

Vite 和 Vitest 的团队治理与以前保持不变。两个核心团队的成员均受雇于多个不同的组织(VoidZero、StackBlitz、NuxtLabs、Astro)。VoidZero Inc. 雇用/赞助了 Vite 和 Vitest 的多名核心贡献者。

VoidZero Inc. 拥有版权、资助开发并控制 Oxc 和 Rolldown 的方向。

  1. 那么 Vue 会怎么样?

VoidZero 的业务与 Vue 完全独立。Vue 将继续作为一个独立项目,但将获得 VoidZero 开发的新工具的一流支持。

  1. 为什么是 Oxc 而不是 SWC?

我们团队的许多成员过去都为 SWC 做出了不平凡的贡献。除了原始性能优势之外,Oxc 还与 SWC 有一些根本的设计差异,这使其成为我们正在构建的端到端工具链的更好基础。我们将在未来的博客文章中分享更多关于此主题的技术见解。敬请期待!

  1. 为什么选择 Rolldown 而不是 esbuild/Rollup?

我们需要一个速度极快、非常适合应用程序打包并且与 Vite 插件生态系统完全兼容的打包器。Rolldown文档 对此进行了详细讨论。在 Oxc 之上构建 Rolldown 还可以在打包阶段并行执行更多与 AST 相关的任务,例如使用 发出和打包 dts isolatedDeclarations: true。

  1. 为什么这与以前创建统一 JS 工具链的尝试会有所不同?

统一工具链的最大挑战是从零到一的问题:它需要达到临界规模才能被大规模采用,以证明持续发展的合理性,但在真正实现愿景之前,跨越鸿沟却非常困难。VoidZero 没有这个问题,因为 Vite 已经是 JavaScript 生态系统中增长最快的工具链。



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1