Vite Plus马上来了? 尤雨溪D2大会上这样讲!

以下为尤大大的大会远程分享内容解读

时间: 2025.3.8
会场:十九届D2终端技术大会( Mobile Developer & Frontend Developer Technology Conference, 简称 D2 由阿里巴巴终端技术委员会创办,面向全球终端开发领域技术人,立志于促进业内交流、引领终端技术发展)
关注点: Vite Plus ! “cargo for JavaScript”
结尾附视频以及PPT

一、Vite历史😎

在这里插入图片描述

二、 Vite的现状😎

vite的下载量即将来到1个小目标/月

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

除nextjs,其他主流元框架(Meta-Framework)均使用了vite作为构建工具

在这里插入图片描述
在这里插入图片描述

Vite 已经成为了下一代 web 应用的 <共享基建层> 💐💐💐

三、 Vite并不完美😵

在这里插入图片描述

依赖的底层框架有很多问题:↓

1. esbuild (依赖预打包 TS / JSX 转译 压缩)

● 产物控制太弱(尤其是拆包)
● 插件系统局限性大
● 没有 HMR,也不支持 React fast refresh 转译

2. Rollup(插件生态 生产环境构建 拆包/产物优化)

● 比起原生语言写的 bundler 来说太慢了

3. SWC (React HMR 转译 压缩)

● Binary 太重
● Bundler 不可用

存在的问题:

  1. 打包行为的微妙不一致 (主要是 ESM/CJS interop 的处理) : esbuild + rollup
  2. 效率问题:多次重复 parse / transform / codegen且在 js / native 之间传递字符串 : esbuild+ rollup + swc
  3. Unbundled ESM 在请求数量巨大 时的性能瓶颈: esbuild + rollup + swc
    在这里插入图片描述

四、 开发Rolldown 🐂🍺

在这里插入图片描述

1. Vite 面对的问题其实是 整个 JS 工具生态一直存在的问题的缩影

2. JS 工具生态在每一个层面

● Parsers: babel / acorn / esbuild / espree / flow / TS / swc / uglify-js
● Transformer: babel / esbuild / swc / sucrase / TS
● Test runner: mocha / jasmine / tape / ava / jest
● Linter: jshint / eslint / biome
● Formatter: prettier / eslint
● Bundlers: webpack / rollup / esbuild / parcel
● Monorepo tools: nx / turborepo / rush / lerna / lage / wireit都非常的碎片化

四、开发void(0) 🐂🍺

碎片化导致的种种问题

● 选择困难 + 复杂度爆炸
● 一些工具互相根本不兼容
● 不同工具反复 parse / 编译导致的浪费
● 重复却又各不相同的配置
● 转译/模块解析等行为不一致
● 大量时间浪费在搭配和调试工具链上

为什么是现在?

  1. 生态中各个层面的需求在过去十年中已经逐渐清晰,只是方案 难以被统一。
  2. 统一需要共识,而 Vite 展现出了 web 生态中前所未见的共识达成速度,提供了一个很有希望的
    基础。
  3. Rust for JS 的生态地基有前人探路,也已 经趋于成熟。

解决碎片化开发统一的工具链 :void(0)

下一代的 JS 统一工具链 → void(0) ✨✨✨
官网地址: voidzero

架构图

在这里插入图片描述

为什么是 Rust?

● 极限性能和内存安全之间的平衡
● 已经有一个相对成熟的 for JS 开发者生态
○ 更容易找到贡献者
○ 成熟的 JS bindings (napi-rs)
○ 成熟的 Web Assembly 支持
● 注意:我们并不打算锈化所有东西
○ CLI / API 等需要灵活迭代的东西还是用 TS
○ 需求明确稳定,性能关键的部分用 Rust

目前的进展

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一些小细节

● OXC 围绕 arena allocator 做的内存管理优化
● Rolldown 基于 Rollup 插件 API 增加 filter,避免 JS 调用开销
● Rolldown 在 JS 侧对插件 hooks 进行合并
● OXC 研发中的 0-cost AST transfer
● 基于 0-cost AST transfer 的轻量级 JS transform / lint API

五、What is next 🍺

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

不出意外,年底Vite Plus即将发布! 让我们拭目以待!

附:

→ 以上 🐒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值