关于前后端分离的一些个人理解

关于前后端分离,我个人理解是客户端与服务端只有数据交互,前端使用ajax向后端封装好的api请求,将请求回来的数据使用模板引擎进行数据渲染。查阅一些博文,以往的前端都是将静态页面写好,然后把逻辑处理全都交给后端来做,前端发送请求,由后端渲染数据然后回送至前端,可以说是所有活都交给后端来干了,前端仅仅是完成html静态页面的处理了。

随着现在时代进步,越来越多的业务逻辑可以放到前端来进行实现,而后端只需要将api接口封装好给前端进行调用即可。
刚开始时对这些交互过程不熟悉,直到学习了node.js的一些基础后,了解了一些前后端开发的思想
最近在学习node.js搭建简单的服务器与前端进行交互时,遇到了数据渲染的问题,数据是在前端渲染还是在后端渲染?
这里引用大佬的博文进行进行总结:https://www.cnblogs.com/yexiaochai/p/4463420.html
@叶小钗
前端渲染会带来很多好处:

① 完全释放前端,运行不需要服务器;

② 服务器端只提供接口数据服务,业务逻辑全部在前端,前后分离;

③ 一些地方性能有所提升,比如服务器不需要解析index.html,直接返回即可;

事实上以上的说法和优势皆没有十足的说服力,根据上述因素,我们知道了为什么我们要采用js+json的方案,但这不代表应该采用。

前端渲染的缺点

① 前端模板解析对手机端的负担,对手机电池产生更快的消耗;

② 前端渲染页面内容不能被爬虫识别,SEO等于没有了;

③ 前端渲染现阶段没有完善的ABTesting方案;

④ 不能保证一个URL每次展示的内容一致,比如js分页导致路由不一致;
为什么要采用前端渲染

前端渲染的必要性

① 体验更好

② Hybrid内嵌只能用静态文件

事实上我们不能用数据说明webapp(前端渲染)的体验就一定比服务器端渲染好,所以Hybrid内嵌就变成了主要的因素,现有的Hybrid有两种方案:

① webview直连线上站点,响应速度慢,没有升级负担,离线应用不易;

② 将静态html+js+css打包进native中,直接走file模式访问,交互走json,非常简单就可以实现离线应用(某些页面的离线应用)

现在一个产品一般三套应用:PC、H5站点、APP,PC站点早就形成,H5站点一般与APP同步开发,Hybrid中的逻辑与H5的逻辑大同小异,所以H5站点与Hybrid中的静态文件使用一套代码,这个是使用前端渲染的主要原因,意思是H5程序结束,APP就完成80%了。

你可能感兴趣的:(关于前后端分离的一些个人理解)