前端架构

最后发布时间:2026-05-11 15:04:05 浏览量:

现在前端架构其实已经不是“单一 SSR 或 SPA”的问题了,而是演化成几类混合渲染体系(Rendering Architecture)。可以按“渲染发生在哪里 + 如何交互”来分类理解。

下面给你一个清晰的全景图。


一、纯 SPA(Client-Side Rendering)

代表:React(Vite / CRA)默认模式

Browser
  ↓
JS bundle
  ↓
React 渲染

特点

  • 所有渲染在浏览器
  • 首屏依赖 JS
  • 后端只是 API

优点

  • 架构简单
  • 前后端分离彻底

缺点

  • SEO 差
  • 首屏慢
  • JS 大

二、传统 SSR(Server Side Rendering)

代表:Node + React / Vue SSR

Server → HTML → Browser → Hydration

特点

  • 服务器先渲染 HTML
  • 浏览器再“激活”

优点

  • SEO 好
  • 首屏快

缺点

  • hydration 成本高
  • 仍然要加载大量 JS

三、SSG(Static Site Generation)

代表:Next.js / Gatsby

Build time → HTML files → CDN

特点

  • 预先生成页面
  • 运行时几乎无 SSR

优点

  • 极快
  • 成本低

缺点

  • 动态性弱

四、ISR(Incremental Static Regeneration)

Next.js 提供

Static page + 定期重新生成

特点

  • 静态 + 动态混合
  • 可“更新的静态站”

五、Islands Architecture(岛屿架构)

代表:Astro

Static HTML
   + 少量 interactive islands

特点

  • 默认零 JS
  • 只有局部组件 hydrate

优点

  • 极致性能

六、Server Components 架构

代表:Next.js App Router

Server Components → Flight → Browser

特点

  • React 在服务器执行
  • 不把组件 JS 发给浏览器

优点

  • JS 极少
  • 数据直连后端
  • 性能好

七、Streaming SSR(流式渲染)

React 18+

Server → 分块 HTML / RSC → Browser

特点

  • 不等全部渲染完
  • 一边生成一边传

八、Hydration 架构(现代 SSR 核心)

HTML + JS → React attach event

问题

  • JS 成本高
  • 重复计算

九、Edge Rendering

代表:

  • Vercel Edge
  • Cloudflare Workers
User → Edge → Render → Response

特点

  • 低延迟
  • 无 Node.js 传统服务器

十、Full-stack Meta Framework(现代主流)

代表:

  • Next.js
  • Nuxt
  • SvelteKit
  • Remix

统一特点:

UI + SSR + API + Routing + Backend in one framework

十一、现代混合架构(最重要)

现在真实项目基本都是:

1. BFF + Backend

Browser
  ↓
Frontend BFF(Next.js / Nuxt)
  ↓
Backend(Go / Java / Python)

2. Micro frontend + BFF

多个前端模块 + 一个 BFF

3. Edge + Server + Client 混合

Edge (auth/cache)
  ↓
Server (SSR / API)
  ↓
Client (interaction)

十二、所有架构本质分类(最清晰总结)

可以归为 4 类:


1. Client-first

  • SPA(React / Vue)

2. Server-first

  • SSR
  • RSC
  • Streaming SSR

3. Static-first

  • SSG
  • ISR
  • Astro islands

4. Hybrid (主流)

  • Next.js / Nuxt / SvelteKit

十三、趋势(非常重要)

未来前端架构趋势:

✔ JS 越来越少

✔ SSR 越来越多

✔ Server Components 成主流

✔ Islands + Streaming

✔ BFF 变标准


一句话总结

现代前端已经不是“SSR vs SPA”,而是:

Client / Server / Static / Edge 的混合渲染体系

而 Next.js 只是目前最完整的“混合架构实现”。