同构渲染

636 阅读1分钟

SPA单页面应用

优点

  • 开发效率高
  • 渲染性能好
  • 可维护性好

缺点

  • 首屏渲染时间长
  • 不利于SEO

可以使用服务端渲染(同构应用)

  • 通过服务端渲染首屏返回,解决SPA应用首屏渲染慢以及不利于SEO问题
  • 通过客户端渲染接管页面内容交互得到更好的用户体验

渲染的概念

就是把 数据 + 模板 拼接到一起

message: 'hello'
<h1> {{ message }}</h1>

渲染后
<h1>hello</h1>

传统服务端渲染

后端将数据通过模板引擎替换到页面对应的位置,处理数据和渲染都是由后端完成,返回渲染后页面

缺点

  • 前后端代码完全耦合在一起,不利于开发维护
  • 前端没有足够发挥空间 (只做模板文件和交互)
  • 服务端压力大 (每个页面都是由服务端渲染好返回)
  • 用户体验一般

客户端渲染

  • 后端负责处理数据接口
  • 前端负责将接口数据渲染到页面中

缺点

  • 首屏渲染慢 (需要等前端页面渲染)
  • 不利于SEO (数据要页面运行才渲染,不能事先得到页面内容)

同构渲染 (现代化的服务端渲染)

  • 基于React、Vue等框架,客户端渲染和服务端渲染的结合
  • 在服务端执行一次,用于实现服务端渲染(首屏输出)
  • 在客户端再执行一次,用于接管页面交互
  • 解决SEO和首屏渲染慢的问题
  • 有服务端渲染的优点,也有客户端渲染的优点