前后端分离和不分离的区别是什么
前后端分离和不分离的区别是什么
区别:前后端不分离中,前端页⾯看到的效果都是由后端控制,由后端渲染页⾯或重定向,即后端需要控制前端的展⽰,前端与后端的耦合度很⾼。前后端分离中,后端仅返回前端所需的数据,不再渲染HTML页⾯,不再控制前端的效果,前端与后端的耦合度相对较低。
相关推荐:《》
⼀、前后端分离的概念
1、前后端分离
前后端分离是⼀种架构模式,说通俗点就是后端项⽬⾥⾯看不到页⾯(JSP | HTML),后端给前端提供接⼝,前端调⽤后端提供
的REST风格接⼝就⾏,前端专注写页⾯(html|jsp)和渲染(JS|CSS|各种前端框架);后端专注写代码就⾏。
前后端分离的核⼼:后台提供数据,前端负责显⽰
1、软件架构模式
最熟悉MVC设计模式,Model—View-Controller模型-视图-控制器
javabean是干什么的它是怎么⼯作的?通俗来说:你在页⾯输⼊⼀个⽹址(请求-Request),这个⽹址跑到哪⾥去了呢?就去调⽤接⼝
(REST风格),这个接⼝其实就是访问后端的⼀段代码(⽅法),后端有很多⽅法。
如何确定访问的是哪个⽅法?就是接⼝定义好的,⽐如:177.25.26.7/idp/user/login,这⾥⾯的idp就表⽰⼀
个服务(⼀个⼯程),user表⽰⼀个类,login表⽰具体要调⽤的那个⽅法,你⼀旦回车,就直接调⽤了后端这个⽅法,后端这个⽅法就去数据库(MySQL|Oracle|其他)取数据,数据库表中每⼀⾏数据就表⽰⼀个对象,也就是⼀个JavaBean,最终⽤pojo⽅式存到集合框
架(List|Map|Set|等)中,⽅法把这个集合返回,那么调⽤这个接⼝的结果就是会响(Response)给你⼀个结果集,前端就拿到了这个数据,然后通过页⾯(html|Jsp)展现出来,这个⽤户看到的就是View层做的事情。
2、前后端分离的原因
在以前,听说TDD (Test-driven development,测试驱动开发)可以改善代码的质量,我们便实施了TDD;接着,听说BDD (Behavior-driven development,⾏为驱动开发)可以交付符合业务需求的软件,我们便实施了 BDD;后来,听说DDD (Domain-driven design,领域驱动设计)可以分离业务代码与基础代码,我们便实施了DDD。今天,听说了前后端分离很流⾏,于是我们就实施了前后端分离——这就是传说中的HDD(Hype-driven Development,热闹驱动开发)。
过程:TDD -》 BDD -》 DDD =》 HDD
3、前后端分离的优点
前后端分离则可以很好的解决前后端分⼯不均的问题,将更多的交互逻辑分配给前端来处理,⽽后端则可以专注于其本职⼯作,⽐如提
供API接⼝,进⾏权限控制以及进⾏运算⼯作。⽽前端开发⼈员则可以利⽤nodejs来搭建⾃⼰的本地服务器,直接在本地开发,然后通过⼀些插件来将api请求转发到后台,这样就可以完全模拟线上的场景,并且与后台解耦。前端可以独⽴完成与⽤户交互的整⼀个过程,两者都可以同时开⼯,不互相依赖,开发效率更快,⽽且分⼯⽐较均衡。
总结优点如下:
提升开发效率
完美应对复杂多变的前端需求
增强代码可维护性
⼆、前后端分离和前后端不分离的区别
1、前后端不分离
在前后端不分离的应⽤模式中,前端页⾯看到的效果都是由后端控制,由后端渲染页⾯或重定向,也就是后端需要控制前端的展⽰,前端与后端的耦合度很⾼。
这种应⽤模式⽐较适合纯⽹页应⽤,但是当后端对接App时,App可能并不需要后端返回⼀个HTML⽹页,⽽仅仅是数据本⾝,所以后端原本返回⽹页的接⼝不再适⽤于前端App应⽤,为了对接App后端还需再开发⼀套接⼝。
2、前后端分离
在前后端分离的应⽤模式中,后端仅返回前端所需的数据,不再渲染HTML页⾯,不再控制前端的效
果。⾄于前端⽤户看到什么效果,从后端请求的数据如何加载到前端中,都由前端⾃⼰决定,⽹页有⽹页的处理⽅式,App有App的处理⽅式,但⽆论哪种前
端,所需的数据基本相同,后端仅需开发⼀套逻辑对外提供数据即可。
在前后端分离的应⽤模式中,前端与后端的耦合度相对较低。
在前后端分离的应⽤模式中,我们通常将后端开发的每个视图都称为⼀个接⼝,或者API,前端通过访问接⼝来对数据进⾏增删改查。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论