国庆期间,前端圈最火爆的消息莫过于尤雨溪宣布再次创业,创立了新公司VoidZero,致力于构建一个开源、高性能、统一的JavaScript工具链。
消息一出,立刻在技术圈引发了广泛的讨论。
1. JavaScript工具链的现状
现代JavaScript项目中充斥着各种工具,从代码规范检查工具ESLint、代码格式化工具Prettier,到TypeScript编译器、单元测试工具Jest、打包工具Webpack和 Rollup 等等,不一而足。
这些工具在各自的领域发挥着重要作用,但同时也带来了一些问题👇
1. 工具繁多,学习成本高
每个工具都有其独特的配置方式和使用方法,开发者需要花费大量时间学习和配置这些工具,才能顺利开展项目开发。
2. 配置复杂,维护困难
随着项目规模的增长,工具的配置也会变得越来越复杂,难以维护和管理,甚至催生了“Webpack配置工程师”这样的特殊岗位。
3. 性能瓶颈,开发效率低
许多工具需要将源代码编译成抽象语法树进行处理,而不同工具之间往往定义了不同的AST格式,导致重复生成AST,造成性能浪费,影响开发效率。
为了解决这些问题,尤雨溪决定创立VoidZero。
2. VoidZero是做什么的?
VoidZero的目标是构建一个统一的JavaScript工具链,从根本上解决JavaScript开发中的痛点,为开发者提供更高效、更流畅的开发体验。
为了实现这一目标,VoidZero推出了Rolldown和Oxc两个核心项目。
1. Rolldown
Rolldown是使用Rust开发的JavaScript模块打包器,旨在替代Esbuild和Rollup,成为Vite的默认打包工具。
它具有以下特点👇
高性能
Rust语言的高效性赋予了Rolldown出色的性能表现,打包速度更快。
完全兼容Rollup API
开发者可以无缝迁移现有项目,无需担心兼容性问题。
深度集成Oxc
Rolldown底层依赖于Oxc提供的JavaScript工具集,实现了工具链的统一和优化。
2. Oxc
Oxc是一个使用Rust编写的JavaScript工具集,提供了Parser、Linter、Transformer、Minifier、Formatter等一系列功能,覆盖了JavaScript开发的各个环节。
统一的AST
Oxc的所有工具都基于同一套AST,避免了重复生成AST的性能浪费,显著提升效率。
Rust加持,性能卓越
Rust语言的高效性,使得Oxc工具集在性能上远超基于JavaScript实现的同类工具。
模块化设计,灵活易用
Oxc采用模块化设计,开发者可以根据需要选择使用不同的工具和功能。
VoidZero的目标是构建一个更加高效、简洁、统一的JavaScript工具链。
从其发展路线图来看,Oxc将会提供更多功能,涵盖前端生态系统所需的几乎所有工具,并全部使用Rust实现,进一步提升性能和效率。
对于普通开发者而言,VoidZero的出现可以带来更简单的开发体验和更快的开发速度。
如果VoidZero能够实现其规划蓝图,那么它将有可能一统JavaScript工具链天下,为开发者带来前所未有的开发体验。
点击名片回复『编程』
即可获取1000+编程学习手册