点击上方“Java知音”,选择“置顶公众号”

技术文章第一时间送达!

链接:cnblogs.com/-Bloom/p/10260824.html

随着不同终端的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足用户体验的高要求,我们往往需要针对不同的终端开发定制的版本,为了提升开发效率,前后端分离的需求越来越被重视,前端主要负责页面的展现和交互逻辑,后端主要负责业务和数据接口,同一份数据接口,我们可以定制开发多个版本。

前后端不分离:

在之前的开发方法,php代码写在HTML中,不存在纯粹的PHP文件和HTML文件,这就是前后端的不分离,也就是php和HTML你中有我我中有你,而在前后端不分离的应用模式中,前端页面看到的都是由后端控制,由后端渲染页面或者重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高,请求的数据交互如下图:

例如:

  • 前端工程师对php代码读不懂,php工程师对css等内容也不熟悉。

  • 开发效率会大大降低,比如前端写好静态demo,后端翻译成VM模板,也比如直接基于后端环境的开发,那样配置和安装使用都很麻烦,而且前端还是要写VM,依赖后端数据,效率依然不高。

  • 前端能力发挥收到局限,比如性能优化,如果性能优化只在前端做空间非常有限,于是我们经常要与后端合作,但是由于后端的框架限制,我们很难来优化性能。

最后,发现只有做到真正的前后端分离,才能够真正的彻底的解决以上的问题。所以后来就有了前后端分离。

前后端分离:

前端:负责View(视图层/做HTML页面的展示)和Controller(逻辑层/书写业务逻辑)层。

后端:负责Model(数据层/数据的增删改查)层。

在前后端分离的应用模式中,后端仅返回前端所需的数据,不在渲染HTML页面,不再控制前端的效果,用户看到什么样的效果,从后端请求的数据如何加载到前端中,都由前端自己决定,后端仅仅需要提供一套逻辑对外提供数据即可,并且前端与后端的耦合度相对较低,在这种模式中,我们通常将后端开发的每个视图都成为一个接口,或者API,前端通过访问接口来对数据进行增删改查。

对应的数据交互如下图:

前后端分离的好处是什么?

1、为优质产品打造精益团队

术业有专攻,通过前后端分离,让前后端工程师只需要专注于前端或者后端的开发工作,培养前端工程师独特的技术特性,然后构建出一个全栈式的精益开发团队。

2、提高工作效率,分工更加明确

前后端分离的工作流程可以使得前端专心前端,后端关心后端,两者开发同时进行,提高工作效率,页面的增加和路由的修改也不必再去麻烦后端,开发更加灵活。

3、局部性能提升

通过前端路由的配置,我们可以实现页面的按需加载,无序一开始加载首页便加载网站的所有资源,服务器也不再需要解析前端页面,在页面交互及用户体验上有所提升。

4、增强代码的可维护性

前后端分离后,应用的代码不再是前后端混合,只有在运行期才会调用依赖关系,并且分层明确,应用代码变得整洁清晰。

最后:

总的简单来说:前后端分离主要就是将数据操作和显示分离分离出来,前端专注做数据显示,通过文字、图片或者图标等方式让数据显示出来,后端专注的做数据的操作。

前端把数据发给后端,然后后端对数据进行修改。而后端提供接口给前端调用,来触发后端对数据的操作。

1. SpringBoot 整合篇

2. 手写一套迷你版HTTP服务器

3. 记住:永远不要在MySQL中使用UTF-8

4. Springboot启动原理解析

看完本文有收获?请转发分享给更多人

