Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

通过尤雨溪“围绕Vite的前端统一框架”分享,看未来前端发展趋势 #50

Open
chaseFunny opened this issue Mar 16, 2025 · 0 comments

Comments

@chaseFunny
Copy link
Collaborator

image.png

vite 历史

看 PPT 吧!
image.png

总结:Vite 当之无愧目前前端构建工具首选

Vite 现状

  • 周下载量 2200 万 +,在 23年已经超过 Next.js
  • State of JS 2024 ,Vite 和 Vitest 是最受关注和欢迎的工具

Vite 生态

在元框架中,除了 Next.js 都有在使用 Vite,毕竟人家现在有自己 turbopack。哈哈哈

image.png

让我们看看这些都是什么吧!
第一行

  1. Astro: 一个现代化的静态站点生成器,以其岛屿架构(Islands Architecture)而闻名,可以构建快速的网站,只加载必要的 JavaScript。
  2. React: 一个用于构建用户界面的 JavaScript 库,由 Facebook 开发,以其组件化和虚拟 DOM 而闻名。
  3. Vue.js: 一个渐进式 JavaScript 框架,用于构建用户界面和单页应用。
  4. oxc: 高性能 JavaScript/TypeScript 代码检查工具
  5. Svelte: 一个不同的构建 Web 应用的方法。它是一个编译器,将你的应用程序代码转换为高效的 JavaScript,而不是在运行时解释代码
  6. Nuxt: 基于 Vue.js 的 Web 全栈应用框架
  7. solidjs: 用于构建用户界面的声明性、高效且灵活的 JavaScript 库。

第二行

  1. storybook: 用于独立构建、记录和测试 UI 组件的工具

  2. qwik: 无需费力即可立即加载 Web 应用程序

  3. Rollup:  一个 JavaScript 模块打包器,可以将多个模块打包成一个或多个 bundle。Vite 在开发环境使用原生 ESM,但在生产环境仍然依赖 Rollup 进行打包和优化。

  4. Vite: 现代前端构建工具

  5. rolldown: 基于 Rust 的 JavaScript 快速打包器

  6. Angular  Angular 是一个基于 TypeScript 的开源 Web 应用框架, 由 Google 的 Angular 团队以及社区共同领导和维护。

  7. Nx: 一个智能的、可扩展的构建系统,特别适用于 monorepo 项目。

第三行

  1. pnpm: 一个快速、节省磁盘空间的包管理器,类似于 npm 或 Yarn,但它使用不同的依赖管理策略
  2. VitePress: 一个基于 Vite 构建的静态站点生成器,由 Vue.js 团队创建,特别适用于文档站点。
  3. unocss: 一个即时、按需的原子 CSS 引擎。
  4. Vitest: 一个由 Vite 驱动的极速单元测试框架。
  5. volar: 用于构建编程语言工具的框架
  6. tauri: 使用 rust 编写的构建轻量级、安全且高性能的跨平台桌面应用程序
  7. redwood: 一个全栈 JavaScript/TypeScript web 应用框架,旨在让开发者能够以更加集成和流畅的方式构建现代 web 应用

第四行

  1. 没找到,不知道有没有人知道是什么?
  2. Laravel: Laravel 是一个流行的 PHP Web 应用程序框架,虽然它主要用于后端,但它也可以与 Vite 集成,以处理前端资源。
  3. Vite Ruby : Ruby的Vite集成
  4. Remix: Remix 是一个全栈 Web 框架,专注于 Web 标准和现代 Web 应用 UX,构建更好的网站。
  5. Peaks: : Angular 的全栈元框架。由 Vite 和 Nitro 提供支持
  6. Million: 一种声明性的,基于HTML的语言,使构建Web应用程序变得有趣
    * **GitHub: https://github.com/marko-js/marko
  7. playwright: Web测试和自动化库

Vite 恐怖的统治力!

使用 Vite 的公司

image.png

Vite 的缺点

依赖多个职责重复的第三方库

  • esbuild:预打包、TS/ JSX 转译、压缩 (GO)
  • Rollup:插件生态、生产环境构建、拆包/产物优化 (TS)
  • SWC:React HMR 、转译、压缩(Rust)
    这些每一个都负责一部分,但是都有自己的缺点,但是他们功能也有重复的地方

Unbundled ESM 在请求数量巨大时存在性能瓶颈

什么是 Unbundled ESM?
Unbundled ESM(未打包的 ECMAScript 模块)是指直接使用原生 ES 模块系统而不将它们合并(打包)成单个文件的开发和部署方式

Rolldown

要解决的问题

  • 兼容 Rollup 的插件 API 和生态
  • Rust 提升生成构建性能
  • 添加高阶功能
  • Full bundle mode 解决Vite unbundled ESM 的性能瓶颈

下面是 js 工具链生态,尤大整理
image.png
前端搭建大型项目头疼的问题:
image.png

Rust for JS

尤大的公司官网: https://voidzero.dev/

目的:打造完整的高性能的 JS 工具链

为什么是 Rust?
image.png

OXC 各项都是极致的性能

目前在做的:
Vite 整合,目前没有通过 Astro 测试
Vite full bundle mode,HMR 和增量打包构建

rolldown 数据:
image.png

image.png
听不懂:
image.png

Vite Next

期待

image.png

他们打算交付的产品:
image.png

资源:

  1. 大会所有 PPT: https://github.com/d2forum/19th
  2. 视频: https://www.bilibili.com/video/BV1WERGYDEix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant