快速理解前后端分离的本质

admin11个月前笔记111

一、前后端分离本质

大家往往会陷入一个误区,试图用具体的技术来描述什么是前后端分离这个一个概念,这是答非所问的。比如一提到前后端分离就是Laravel + Vue,这并不是完全正确的理解

我们问的是:你为什么采用这种方式解决问题
回答却是:你是如何去具体做这件事

前后端分离是:软件技术和业务发展到一定程度,在项目管理工作上必须进行的一种升级,他是一个必然而不是一个偶然!说白了,就是公司部门架构的一种调整。【相关推荐:web前端

为什么会发生这种变化?

因为初期的软件开发其实是侧重于后端的,因为互联网初期的页面功能比较简单,只需要做数据的展示,然后提供基本的操作就可以了!所以整个项目的重点放在后台的业务逻辑处理上。但是随着业务和技术的发展,前端功能越来越复杂,变得越来越重要,同时前端的技术栈越来越丰富!这样我们在开发中遇到的问题就越来越多,解决这些问题的难度就越来越大,这时我们发现前端开发不能像以前那样零散的分布在整个系统架构当中了。前端也应该像后端那样,实现工程化、模块化、系统化。

如何做到这一点呢?

就是成立专门的前端部门,把原本跟后端程序员混合在一起的前端开发统一集中起来,形成纯粹的前端部门。专门去研究开发工程化的前端技术,迭代升级新的技术体系,以解决项目中的问题、适应技术的发展。所以一句话总结:为了适应技术和业务发展的需求。前端开发需要从之前前后端混合在一起的组织架构当中分离出来,形成独立的前端部门和后端部门,这就是前后端分离产生的原因

二、不使用前后端分离的缺点

前后端分离是目前热门的开发方式,大部分互联网都会采用前后端分离的方式开发!
前后端分离就是一个应用的前端代码和后端代码分开写

传统的Web开发过程中,View视图层不是由后端开发者来独立完成的
前端开发——>HTML静态页面——>后端开发
前端会把页面做出来,我们后端需要开发,就把前端页面嵌入到View的template中,或者使用其他的template模板也是同理的!也需要添加标签才能把数据整合起来。因为核心就是:如何把我们后端返回的数据添加到页面中
如果此时后端页面中遇到一些问题,我们把template文件发给前端开发,前端开发人员看不懂template。此时前端也不好解决,后端也不好解决。这样沟通和开发效率非常低!前后端耦合度太高,开发起来太麻烦!

解决方式很简单:就是使用前后端分离的方式进行开发!
前端只需要独立编写客户端代码,后端也只需要独立编写服务端代码提供数据接口即可
前端通过AJAX请求来访问后端的数据接口,将Model展示到View中即可

前后端开发者只需要提前约定好接口文档(URL、参数、数据类型…),然后分别独立开发即可
前端可以造假数据进行测试,完全不需要依赖于后端,最后完成前后端集成即可
真正实现了前后端应用的解耦合!极大提升开发效率

单体——> 前端应用 + 后端应用
前端应用:负责数据展示和用户交互
后端应用:负责提供数据处理接口
前端HTML——>Ajax——>RestFul后端数据接口

三、前后端分离架构图

image.png

总结:

前后端分离就是将一个单体应用拆分成两个独立的应用:前端应用和后端应用,以JSON格式进行数据交互。


相关文章

FTP、FTPS 与 SFTP 简介

FTP、FTPS 与 SFTP 简介

FTPFTP 即 文件传输协议(英语:File Transfer Protocol 的缩写)是一个用于计算机网络上在客户端和服务器之间进行文件传输的应用层协议。完整的 FTP 是由 FTP 服务器 和...

触发式文件同步在Sersync+Rsync中实现

背景通常我们在服务器上使用rsync加上crontab来定时地完成一些同步、备份文件的任务。随着业务和应用需求的不断扩大、实时性要求越来越高。一般rsync是通过校验所有文件后,进行差量同步,如果文件...

V2Ray Windows 客户端 v2rayN 下载及配置使用教程

V2Ray Windows 客户端 v2rayN 下载及配置使用教程

       v2rayN 是基于 V2Ray 核心的 Windows 客户端,功能强大且支持多种协议,如 Shadowsocks、V2Ray、Xray、Tro...

ChatGPT的5种有趣用途,您可能不知道

ChatGPT的5种有趣用途,您可能不知道

ChatGPT是一款功能强大的语言模型,它可以进行自然语言处理,帮助您解决各种问题。除了传统的聊天机器人,ChatGPT还可以用于很多其他有趣的用途,让您大开眼界。在文章中,我们将介绍5种您可能不知道...

开发必备技术--docker(使用篇)

开发必备技术--docker(使用篇)

前言续接上一篇博文: 开发必备技术--docker(一) 这也是开学了,假期的最后一篇博文,后面的一些文章可能就是以图片,pdf文档的形式了,尤其后面设计到数学,算法类型的博文都是这种形式的,当然无所...

linux下vsftpd系统虚拟帐户使用

linux下vsftpd系统虚拟帐户使用

一、需求1、系统帐号和虚拟帐号这是一个相当复杂的需求,系统上一些采集系统走的ftp进行采集的。历史积累下来的,最早都是直接在OS上创建系统帐号再ftp登录(shell大部分设置为/bin/false或...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。