前端渲染渲染方式都有哪些以及区别和实现

前端渲染渲染方式都有哪些以及区别和实现

一、前端常见渲染方式总览(先给全景)

前端渲染 = 页面 HTML 在哪里、什么时候生成
渲染方式简称
客户端渲染CSR
服务端渲染SSR
静态站点生成SSG
增量静态生成ISR
流式渲染Streaming SSR
同构渲染Isomorphic
客户端混合渲染Hybrid
边缘渲染Edge Rendering

二、CSR(Client Side Rendering)

原理

  • 服务端返回 空 HTML + JS
  • 浏览器下载 JS
  • JS 运行后生成 DOM
HTML → JS → Render 

实现

  • React / Vue SPA
  • Vite / Webpack
<div></div> <script src="bundle.js"></script> 

优点

  • 前后端分离
  • 交互体验好
  • 开发简单

缺点

  • 首屏慢
  • SEO 差
  • 白屏时间长

适用

  • 后台系统
  • 内部系统

三、SSR(Server Side Rendering)

原理

  • 服务端直接返回 完整 HTML
  • 浏览器直接渲染
  • JS 再接管(Hydration)
Server Render → HTML → Hydrate 

实现

  • Next.js
  • Nuxt
  • Vue SSR

优点

  • 首屏快
  • SEO 友好

缺点

  • 服务端压力大
  • 架构复杂

关键点

Hydration(水合)

四、SSG(Static Site Generation)

原理

  • 构建时生成 HTML
  • 部署为静态文件
Build Time → HTML 

实现

  • Next.js getStaticProps
  • VitePress / VuePress

优点

  • 性能极致
  • 成本低

缺点

  • 数据不实时

适用

  • 文档
  • 博客
  • 官网

五、ISR(Incremental Static Regeneration)

原理

  • 静态生成
  • 按需更新部分页面

实现

revalidate: 60 

优点

  • 静态性能
  • 动态数据

缺点

  • 架构复杂
  • 平台依赖

六、Streaming SSR(流式渲染)

原理

  • HTML 分块返回
  • 边生成边展示
Header → Main → Footer 

实现

  • React 18
  • Suspense

优点

  • 极快首屏
  • 更好用户体验

缺点

  • 实现复杂

七、同构渲染(Isomorphic)

一套代码,跑在客户端 + 服务端
  • React / Vue 同构
  • 核心是 SSR + CSR

八、Hybrid(混合渲染)

思路

  • 不同页面用不同策略
页面渲染方式
首页SSR
列表SSG
详情ISR
后台CSR

实现

  • Next.js App Router
  • Nuxt 3

九、Edge Rendering(边缘渲染)

原理

  • 在 CDN 节点渲染
  • 靠近用户

实现

  • Vercel Edge
  • Cloudflare Workers

优点

  • 延迟极低

十、对比总结表(面试必背)

维度CSRSSRSSG
首屏极快
SEO
成本
实时性
复杂度

十一、选型建议(真实项目)

  • 后台系统 → CSR
  • 内容站点 → SSG / ISR
  • 电商首页 → SSR + Streaming
  • 超高性能 → Edge

十二、面试 1 分钟标准回答

前端常见渲染方式包括 CSR、SSR、SSG 和 ISR。
CSR 在浏览器生成 HTML,交互好但首屏慢;
SSR 在服务端生成 HTML,首屏快且 SEO 友好;
SSG 在构建时生成静态页面,性能最好但不实时。
实际项目中通常采用混合渲染策略。

十三、一句话终极总结

渲染方式的本质,是“HTML 在哪里生成”。

Read more

AI编程工具深度对比:Cursor、Copilot、Trae与Claude Code,2025年开发者该如何选择?

2025年,AI编程助手已从新奇技术演变为生产力核心,但面对众多选择,开发者如何才能找到最适合自己的智能编程伙伴? 一、四大AI编程工具的核心定位与市场格局 2025年的AI编程工具市场已经形成了明显的分层格局。根据最新的开发者使用数据,这些工具不再仅仅是代码补全助手,而是朝着专业化、场景化方向发展。

Java在AI时代的崛起:从传统机器学习到AIGC的全栈解决方案

Java在AI时代的崛起:从传统机器学习到AIGC的全栈解决方案

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[[email protected]] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? * 专栏导航: 码农阿豪系列专栏导航 面试专栏:收集了java相关高频面试题,面试实战总结🍻🎉🖥️ Spring5系列专栏:整理了Spring5重要知识点与实战演练,有案例可直接使用🚀🔧💻 Redis专栏:Redis从零到一学习分享,经验总结,案例实战💐📝💡 全栈系列专栏:海纳百川有容乃大,可能你想要的东西里面都有🤸🌱🚀 目录 * Java在AI时代的崛起:从传统机器学习到AIGC的全栈解决方案 * 一、Java AI生态概览:多样化的技术选择 * 1.1 深度学习框架:接轨主流AI技术 * Deep Java Library

AI绘画新选择:Z-Image-Turbo与Stable Diffusion对比体验

AI绘画新选择:Z-Image-Turbo与Stable Diffusion对比体验 如果你最近在AI绘画工具间反复横跳——等SDXL模型下载到怀疑人生、调参调到显存报警、生成一张图要喝三杯咖啡,那今天这篇实测可能就是你一直在找的“那个开关”。我们不聊参数量、不讲训练方法,就用最真实的工作流场景:同一台RTX 4090D机器、同一个提示词、同一张显示器,把Z-Image-Turbo和Stable Diffusion XL(SDXL 1.0)面对面拉出来比一比。不是理论对比,是手按回车键后,看谁先弹出那张图。 1. 先说结论:快不是噱头,是实打实的体验差 Z-Image-Turbo不是“又一个扩散模型”,它是为生产环境重新定义“生成”这个动作的工具。而Stable Diffusion,依然是那个你熟悉、信赖、但越来越像“需要定期保养的老朋友”的经典方案。它们的区别,不是“好与坏”,而是“快刀切菜”和“慢火炖汤”的分工差异。

论文阅读:MiniOneRec

github仓库:https://github.com/AkaliKong/MiniOneRec 技术报告论文:https://arxiv.org/abs/2510.24431 找了一个论文阅读辅助工具:https://www.alphaxiv.org/ 代码 https://github.com/AkaliKong/MiniOneRec SFT在做什么 前置:数据集 代码路径:MiniOneRec/data.py 类Tokenizer:给普通的分词器多包装了一层,可以处理连续的bos/eos的特殊字符串。 SidSFTDataset 多样化的指令 任务:输入用户最近交互过的item列表,预测用户下一个交互的item SidItemFeatDataset sid2title或者title2sid任务 FusionSeqRecDataset 带意图识别的商品推荐 代码 代码入口:MiniOneRec/sft.py 1、