目录
1 . 前后端分离的项目
2 . JS 渲染的项目
3 . 前端渲染
4 . 后端渲染:
5 . 前端渲染与后端渲染对比
1 . 前后端分离的项目
前端 HTML 页面通过 Ajax 调用后端的 RESTFUL API 接口并使用 JSON 数据进行交互
2 . JS 渲染的项目
通过 Ajax 请求数据以后, 通过 JS 代码动态创建 html 的标签和数据等(一般右键查看网页源
代码 是看不到渲染后的 HTML 标签的)
3 . 前端渲染
指的是后端返回 JSON 数据,前端利用预先写的 html 模板,循环读取 JSON 数据,拼接字符
串(ES6 的模板字符串特性大大减少了拼接字符串的的成本),并插入页面。
好处: 网络传输数据量小。不占用服务端运算资源(解析模板),模板在前端(很有可能
仅部分在前端),改结构变交互都前端自己来了,改完自己调就行。
坏处: 前端耗时较多,对前端工作人员水平要求相对较高。前端代码较多,因为部分以前
在后台处理的交互逻辑交给了前端处理。占用少部分客户端运算资源用于解析模板。
4 . 后端渲染:
前端请求,后端用后台模板引擎直接生成 html,前端接收到数据之后,直接插入页面。
好处: 前端耗时少,即减少了首屏时间,模板统一在后端。前端(相对)省事,不占用客
户端运算资源(解析模板)
坏处: 占用服务器资源。
5 . 前端渲染与后端渲染对比
1、后端渲染
(1)页面呈现速度:快,受限于用户的带宽
(2)流量消耗:少一点点(可以省去前端框架部分的代码)
(3)可维护性:差(前后端东西放一起,掐架多年,早就在闹分手啦)
(4)seo 友好度:好
(5)编码效率:低(这个跟不同的团队不同,可能不对)
2、前端渲染
(1)页面呈现速度:主要受限于带宽和客户端机器的好坏,优化的好,可以逐步动态展开内 容, 感觉上会更快一点
(2)流量消耗:多一点点(一个前端框架大概 50KB)当然,有的用后端渲染的项目前端部 分也 有在用框架
(3)可维护性:好,前后端分离,各施其职,代码一目明了
(4)SEO 友好度:差,大量使用 Ajax,多数浏览器不能抓取 Ajax 数据
(5) 编码效率:高,前后端各自只做自己擅长的东西,后端最后只输出接口,不用管页面呈 现, 只要前后端人员能力不错,效率不会低