前端界的秦始皇,或许它真的要来啦!
其实我也是看了这篇文章受了一些启发(PS:别启发了,掩耳盗铃,信你我是秦始皇)
- 这个是原文,英文不错的小伙伴可以去读一下⬇
点击查看原文:尤雨溪 宣布推出 VoidZero - 下一代 JavaScript 工具链
前言
前端时间,尤雨溪成立了一家公司叫做:VoidZero,据说已经筹集了 460 万美元的种子资金,那尤大为什么要开一家,这样的公司呢?目的就是要:统一前端开发工具链!
那为什么要统一前端开发工具链呢?
<顺便吆喝一句,技术大厂,前后端测试捞人,感兴趣可试试,待遇给的还可以~>
脚手架的诞生
了解过前端开发的小伙伴们都知道!随着 JavaScript 应用程序日益增长的规模和复杂性,越来越多的前端工具应运而生。前端一年一个秦始皇,几乎每年都会出来好几个新的框架或者说三方库。工具那么多!但前端生态系统,始终是碎片化的。例如之前,我们日常开发一个项目,从项目的创建、写代码、单元测试、到打包上线,每个阶段都需要引入很多的三方依赖,而配置它们,使他们协同工作,就变成了一个非常艰巨的任务。这时候,脚手架工具诞生了!其中的最具代表性的就是Vite。脚手架将这些工具的复杂配置,封装在其内部,外部给开发者们提供了一套统一的、简化版的接口,大大提高了前端开发的效率。
脚手架的痛点
虽然说脚手架在外部统一了前端开发工具,但在其内部,仍然需要引入各种不同的依赖工具,而且,由于这些工具都是不同的人或者团队开发的,所以在性能方面,它仍然受到跨不同工具的重复解析和序列化成本的瓶颈,那这句话是什么意思呢?
编译与运行
我们平时写 Vue 代码时,一般都是写在文件后缀名为 .vue 文件中的,也就是官方说的单文件组件 (SFC) 。但是浏览器能认识文件后缀名为 .vue 的文件吗?很明显浏览器是不认识的,所以这个时候需要将后缀为 .vue 的单文件组件 翻译成浏览器认识的 js形式的AST抽象语法树,这一过程就是我们常说的编译时。上面说的那些工具就是在编译时工作的,他们处理完,返回给浏览器的AST抽象语法树的格式,因为是不同的人或者团队开发的,所以很多一部分都是不相同的,那vite等这些脚手架工具的工作,就是在内部去消除,这些工具的不一致性,把他转换成一致的,浏览器认识的AST抽象语法树。这一步就非常的损耗性能。
所以说统一前端工具链,很大一部分就是去统一上面说的这个流程。这也是尤大创办VoidZero的初心。
Rolldown
就在前几天,他们已经完成了第一个既定目标: 稳定 Rolldown。 它是一款采用 Rust 编写的,全新的打包工具,目前Rolldown,已经进入 Beta 测试阶段。之后,尤大和他的VoidZero公司,还会给我们带来哪些惊喜呢,小伙伴们可以期待一下!
——转载自作者:程序员三千_