Skip to content
Lucky Snail Logo Lucky Snail
中文

Future Frontend Trends from Evan You's Talk on a Unified Vite-Centric Frontend Framework

/ 4 min read /
#javascript #前端基建
Table of Contents 目录
image.png

Vite History

Check the slides! image.png

Summary: Vite is undeniably the top choice for frontend build tools today.

Vite Current Status

  • 22M+ weekly downloads, surpassed Next.js in 2023.
  • State of JS 2024: Vite and Vitest are the most loved and popular tools.

Vite Ecosystem

Among meta-frameworks, almost all except Next.js use Vite — well, Next.js has its own Turbopack now. Haha.

image.png

Let’s take a look at what these are!

First row

  1. Astro: A modern static site generator known for its Islands Architecture, building fast websites by loading only necessary JavaScript.
  2. React: A JavaScript library for building user interfaces, developed by Facebook, known for its component-based architecture and virtual DOM.
  3. Vue.js: A progressive JavaScript framework for building user interfaces and single-page applications.
  4. oxc: A high-performance JavaScript/TypeScript linter.
  5. Svelte: A different approach to building web apps — it’s a compiler that converts your application code into efficient JavaScript at build time, rather than interpreting it at runtime.
  6. Nuxt: A full-stack web framework based on Vue.js.
  7. solidjs: A declarative, efficient, and flexible JavaScript library for building user interfaces.

Second row

  1. storybook: A tool for building, documenting, and testing UI components in isolation.

  2. qwik: Instantly load web applications with no effort.

  3. Rollup: A JavaScript module bundler that compiles small pieces of code into something larger and more complex, like a library or application. Vite uses native ESM in development but still relies on Rollup for production bundling and optimization.

  4. Vite: Modern frontend build tool.

  5. rolldown: A fast JavaScript bundler written in Rust.

  6. Angular: An open-source TypeScript-based web application framework led by the Angular team at Google and the community.

  7. Nx: An intelligent, scalable build system, especially suited for monorepo projects.

Third row

  1. pnpm: A fast, disk-space-efficient package manager similar to npm or Yarn, but with a different dependency management strategy.

  2. VitePress: A static site generator built on Vite, created by the Vue.js team, particularly suited for documentation sites.

  3. unocss: An instant, on-demand atomic CSS engine.

  4. Vitest: A blazing-fast unit test framework powered by Vite.

  5. volar: A framework for building programming language tools.

  6. tauri: Build lightweight, secure, and high-performance cross-platform desktop applications using Rust.

  7. redwood: A full-stack JavaScript/TypeScript web application framework designed to help developers build modern web apps in a more integrated and seamless way.

Fourth row

  1. Couldn’t find this one — anyone know what it is?

  2. Laravel: A popular PHP web application framework. Though primarily used for the backend, it can integrate with Vite to handle frontend assets.

  3. Vite Ruby: Vite integration for Ruby.

  4. Remix: A full-stack web framework focused on web standards and modern web UX, building better websites.

  5. Analog (formerly Peaks): A full-stack meta-framework for Angular, powered by Vite and Nitro.

  6. Marko (formerly Million): A declarative, HTML-based language that makes building web apps fun.

  7. playwright: A web testing and automation library.

Vite’s terrifying dominance!

Companies Using Vite

image.png

Vite’s Disadvantages

Relies on multiple third-party libraries with overlapping responsibilities.

  • esbuild: Pre-bundling, TS/JSX transpilation, minification (Go)
  • Rollup: Plugin ecosystem, production builds, chunking/output optimization (TS)
  • SWC: React HMR, transpilation, minification (Rust)

Each handles a piece, but they have their own shortcomings, and their functionality overlaps.

Unbundled ESM has performance bottlenecks when dealing with a large number of requests.

What is Unbundled ESM? Unbundled ESM (unpackaged ECMAScript modules) is a development and deployment approach that uses native ES modules directly without merging them into a single file (i.e., without bundling).

Rolldown

Problems it aims to solve:

  • Compatible with Rollup’s plugin API and ecosystem.
  • Use Rust to improve production build performance.
  • Add higher-level features.
  • Full bundle mode to address Vite’s unbundled ESM performance bottleneck.

Here’s the JS toolchain ecosystem, organized by Evan You: image.png

Headaches when building large frontend projects: image.png

Rust for JS

Evan You’s company website: https://voidzero.dev/

Goal: Build a complete, high-performance JS toolchain.

Why Rust? image.png

OXC delivers extreme performance across the board.

What’s being worked on now:

  • Vite integration (currently not passing Astro tests).
  • Vite full bundle mode, HMR, and incremental bundling builds.

Rolldown stats: image.png

image.png

Couldn’t catch that: image.png

Vite Next

Looking forward to it.

image.png

What they plan to deliver: image.png

Resources

  1. All slides from the conference: https://github.com/d2forum/19th
  2. Video: https://www.bilibili.com/video/BV1WERGYDEix