前后端分离,首先所有的程序以数据为基础的,没有数据的程序没有实际意义,程序的本质就是对程序的增删改查,其实前后端分离就是把数据操作和显示分离出来。前端专注做数据显示,通过文字,图片或者图标等方式让数据形象直观的显示出来,后端专注做数据的操作,前端通过后端提供的接口把数据发给后端,有后端对数据进行修改操作。
所以在前后端分离的应用模式中,后端仅返回前端所需的数据,不再渲染html页面,不再控制前端的效果。至于前端用户看到什么效果,从后端强求的数据如何加载到前端中,都由前端自己决定,网页有网页的处理方式,App有App的处理方式,但无论你那种前端,所需的数据基本相同,后端仅需开发一套逻辑对外提供数据即可。
在前后端分离的应用模式中,前端与后端的耦合度相对较低;在前后端分离的应用模式中,我们通常将后端开发的每个视图都称为一个接口,或者API,前端通过访问接口来对数据进行增删改查。
前后端不分离,在应用模式中,前端页面看到的效果都是由后端控制,有后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。这种应用模式比较适合纯网页应用,但是当后端对接App时,App肯能并不需要后端返回一个html网页,而仅仅是数据本身,所以后端原本返回网页的接口不再适合用于前端App应用,为了对接App后端还需再开发一套接口。
前后端分离能带来哪些好处呢?
1、为优质产品打造精益团队
术业有专攻,通过将开发团队前后端分离化,让前后端工程师只需要专注于前端或后端的开发工作,是的前后端工程师实现自治,培养其独特的技术特性,然后构建出一个全栈式的精益开发团队。
2、提高工作效率,分工更加明确
前后端分离的工作流程可以使前端只关注前端的事,后台只关心后台的活,两者开发可以同时进行,在后台还没有时间提供接口的时候,前端可以先将数据写死或者调用本地的json文件即可,页面的增加和路由的修改也不必再去麻烦后台,开发更加灵活。
3、局部性能提升
通过前端路由的配置,我们可以实现页面的按需加载,无需一开始加载首页便加载网站的所有的资源,服务器也不再需要解析前端页面,在页面交互及用户体验上有所提升。
4、增强代码可维护性
前后端分离后,应用的代码不再是前后端混合,只有在运行期才会有调用依赖关系。
应用代码将会变得整洁清晰,不论是代码阅读还是代码维护都会比以前轻松。
结束语:虽然说前后端分离利大于弊,但也是对于项目的性质而言,有的项目不需要前后端分离,强行前后端开发就本末倒置了。
原文地址:https://www.cnblogs.com/xiaoyushuai/p/10259013.html