Vite 8.0 正式发布,它使用 Rust 构建的 Rolldown 作为单一打包器,同时取代了 esbuild 和 Rollup,从而实现更快的构建速度。
Vite 既是开发服务器,也是 TypeScript 和 JavaScript 应用程序的构建工具,支持热模块替换(HMR),可以在不重新加载整个页面的情况下更新代码,并通过插件添加特定框架功能等特性。Vite 可以与多种框架配合使用,根据 8.0 版本的介绍文章,目前每周下载量达到 6500 万次。
Rolldown 旨在与现有插件兼容,因为它支持相同的插件 API。虽然它包含在 Vite 8 中,但 Rolldown 项目仍处于候选发布状态,其压缩功能(通过最小变量名等策略将源代码压缩到最小尺寸)仍处于 alpha 阶段。
Rolldown 构建在同样使用 Rust 编写的 Oxc 之上。Oxc 是一个实用程序,其功能包括代码检查、格式化、解析、TypeScript 和 JSX(定义 React 元素的代码)转译、模块解析和压缩。
Rolldown 和 Oxc 都是由 Void Zero 赞助的开源项目。该公司由 Vite 和 Vue.js 框架的创建者 Evan You 于 2024 年创立。在公司成立时,You 表示需要统一的工具链来克服 JavaScript 生态系统的挑战:"碎片化、不兼容性和低效率"。
Vite 团队声称 Rolldown "比 Rollup 快 10-30 倍",并且与同样是原生代码但用 Go 编写的 esbuild 性能相当。
Vite 8.0 的其他新功能包括用于构建分析和调试的新 DevTools(前提是使用 Rolldown)、SSR(服务器端渲染)环境中的 Wasm 支持,以及将浏览器控制台日志转发到开发服务器终端。
未来计划包括完整打包模式,在开发和生产环境中都对模块进行打包。快速构建时间使这变得更加实用。团队表示:"初步结果显示开发服务器启动速度快 3 倍,完整重新加载快 40%,网络请求减少 10 倍。"
对 Vite 8.0 的早期反应是积极的,主要原因是构建时间更快。一位用户说:"我们在一个最大的项目上看到了从 12 分钟到 2 分钟的改进。"
Rolldown 并不是唯一用 Rust 重写构建工具的例子。其他例子包括由 Vercel 赞助、由 Webpack 发明者 Tobias Koppers 创建的 Turbopack 项目;以及字节跳动的 Rspack,它用 Rust 编写但与 Webpack 兼容。这三个工具都表现良好,不过根据当前基准测试,还不如用 Zig 构建的 Bun。Turbopack 的问题是与 Next.js 框架紧密集成,而 Rolldown 和 Vite 则受益于插件生态系统和广泛的框架支持。
TypeScript 项目也在即将发布的 TypeScript 7.0 中转向原生代码编译器(tsc),使用 Go 语言,微软的 Anders Hejlsberg(TypeScript 的发明者)声称性能提升超过 10 倍。
一个尴尬的问题是:如果使用原生代码工具为 TypeScript 和 JavaScript 项目带来如此大的好处,开发人员是否也应该重新考虑在浏览器外运行时为项目代码本身使用解释型语言?最受欢迎的 IDE Visual Studio Code 是用 TypeScript 编写的,使用 Electron 框架,但比 Zed 或 Notepad++ 等原生代码编辑器更慢,占用更多内存。
Q&A
Q1:Rolldown是什么?它有什么特点?
A:Rolldown是用Rust构建的打包器,旨在取代esbuild和Rollup成为Vite的单一打包器。它与现有插件兼容,支持相同的插件API,Vite团队声称其速度比Rollup快10-30倍,性能与esbuild相当。
Q2:Vite 8.0相比之前版本有哪些主要改进?
A:Vite 8.0的主要改进包括:使用Rust驱动的Rolldown实现10-30倍的构建速度提升,新增用于构建分析和调试的DevTools,支持SSR环境中的Wasm,以及将浏览器控制台日志转发到开发服务器终端等功能。
Q3:为什么越来越多的JavaScript工具选择用Rust重写?
A:使用Rust等原生代码重写工具能够显著提升性能。除了Rolldown,还有Turbopack、Rspack等项目都采用了类似策略。这些工具相比原来的JavaScript实现都有大幅度的性能提升,能够解决JavaScript生态系统中的碎片化、不兼容性和低效率问题。
好文章,需要你的鼓励
英国国家医疗服务(NHS)正将无人机纳入常规医疗物流体系。自今年2月起,无人机每天在雷恩斯公园和圣乔治医院之间运送血液等诊断样本,飞行仅需3分钟,比公路运输快约85%,且碳排放减少高达98%。目前已有逾2000名患者受益。NHS计划将该服务扩展至圣赫利尔、克罗伊登等多家医院,最终惠及约180万名患者。该网络由英国医疗初创公司Apian与谷歌旗下Wing合作运营。
AgentLens是Explyt公司联合俄罗斯学术机构开发的AI编程助手评测基准,通过分析完整人机交互轨迹而非仅看最终结果,从五个维度评估代码智能体的真实表现。
边缘AI计算厂商Aetina宣布,将在其DeviceEdge AIE-KT风冷系列和新款AIE-PT无风扇平台上支持英伟达全新Jetson T3000和T2000模块。T3000基于Blackwell GPU,最高提供865 FP4 TFLOPS算力,功耗70W;T2000则提供400 FP4 TFLOPS,面向视觉AI代理和自主移动机器人等场景。两款模块预计2027年第一季度上市,支持Nemotron、Cosmos 3等英伟达AI软件生态。
韩国梨花女子大学提出Splash框架,通过识别AI模型中的"休眠参数"并只在其中训练触觉能力,让小型多模态AI在学会感知材质触感的同时,完整保留原有视觉语言推理能力。