专栏名称: 前端早读课
我们关注前端,产品体验设计,更关注前端同行的成长。 每天清晨五点早读,四万+同行相伴成长。
目录
相关文章推荐
前端早读课  ·  【早阅】Deno 2 ... ·  2 天前  
前端早读课  ·  【早阅】Chrome ... ·  1 周前  
前端之巅  ·  React服务器组件会毁了React吗? ·  1 周前  
前端大全  ·  Chrome 129:正式推出原生的 ... ·  1 周前  
51好读  ›  专栏  ›  前端早读课

【早阅】VoidZero Inc.:下一代 JavaScript 工具链

前端早读课  · 公众号  · 前端  · 2024-10-04 08:00

正文

作者:@Evan You
原文:https://voidzero.dev/posts/announcing-voidzero-inc

背景

Evan You,Vue.js 的创始人,宣布成立 VoidZero Inc.,一家致力于为 JavaScript 生态系统构建开源、高性能和统一开发工具链的公司。该公司已获得 460 万美元的种子资金,由 Accel 领投。

VoidZero 的目标是解决 JavaScript 生态系统中的碎片化问题,通过提供一个统一的工具链来简化开发流程,提高性能,并支持各种 JavaScript 运行环境。

  • JavaScript 生态系统发展迅速,但工具链碎片化严重,配置复杂。

  • Vite 等工具的出现改善了开发者体验,但底层依然依赖各种不兼容的工具。

要点

VoidZero Inc. 旨在通过构建一个统一的工具链来解决 JavaScript 生态系统中的碎片化和性能问题。这个工具链将包括解析、转换、linting、格式化、打包、最小化和测试等所有任务,使用相同的抽象语法树(AST)、解析器和模块互操作性,从而消除不一致性并减少冗余解析成本。

【第3157期】解锁前端新潜能:如何使用 Rust 锈化前端工具链

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

VoidZero 已经在努力开发其设想的工具链的基础元素。除了对 Vite 的持续改进之外,VoidZero 还交付了:

  • 最快、最符合规范的 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 阶段)

虽然 VoidZero 还处于早期阶段,但其开源项目已被全球一些领先的工程团队使用,包括 OpenAI(ChatGPT web 客户端)、Google、Apple、Microsoft、Visa、Shopify、Cloudflare、Atlassian、Reddit、HuggingFace、Linear 等。

【第3108期】Bundler 的设计取舍:为什么要开发 Rspack?

分析

  1. 碎片化问题:JavaScript 生态系统长期以来依赖于大量的第三方依赖库,这些库之间的配置和兼容性问题一直是开发过程中的主要挑战。VoidZero 的统一工具链旨在通过提供一个一致的开发环境来解决这一问题。

  2. 性能提升:VoidZero 的工具链将使用编译为原生代码的语言编写,从底层设计为速度优化,最大限度地并行化,并支持低开销的 JavaScript 插件。这将显著提高开发和生产环境的性能。

  3. 可组合性:每个工具链组件都是独立可消费的,为高级定制提供了构建块。这种设计使得开发者可以根据需要灵活地组合和使用工具链的不同部分。

  4. 运行时无关性:工具链不依赖于任何特定的 JavaScript 运行时,确保在所有环境中提供一致的开发者体验。

影响

  1. 行业影响:VoidZero 的工具链有望显著改善 JavaScript 开发者的体验,减少配置和兼容性问题,提高开发效率。这对于依赖 JavaScript 进行开发的企业和团队来说是一个重大利好。

  2. 生态系统整合:通过提供一个统一的工具链,VoidZero 可能会推动整个 JavaScript 生态系统的整合,减少碎片化,促进更高效的开发流程。

  3. 未来趋势:随着 VoidZero 工具链的成熟和推广,预计会有更多的开发者和企业采用这一工具链,进一步推动 JavaScript 生态系统的发展和标准化。

VoidZero 与开源项目的关系

  • Vite 和 Vitest 的团队治理保持不变,核心团队成员来自多个组织(VoidZero、StackBlitz、NuxtLabs、Astro)。

  • VoidZero 雇佣 / 赞助了 Vite 和 Vitest 的多个核心贡献者。

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

Vue 与 VoidZero 的关系

  • VoidZero 与 Vue 是完全独立的。

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

选择 Oxc 而不是 SWC 的原因

  • 除了性能优势外,Oxc 与 SWC 在设计上存在一些根本差异,使其成为构建端到端工具链的更好基础。

选择 Rolldown 而不是 esbuild/Rollup 的原因

  • Rolldown 速度极快,非常适合应用程序打包,并且与 Vite 的插件生态系统完全兼容。

  • 在 Oxc 之上构建 Rolldown 也能够在打包阶段并行执行更多与 AST 相关的任务。

VoidZero 与之前创建统一 JS 工具链的尝试有何不同

  • 最大的挑战是零到一的问题:它需要获得足够多的采用才能证明其持续开发的合理性,但在实现愿景之前很难跨越鸿沟。

  • VoidZero 没有这个问题,因为 Vite 已经是 JavaScript 生态系统中发展最快的工具链。

未来计划
  • 稳定 Rolldown,并使其成为 Vite 在开发和生产环境中的统一打包器。

  • 完善 Oxc 的其他功能(代码压缩、格式化),并将整个 Vite 生态系统迁移到 Rolldown 和 Oxc。

  • 提供一个端到端的 JavaScript 工具链解决方案,专门满足企业环境的规模和安全需求。

结论

VoidZero Inc. 的成立和其工具链的开发标志着 JavaScript 生态系统向更加统一和高效的方向迈出了重要一步。通过解决碎片化和性能问题,VoidZero 有望成为下一代 JavaScript 开发工具链的领导者。随着工具链的不断完善和推广,预计将对整个行业产生深远的影响,推动 JavaScript 开发进入一个新的时代。

AI 阅:了解技术资讯的一种方式。