在给大家介绍我理解的前端渲染和后端渲染的区别之前,先给大家看看我对于前端渲染和后端渲染的理解
前端渲染:
前端渲染就是指后端返回JSON数据或者JSONP数据,在前端利用预先写的html模板,循环读取JSON数据或者JSONP数据,进行选取,拼接,并且将这些数据插入页面来达到渲染效果。
后端渲染:
前端进行数据请求,后端用后台模板引擎直接生成html,前端接受到数据之后,直接插入页面。
两者的好处和坏处:
1.前端渲染:
好处:网络传输数据量小。不占用服务端运算资源(解析模板),模板在前端(很有可能仅部分在前端),改结构变交互都前端自己来了,改完自己调就行。
坏处:前端耗时较多,对前端工作人员水平要求相对较高。前端代码较多,因为部分以前在后台处理的交互逻辑交给了前端处理。占用少部分客户端运算资源用于解析模板。
2.后端渲染
好处:前端耗时少,即减少了首屏时间,模板统一在后端。前端(相对)省事,不占用客户端运算资源(解析模板)
坏处:占用服务器资源。
前端渲染与后端渲染对比:
前端渲染:
页面呈现速度:主要受限于带宽和客户端机器的好坏,优化效果好,可以逐步动态展开内容,感觉上会更快一点。
可维护性强,前后端分离,各施其职,代码一目明了。
SEO友好度(seo=Search(搜索) Engine(引擎) Optimization(优化),即搜索引擎优化):差,大量使用ajax,多数浏览器不能抓取ajax数据。
编码效率:高,前后端各自只做自己擅长的东西,后端最后只输出接口,不用管页面呈现,只要前后端人员能力不错,效率不会低。
后端渲染:
页面呈现速度:快,受限于用户的带宽
可维护性:差(前后端不分离)
SEO友好度:好,后端的数据一步搞定,直接生成相对应的模板网页
编码效率:低(有时候可能手忙脚乱,找不到数据对应的位置或者数据)