1、前后端不分离
在前后端不分离的开发模式中,前端看到的页面效果都是由后端控制,由后端渲染页面或重定向,即后端要控制前端的显示,耦合度很高,这种开发模式比较适合纯网页应用。但是当后端需要同时对接App时,App可能不需要后端返回一个html网页,需要的仅仅是数据而已,那后端原本返回网页接口就不再适用于App,为了对接App还要重新开发一套接口。
前后端不分离时请求数据的交互.png
2、前后端分离
在前后端分离的开发模式中,后端仅仅返回前端需要的数据,不再渲染html页面,不再控制前端的效果。前端用户看到什么效果,从后端请求的数据如何加载到前端页面都由前端自己决定,网页有网页的处理方式,App有App的处理方式,但是总体来说无论哪种前端所需的数据基本相同,后端仅需要开发一套逻辑对外提供数据接口即可,前后端分离的开发模式耦合度较低。在前后端分离的应用模式中,通常将后端开发的每个视图都称为一个接口(API),前端通过访问接口来对数据进行增删改查。
前后端分离时请求数据的交互.png
3、前后端分离的优势
(1)可以实现真正的前后端解耦,前端服务器使用nginx
(2)发现bug可以快速定位是谁的问题,不会出现踢皮球的现象
(3)减少后端服务器的开发/负载压力
(4)即使后端服务器暂时超时或是宕机了,前端页面也可以正常访问,只不过数据刷不出来而已
(5)多端应用:也许你也需要有微信相关的轻应用,那样你的接口完全可以共用,如果也有app相关的服务,那么只要通过一些代码重构,也可以大量复用接口,提升效率
(6)页面显示再多的东西也不担心,因为是异步加载
(7)增加代码的易读性和维护性
(8)提升开发效率,因为可以前后端并行开发,而不是像以前的强依赖
(9)后端追求的是:三高(高并发、高可用、高性能)、安全、存储、业务逻辑等
(10)前端追求的是:页面表现、速度流畅、兼容性、用户体验等
网友评论