前后端分离开发的理解以及和前后端不分离的区别
一、前后端分离的概念
前后端分离
- 前后端分离是一种架构模式,说通俗点就是后端项目里面看不到页面
(JSP | HTML)
,后端给前端提供接口,前端调用后端提供的REST
风格接口就行,前端专注写页面(html|jsp)
和渲染(JS|CSS|各种前端框架)
;后端专注写代码就行。 - 前后端分离的核心:后台提供数据,前端负责显示
软件架构模式
最熟悉
MVC
设计模式,Model—View-Controller
模型-视图-控制器
- 它是怎么工作的?通俗来说:你在页面输入一个网址
(请求-Request)
,这个网址跑到哪里去了呢?就去调用接口
(REST风格)
,这个接口其实就是访问后端的一段代码(方法),后端有很多方法。 - 如何确定访问的是哪个方法?就是接口定义好的,比如:
177.25.26.7/idp/user/login
,这里面的idp
就表示一
个服务(一个工程),user
表示一个类,login
表示具体要调用的那个方法,你一旦回车,就直接调用了后端这个方法,后端这个方法就去数据库(MySQL|Oracle|其他)
取数据,数据库表中每一行数据就表示一个对象,也就是一个JavaBean
,最终用pojo
方式存到集合框架(List|Map|Set|等)
中,方法把这个集合返回,那么调用这个接口的结果就是会响(Response)
给你一个结果集,前端就拿到了这个数据,然后通过页面(html|Jsp)
展现出来,这个用户看到的就是View
层做的事情。
前后端分离的原因
在以前,听说
TDD (Test-driven development,测试驱动开发)
可以改善代码的质量,我们便实施了TDD
;接着,听说BDD (Behavior-driven development,行为驱动开发)
可以交付符合业务需求的软件,我们便实施了 BDD;后来,听说DDD (Domain-driven design,领域驱动设计)
可以分离业务代码与基础代码,我们便实施了DDD
。今天,听说了前后端分离很流行,于是我们就实施了前后端分离——这就是传说中的HDD(Hype-driven Development,热闹驱动开发)
。过程:
TDD -》 BDD -》 DDD =》 HDD
前后端分离的优点
二、前后端分离和前后端不分离的区别
前后端不分离
- 在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。
- 这种应用模式比较适合纯网页应用,但是当后端对接
App
时,App
可能并不需要后端返回一个HTML
网页,而仅仅是数据本身,所以后端原本返回网页的接口不再适用于前端App
应用,为了对接App
后端还需再开发一套接口。
前后端分离
- 在前后端分离的应用模式中,后端仅返回前端所需的数据,不再渲染
HTML
页面,不再控制前端的效果。至于前端用户看到什么效果,从后端请求的数据如何加载到前端中,都由前端自己决定,网页有网页的处理方式,App
有App
的处理方式,但无论哪种前端,所需的数据基本相同,后端仅需开发一套逻辑对外提供数据即可。 - 在前后端分离的应用模式中 ,前端与后端的耦合度相对较低。
- 在前后端分离的应用模式中,我们通常将后端开发的每个视图都称为一个接口,或者
API
,前端通过访问接口来对数据进行增删改查。
前后端分离开发的理解以及和前后端不分离的区别相关推荐
- web前后端分离开发部署模式
web前后端分离开发部署模式 在开始讨论这个话题之前我们先来认识一下传统的开发模式. 一.传统开发模式 相信很多做过Web开发童鞋应该都会经历这样一种开发模式,利用后端语言提供的模版引擎编写HTML/ ...
- 理解:什么是前后端分离开发
在前端或者后端的学习过程中,我们一定或多或少听说过前后端分离开发,但是相信不少人对于前后端分离这个概念仍然不是很清楚,因此本文就对什么是前后端分离开发做一个介绍. 一.什么是前端和后端 在理解前后端分 ...
- 前后端分离开发模式下后端质量的保证 —— 单元测试
概述 在今天, 前后端分离已经是首选的一个开发模式.这对于后端团队来说其实是一个好消息,减轻任务并且更专注.在测试方面,就更加依赖于单元测试对于API以及后端业务逻辑的较验.当然单元测试并非在前后端分 ...
- 【转】Vue.js入门教程(一)从静态页面到前后端分离开发
第一章:基础知识 我能看懂吗? 只要你现在能用html+css+js制作一个静态页面,相信我,你100%可以读懂这篇文章. 本文尤其适合那些想要了解前后端分离开发技术,或者刚刚脱离传统MVC开发模式的 ...
- vue后端必须接口吗_前后端分离模式,后端说开发完才能给接口文档,合理吗
背景: 汇总了下老王在其他平台的原创回复,欢迎关注老王原创公众号[软件老王],关注不迷路. 一.后端开发完接口才给出接口文档,合理吗? 本人所在的项目组做项目过程中,后端不会先给出接口文档,而是要等他 ...
- ultraedit 运行的是试用模式_单元测试 —— 前后端分离开发模式下后端质量的保证...
概述 在今天, 前后端分离已经是首选的一个开发模式.这对于后端团队来说其实是一个好消息,减轻任务并且更专注.在测试方面,就更加依赖于单元测试对于API以及后端业务逻辑的较验.当然单元测试并非在前后端分 ...
- 《Vue+Spring Boot前后端分离开发实战》专著累计发行上万册
杰哥的学术专著<Vue+Spring Boot前后端分离开发实战>由清华大学出版社于2021年3月首次出版发行,虽受疫情影响但热度不减,受到业界读者的热捧,截至今日 ...
- SpringBoot + Vue前后端分离开发:全局异常处理及统一结果封装
SpringBoot + Vue前后端分离开发:全局异常处理及统一结果封装 文章目录 SpringBoot + Vue前后端分离开发:全局异常处理及统一结果封装 前后端分离开发中的异常处理 统一结果封 ...
- 基于NodeJS的全栈式开发(基于NodeJS的前后端分离)【转】
随着不同终端(Pad/Mobile/PC)的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足用户体验的高要求,我们往往需要针对不同的终端开发定制的版本.为了提升开发效率,前后端分离的需求 ...
最新文章
- ECSHOP 助手使用
- JavaScript中HTML的DOM
- 推荐给开发人员的实用命令行工具
- Android项目实战(三十八):2017最新 将AndroidLibrary提交到JCenter仓库(图文教程)...
- 值得推荐的威胁情报平台
- 《数字时代汽车营销变革白皮书》发布,为新消费时代的车企营销提供指南
- android中MVC,MVP和MVVM三种模式详解析
- EP100触发CAN中断但无法读取报文
- catalan(卡特兰数学习+应用)
- 应用树莓派GPIO完成智能红绿灯系统
- linux查看目录是不是btrfs,Linux 文件系统Btrfs 的Kconfig分析
- 变量、函数、类等编程时常用英文命名和缩写
- matlab eigs 求特征值函数
- 2020大厂到底有多少程序员?腾讯研发人员占比68%
- dwm.exe_什么是桌面窗口管理器(dwm.exe),为什么运行?
- os.system和os.popen和commands
- 浙江大学PAT考试基础知识整理
- JRE和JDK的解释及区别
- 全球最流行12款浏览器
- 微软升至live.com后hotmail邮箱不能登录的应急方法。