谈谈我们为什么要前后端分离相关推荐

  1. 为什么一定要前后端分离?

    作者 孤独烟,中国平安研发工程师,目前负责云平台架构设计以及需求研发工作.毕业后一直从事Java开发工作,在Web开发.架构设计上有多年的实战经验.在MySQL性能优化.JVM调优.分布式领域有着丰富 ...

  2. 互联网分层架构,为啥要前后端分离?

    作者:58神剑,来源:架构师之路 一,典型后端架构 通用业务服务化之后,系统的典型后端结构如上: web-server通过RPC接口,从通用业务服务获取数据 biz-service通过RPC接口,从多 ...

  3. 浅谈前后端分离思想对自由泳练习的指导意义

    以SAP BSP(Business Server Page), ABAP Webdynpro和WebClient UI为代表的SAP UI开发技术,在企业管理软件的前端开发领域里算是独树一帜的存在-- ...

  4. 《浅谈架构之路:前后端分离模式》 - 山人行 - 博客园

    前言:分离模式 对前后端分离研究了一段时间,恰逢公司有一个大项目决定尝试使用前后端分离模式进行,便参与其中.该项目从2016年初立项至今,平平稳稳得度过,但也涌现出越来越多的问题,绝对不是说前后端分离 ...

  5. 《浅谈架构之路:前后端分离模式》

    前言:分离模式 对前后端分离研究了一段时间,恰逢公司有一个大项目决定尝试使用前后端分离模式进行,便参与其中.该项目从2016年初立项至今,平平稳稳得度过,但也涌现出越来越多的问题,绝对不是说前后端分离 ...

  6. Blazor 机制初探以及什么是前后端分离,还不赶紧上车?

    上一篇文章发了一个 BlazAdmin 的尝鲜版基于 Blazui 的 Blazor 后台管理模板 BlazAdmin 正式尝鲜,这一次主要聊聊 Blazor 是如何做到用 C# 来写前端的,传送门: ...

  7. Nginx学习总结(10)——Nginx前后端分离将多个请求转发到多个Tomcat,负载均衡反向代理

    一.谈谈"渲染" 相信好多人都挺听过"渲染"这个词,但不清楚它是什么意思?前端开发以为这是后端的活儿,后端开发以为是前端的事儿,推着推着就不了了之.其实渲染很简 ...

  8. 前后端分离开发下的权限管控 :SpringSecurity 框架

    首先在了解前后端分离模式下使用SpringSecurity框架之前,我们需要先了解token和jwt(Json Web Token)技术 token 和 session 的区别? 由于http协议是无 ...

  9. Web实现前后端分离,前后端解耦

    作者:山河远阔 https://blog.csdn.net/weixin_37539378 一.前言 "前后端分离"已经成为互联网项目开发的业界标杆,通过Tomcat+Ngnix( ...

  10. Shiro学习笔记-----小组开发前后端分离项目---登陆认证盐值加密

    当下我正在参与的学校前后端分离的实习项目,有了登录系统的需求,于是我在了解到Shiro是当下主流的安全框 架后,毅然决然开启了学习Shiro的旅程 首先来谈谈什么是Shiro,Apache Shiro ...

最新文章

  1. ubuntu mysql 5.7.19_在Ubuntu19下安装Mysql-5.7.24
  2. 快速上手关键词抽取的算法
  3. C++ 类的静态成员详细讲解
  4. 直播源码和短视频源码,相亲相爱的一家人
  5. JS 对select动态添加options操作[IEFireFox兼容]
  6. 联合国隐私监督机构:大规模信息监控并非行之有效
  7. MFC 添加文件路径 遍历文件
  8. Docker国内Yum源和国内镜像仓库
  9. 60.Linux/Unix 系统编程手册(下) -- SOCKET: 服务器设计
  10. 验证堆表(heap table)存储方式
  11. 【Gym - 101848B】Almost AP【等差数列改三个数】
  12. ISTQB认证考试攻略大全(2018版)
  13. 基于python的税额计算器
  14. 数据库设计案例(1)
  15. 操作系统不等于 Linux,六问操作系统新时代 | 1024 程序员节
  16. 计算机桌面图标乱码,电脑软件上的文字变乱码怎么办?怎么修复?
  17. 封装一个学生类Student(使用类与对象的方法)
  18. MySql 删除索引
  19. No qualifying bean of type found for dependency: expected at least 1 bean which qualifies as autowir
  20. oCPC实践录 | 糟糕,广告主成本超了!

热门文章

  1. 如何在word中找到标准偏差σ、α、β、δ等数学公式符号和物理公式符号
  2. java md5加密与解密_Java——MD5加密与解密
  3. Oracle自增序列字段
  4. 三维扫描仪用于无人机壳体扫描与精密装配
  5. 應用程式中發生伺服器錯誤
  6. 用python制作上海疫情评论词云图-自定义形状
  7. 谷歌浏览器不能上网DNS_PROBE_FINISHED_NXDOMAIN
  8. WEB前端设计师常用工具集锦
  9. 物联网之智能家居系统设计和实现
  10. mysql的函数的写法_mysql中分组函数的写法