简介
前端渲染是在客户端完成字符串替换,后端渲染当然在服务器完成
-「后端渲染」指传统的 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,各有什么区别?