理解:什么是前后端分离开发

在前端或者后端的学习过程中,我们一定或多或少听说过前后端分离开发,但是相信不少人对于前后端分离这个概念仍然不是很清楚,因此本文就对什么是前后端分离开发做一个介绍。

一、什么是前端和后端

在理解前后端分离的概念之前,我们首先要明白什么是前端和后端。

前端指的是用户可见的界面,网站前端页面也就是网页的页面开发,比如网页上的特效、布局、图片、视频,音频等内容。前端的工作内容就是将美工设计的效果图的设计成浏览器可以运行的网页,并配合后端做网页的数据显示和交互等可视方面的工作内容。前端开发用到的技术包括但不限于html5、css3、javascript、jquery、Bootstrap、Node.js 、React、Vue等技术。

后端是指用户没办法直接接触到的部分,后端通常是负责服务器各种业务逻辑的实现,和前端的业务进行交互,同时还要考虑平台的稳定性与性能等。后端开发以java为例,主要用到的技术包括但不限于 spring、 springmvc 、mybatis、 springboot 、servlet 、Tomcat服务器等。

二、什么是前后端不分离

在开发中有两种常见的架构,分别是B/S和C/S架构,C/S架构就是Client Server,是指在桌面程序上有一个客户端,然后连接远程的这个服务器端来传输数据。而B/S架构指的是用通过浏览器进行访问,不需要装一个客户端,B/S架构相比C/S架构来说不需要安装,更加简便快捷,打开浏览器即用。当时的业务逻辑主要如下图所示(图片来自知乎 令狐义卓的文章):

通常来说开发一个web应用程序,主要是用asp、php、jsp这样的语言来编写,一个项目通常是由多个这种文件构成的,每个文件中同时包含了HTML,CSS,JS的代码,系统整体负责处理业务逻辑,控制业面跳转和向用户展示业面等。采用这种的架构来开发具有简单便捷的好处,但是这么做也有一个明显的弊端,就是当这个页面逻辑比较复杂的话,那么这个页面的代码会变得非常复杂。

因此在前后端不分离的web开发中,前端设计师主要只负责将UI设计师设计出来的原型图把它编写成静态的HTML业面,而比如说页面的交互逻辑,后台的数据交互,这些工作都要由后端开发人员来实现,甚至是后端的开发人员还要顾前端的工作,一边实现页面的交互一边要渲染页面,两边相互切换着做。这导致了后台程序员开发的工作压力特别大,容易导致开发效率比较缓慢,而且代码维护起来非常麻烦。

三、什么是前后端分离

为了解决前后端分工不均的这个问题,在现在主流的开发中,我们提倡采用前后端分离这种架构,前后端分离开发的架构示意图如下图所示(图片来自知乎 令狐义卓的文章)。前后端分离后可以将更多的页面交互的逻辑分配给前端来处理,而后端可以专注于本职的工作,比如说API接口,或者是进行权限控制,或者是进行运算这些都交给后端。那么前端就可以独立完成与用户交互的这样一个过程,在前后端分离的这种架构中,后端主要负责返回前端所需要的数据这样的一个过程,而不需要渲染HTML页面和控制前端。

采用前后端分离的架构,在开发中同时解放了前端和后端,前端不需要再向后台提供模板,后端也无需在前端HTML中嵌入后端的代码,两者可以同时开工,专注于完成自己的那部分工作,不需要相互依赖,使得开发效率大大的提高。

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值