0%

前后端渲染之争

简介

前端渲染是在客户端完成字符串替换,后端渲染当然在服务器完成

-「后端渲染」指传统的 ASP、Java 或 PHP 的渲染机制;以及最初的CGI
-「前端渲染」指使用 JS 来渲染页面大部分内容,代表是现在流行的 SPA 单页面应用;

前端渲染

前端渲染的优势

  • 局部刷新。无需每次都进行完整页面请求
  • 懒加载。如在页面初始时只加载可视区域内的数据,滚动后rp加载其它数据,可以通过 react-lazyload 实现
  • 富交互。使用 JS 实现各种酷炫效果
  • 节约服务器成本。省电省钱,JS 支持 CDN 部署,且部署极其简单,只需要服务器支持静态文件即可
  • 天生的关注分离设计。服务器来访问数据库提供接口,JS 只关注数据获取和展现
  • JS 一次学习,到处使用。可以用来开发 Web、Serve、Mobile、Desktop 类型的应用

坏处:

  • 占用(一部分、少部分)客户端运算资源(解析模板)。前端代码多点,毕竟包含模板代码了么。脚本是不是首次下就慢点了(看你在意不在意这个毕竟能304和CDN啥的)。可能造成前后两份模板的情况,总归要后端吐出个首屏啥的先让用户看见吧。那这部分页面模板不就是后端拼好了吐出来的么
  • mathjax.js
  • angualr
  • vue
  • bootstrap也是吧

后端渲染

后端渲染的优势

  • 服务端渲染不需要先下载一堆 js 和 css 后才能看到页面(首屏性能)
  • SEO
  • 服务端渲染不用关心浏览器兼容性问题(随着浏览器发展,这个优点逐渐消失)
  • 对于电量不给力的手机或平板,减少在客户端的电量消耗很重要
  • python flask,django
  • java jsp

参考

  • [精读前后端渲染之争 | 知乎]https://zhuanlan.zhihu.com/p/26366128
  • Here’s Why Client-side Rendering Won | freecodecamp | 中文翻译
  • 前后端渲染之争
  • 精读前后端渲染之争
  • 后端渲染html、前端模板渲染html,jquery的html,各有什么区别?