SSR 还是 SPA?技术选型纠结
# SSR# SPA
对比维度
SSR (服务端渲染)
SPA (单页应用)
刷新体验
极佳。HTML 到达浏览器时已有内容,无白屏,无闪烁。
一般。依赖 JS 加载执行,易出现白屏或布局抖动 (FOUC)。
SEO 友好度
完美。爬虫直接抓取完整 HTML,百度/Google/微信搜索通吃。
弱势。爬虫只能看到空
,需额外做预渲染或依赖 Google 的 JS 执行能力。
多端支持 (App)
困难。App 需要 JSON 数据,SSR 吐的是 HTML,后端逻辑需写两套或引入中间层。
完美。API First 天然契合,App 和 Web 复用同一套接口。
开发/维护成本
高。需 Node.js 环境,需处理 Hydration 水合,前后端耦合度高。
低。前后端分离,Go 只管 API,React 只管渲染,复用性强。
服务器压力
大。每次请求都要 CPU 计算渲染 HTML。
小。只提供静态文件和 API 接口,渲染压力在用户浏览器。
交互体验
稍慢。页面跳转需重新请求服务端,类似刷新。
极速。页面切换在本地完成,丝滑如原生应用。
坚持 SPA,但在“体验”和“SEO”上做补课:
-
防闪烁:Go 返回
index.html时带上内联骨架屏和关键 CSS。 -
搞 SEO:针对帖子列表和详情页,引入预渲染方案(如 prerender.io)或单独写 SSR 接口。
登录后查看评论
去登录