Vue.js 作者宣布成立 VoidZero - 下一代 JavaScript 工具链

科技   2024-10-05 09:10   上海  
编者注:Vue.js 作者 Evan You 于 10 月 1 日在 X 上宣布成立 VoidZero。并附博客地址。
博客英文原文:https://voidzero.dev/posts/announcing-voidzero-inc

转自“前端圈


具体博客内容如下:

我已经成立了 VoidZero 公司,这是一家致力于为 JavaScript 生态系统构建开源、高性能和统一开发工具链的公司。我们已获得由 Accel 领投的 460 万美元种子轮融资。

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

多年来,许多优秀的工具应运而生,以解决 JavaScript 应用程序日益增长的规模和复杂性。然而,生态系统一直是分散的:每个应用程序都依赖于众多第三方依赖,而将它们配置在一起工作仍然是开发周期中最具挑战性的任务之一。

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

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

Vite 自 2020 年以来的每周 NPM 下载量

社区对 Vite 的信任使我深入思考其未来。虽然 Vite 极大地改善了高层开发者体验,但在内部,它仍然依赖于各种依赖项,使用抽象和变通方法来消除不一致性。就性能而言,它仍然受到不同工具之间重复解析和序列化成本的限制,并且由于功能限制和有限的可定制性,无法充分利用 esbuild 等原生工具。

我们开始设计一个新的打包工具 Rolldown,专门针对 Vite 的需求。但当我深入研究打包工具底层时,我意识到 Vite 面临的挑战实际上反映了 JavaScript 生态系统普遍存在的问题:分散化、不兼容性和低效率。要从根本上改变这一点,需要一个统一的工具链。

想象一个具备以下特点的工具链:

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

  • 高性能:使用编译到原生代码的语言编写,从零开始设计以追求速度,最大程度的并行化和低开销的 JS 插件支持。性能预算的提升不仅能够实现更多雄心勃勃的功能,改善开发者体验,还能提升终端用户体验。

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

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

这样的工具链不仅会增强 Vite,还会推动整个 JavaScript 生态系统的显著改进。这是一个雄心勃勃的愿景,实现它需要一个全职的专门团队——这在我过去项目的独立可持续模式下是不可能的。这就是为什么要成立 VoidZero。

我很高兴地宣布,我们已经筹集了 460 万美元的种子轮融资来追求这一愿景。我们的种子轮由 Accel 领投,参与方包括 Amplify Partners、Preston-Werner Ventures、BGZ、Eric Simons(StackBlitz)、Paul Copplestone(Supabase)、David Cramer(Sentry)、Matt Biilmann和Christian Bach(Netlify)、Dafeng Guo(Strikingly)、Sebastien Chopin(NuxtLabs)、Johannes Schickling(Prisma)和Zeno Rocha(Resend)。

目前的进展

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

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

  • 最快和最符合规范的 JavaScript 解析器(oxc-parser),比 SWC 快 3 倍

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

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

  • 最快的代码检查工具(oxlint),比 ESLint 快 50-100 倍

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

  • 最快的打包工具(Rolldown),建立在 Oxc 之上。比 esbuild 和所有其他 Rust 打包工具都快(目前处于 alpha 阶段)


虽然仍处于早期阶段,但我们的开源项目已经被世界上一些领先的工程团队使用,包括OpenAI(ChatGPT 网页客户端)、Google、Apple、Microsoft、Visa、Shopify、Cloudflare、Atlassian、Reddit、HuggingFace、Linear 等许多公司。

未来计划

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

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

我们开源的所有内容都将保持开源。在我们的开源项目之上,我们将提供专门设计的端到端 JavaScript 工具解决方案,以满足企业环境的规模和安全要求。

与我们保持联系!

在 X(原 Twitter)上关注我们以了解最新进展。如果您有大规模使用这些工具的需求,请与我们联系!如果您有兴趣为我们的项目做出贡献或在其基础上进行开发,欢迎加入我们的 Discord 服务器(Vite、Vitest、Oxc、Rolldown)。最后,别忘了本周收看 ViteConf,我们将在那里分享更多关于我们的进展和未来计划的细节。

FAQs  常见问题解答

  • 这些开源项目与 VoidZero 的关系是什么?


    Vite 和 Vitest 的团队治理保持不变。两个核心团队都包括来自多个不同组织(VoidZero、StackBlitz、NuxtLabs、Astro)的员工。VoidZero Inc. 雇佣/赞助了 Vite 和 Vitest 的多个核心贡献者。


    VoidZero Inc. 持有 Oxc 和 Rolldown 的版权,资助其开发,并控制其方向。
  • Vue 呢?
    VoidZero 作为一个企业与 Vue 完全分开。Vue 将继续作为一个独立项目,但将从 VoidZero 开发的新工具中获得一流的支持。
  • 为什么选择 Oxc 而不是 SWC?


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

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


    我们需要一个极其快速、适合应用程序打包,并且与Vite的插件生态系统完全兼容的打包工具。在 Rolldown 文档中详细讨论了这一点。在 Oxc 之上构建 Rolldown 还能够在打包阶段并行执行更多与 AST 相关的任务,例如使用 isolatedDeclarations: true 来生成和打包 dts。
  • 为什么这次会与之前创建统一 JS 工具链的尝试不同?
    统一工具链的最大挑战是从零到一的问题:它需要获得关键规模以证明继续开发的合理性,但在真正实现愿景之前很难跨越鸿沟。VoidZero 不存在这个问题,因为 Vite  已经是JavaScript 生态系统中增长最快的工具链。
转自“前端圈”

玩转VS Code
编程开发,业界资讯,以及 VS Code 的热门文章、使用技巧、插件推荐、插件开发攻略等,全部都可以在这里找到。带你玩转 VS Code!
 最新文章