前后端分离与前后端不分离的区别
- 简单来说,就是前端和后端分为两个工程,后端就是去实现业务逻辑,提供前端所需要的API接口,而前端就调用后端提供的接口,实现前端页面的交互逻辑,运用Nodejs或Ajax进行交互。
如何实现前后端分离
- 这里就要使用到一个js的运行环境,nodejs。我们都知道,前端需要后端开启服务器,并且提供API接口之后才能模拟线上环境,这样很不利于开发的。诸如Ajax,如果没有服务,ajax的请求是无法发出去的,这里是一个浏览器的的跨域问题,而使用node,前端可以搭建一个属性自己的服务器,这样的话,前端可以不用等待后端提供API接口就能进行后续的开发,可以用mockjs来模拟一些假数据来进行本地调试,重要的是nodejs 是使用js来编写的,对于前端人员来说,js是再熟悉不过,节约了很大的学习成本。
前后端不分离
在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。
这种应用模式比较适合纯网页应用,但是当后端对接App时,App可能并不需要后端返回一个HTML网页,而仅仅是数据本身,所以后端原本返回网页的接口不再适用于前端App应用,为了对接App后端还需再开发一套接口。
请求的数据交互如下图:
前后端分离
在前后端分离的应用模式中,后端仅返回前端所需的数据,不再渲染HTML页面,不再控制前端的效果。至于前端用户看到什么效果,从后端请求的数据如何加载到前端中,都由前端自己决定,网页有网页的处理方式,App有App的处理方式,但无论哪种前端,所需的数据基本相同,后端仅需开发一套逻辑对外提供数据即可。
在前后端分离的应用模式中 ,前端与后端的耦合度相对较低。
在前后端分离的应用模式中,我们通常将后端开发的每个视图都称为一个接口,或者API,前端通过访问接口来对数据进行增删改查。
对应的数据交互如下图 :
本人jio的写的不错哦https://blog.csdn.net/fuzhongmin05/article/details/81591072
https://www.cnblogs.com/yanggb/p/10828830.html