开发模式:前后端分离与前后端不分离

目前主流的开发模式,就两种:前后端分离 和 前后端不分离

前后端不分离

  • 在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。
  • 这种应用模式比较适合纯网页应用,但是当后端对接App时,App可能并不需要后端返回一个HTML网页,而仅仅是数据本身,所以后端原本返回网页的接口不再适用于前端App应用,为了对接App后端还需再开发一套接口。
  • 请求的数据交互如下图:
    在这里插入图片描述
  • flask框架应用模板开发就是前后端不分离开发模式
    在这里插入图片描述
  • 前后端不分离特点
    • http请求次数少
    • 只需要一个后台服务器
    • 前后端开发耦合,责任不明确
    • 单纯开发网站,效率非常高
    • 响应的往往是html的页面

前后端分离

  • 在前后端分离的应用模式中,后端仅返回前端所需的数据,不再渲染HTML页面,不再控制前端的效果。至于前端用户看到什么效果,从后端请求的数据如何加载到前端中,都由前端自己决定,网页有网页的处理方式,App有App的处理方式,但无论哪种前端,所需的数据基本相同,后端仅需开发一套逻辑对外提供数据即可。
  • 在前后端分离的应用模式中 ,前端与后端的耦合度相对较低。
  • 在前后端分离的应用模式中,我们通常将后端开发的每个视图都称为一个接口,或者API,前端通过访问接口来对数据进行增删改查。
  • 对应的数据交互如下图 :
  • 在这里插入图片描述
    在这里插入图片描述
  • 特点:
    • 有静态文件服务器、后台的应用服务器
    • 后台服务器只提供的接口的服务
    • 前后端责任分工明确
    • 一个后台即可满足网站、app、小程序等多种应用的需要
    • 响应的往往是json的数据

前后端分离的优点

  • 彻底解放前端
    • 前端不再需要向后台提供模板或是后台在前端html中嵌入后台代码
  • 提高工作效率,分工更加明确
    • 前后端分离的工作流程可以使前端只关注前端的事,后台只关心后台的活,两者开发可以同时进行,在后台还没有时间提供接口的时候,前端可以先将数据写死或者调用本地的json文件即可,页面的增加和路由的修改也不必再去麻烦后台,开发更加灵活。
  • 局部性能提升
    • 通过前端路由的配置,我们可以实现页面的按需加载,无需一开始加载首页便加载网站的所有的资源,服务器也不再需要解析前端页面,在页面交互及用户体验上有所提升。
  • 降低维护成本
    • 通过MVC框架,我们可以非常快速的定位及发现问题的所在,客户端的问题不再需要后台人员参与及调试,代码重构及可维护性增强。

主要内容参考以下资料:
博客园 skaarl 前后端分离与前后端不分离的区别
CSDN 小廖同学 前后端分离与前后端不分离

猜你喜欢

转载自blog.csdn.net/laoluobo76/article/details/109772058