开发框架前后端分离的好处是什么

关于将前端和后端保持在一起或分开,存在广泛的意见分歧。唯一重要的是,这两个组件对于开发成熟的应用程序都是必需的。

考虑:紧密耦合的前端和后端

许多人认为后端和前端的分离是一个坏主意,这两个角色之间没有太大区别。

以下几点支持为什么前端和后端应该保持在一起:

  • 类似的概念和语法:功能抽象通过消除不必要的特征,将重点放在基本的项目功能上,成为主要帮助。为了解决这些问题,在客户端和服务器环境中使用了类似的概念和语法。例如,ReactiveX是一种具有可观察模式的API异步编程,可以用各种语言实现,这有助于在前面和后面的相同响应式抽象上轻松构建项目。
     
  • 沟通不畅是最低限度的:通信需要完好无损,以实现无缝的应用程序开发过程。前端和后端的划分将造成沟通鸿沟,使两个团队不了解或不清楚有关各自端变化的信息。将前端和后端保持在一起将减少此类错误沟通的机会,从而促进应用程序的顺利开发。
     
  • 高效利用资源:聘请全栈开发人员进行前端和后端耦合。当考虑大型项目时,需要在客户端和服务器端解决一些任务。在这种情况下,全栈开发人员从应用程序的一部分跳到另一部分,没有任何额外的开销。在开发团队中拥有全栈开发人员既经济高效又省时。
     
  • 高效的团队合作,完全拥有所有权:如果对业务需求有清晰的了解,前端和后端的集成是富有成效的。这样,参与的多学科团队将迅速适应开发环境,并完全拥有项目。开发团队一起工作更长的时间,以有效地交付产品。
     
  • 适用于简单和小型项目:对于简单的 CRUD(创建、读取、更新和删除)操作或较小的代码库,耦合的前端后端方法绰绰有余,因为在这种情况下,大多数任务已经解决,不需要额外的输入。
     
  • 开箱即用的安全性:将前端和后端连接在一起具有许多安全优势。例如,在这种情况下,无法公开 API,从而保护 API 免受任何类型的攻击。

所以我们谈到了前端和后端加入到现在的优势。但是,现代应用程序开发模型由于其缺点,正在看到紧密耦合的前端和后端被其他方法取代。

以下是将前端和后端连接在一起的缺点:

  • 在简单网站的情况下,前端和后端加入是成功的。在网站上添加网页会使系统效率低下,无法提供多种类型的内容、图像或其他媒体元素。
     
  • 所有处理任务都由服务器在最终将内容交付给用户之前完成。这最终使服务器无法有效地处理多个用户请求。
     
  • 自定义的范围较小,因为在后端执行的任何更改都会直接影响网站的前端。此外,任何开发更改或维护都需要比平时更长的时间。

为了处理大型项目,例如拥有数十亿行代码,前端后端紧密耦合将不起作用。由于大型项目太大,任何人都无法完全掌握。全栈开发人员将无法完全控制项目。

来源:呆伯特

在开发环境中分离前端后端

功能强大且高性能的Web浏览器具有增强的处理功能,有助于在Web应用程序开发模型中将前端和后端分离后实现无缝运行。

前端和后端分离的主要好处如下所述:

  • 广泛的技术专家覆盖:在多层开发环境架构中,复杂的技术负责任务。因此,为了创建一个复杂的系统,需要特定的技术专家。划分前端和后端有助于获得各自技术专家的程序员。此外,消除双方可能对另一方施加的技术选择的限制。从而使该过程在这样的开发环境中顺利进行。
     
  • 模块性:由于此类开发模型中的组件或模块是独立的,因此更换模块或对模块进行任何更改都是顺利的。Web 应用程序的后端模块中的更改不会影响前端部分,反之亦然。因此,不会覆盖或弄乱对方的工作。
     
  • 快速开发和部署:由于各个团队在项目上并行工作并且完全连贯,这有助于快速同时开发 Web 应用程序,从而实现快速应用程序部署。
     
  • API 整合:随着大量设备的可用性,需要对各种版本的代码(网站,iOS应用程序,Android应用程序)进行管理。其中大多数需要相同的代码库。基于 API 的网站简化了开发人员的一切,因为现在 API 处理代码管理。因此,开发人员需要处理的代码更少。

我们看到松散耦合的前端和后端带来了许多主要的好处。

但是这种分离也带来了一系列缺点,它们是:

  • 与 API 的通信和代码管理增加了团队的文档开销负担。除此之外,没有明确的方法来解决前端的 API 更改。
     
  • 工作量随着前端和后端的划分而增加。为了提交任何更改,需要进行两次同步提交,而不是一次。
     
  • 前端和后端的集成会导致错误、进度延迟,在最坏的情况下会导致开发失败。此外,团队之间的沟通效率低下。

分还是分?选择什么

正如我们所看到的,前端和后端的鸿沟可能没有什么好处。但这些好处可以扩展到独立升级、熟练的员工集成、可重用的 API 等。最重要的是,较少的依赖项减少了开发块的机会。

我们并不是说这些扩展优势使前端和后端与前端后端连接区分开来最好。现实情况是,这一切都取决于具体情况。大量的优势清单并不能使一个优于另一个。

建议在做出有关应用程序的前端和后端的拆分或连接的任何决定之前,先考虑项目的传入和输出。

结论

前端和后端的加入和分离有一些优点和缺点。考虑到目前的发展情况,可以选择两者中最好的。

开发框架前后端分离的好处是什么 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/1454.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

剑指 Offer 51: 数组中的逆序对

这道题归根结底就是一个归并问题,逆序对本质上就是比较大小,如果两边作为一个整体比较过那么就可以排序合并(因为这个过程每一步都计算了count的值,所以合并起来是可以的)。 下面的k应该是mid1(从中间的右…

【数据库】事务、事务并发问题、并发事务隔离级别、及sql演示

文章目录 一、事务1.1 事务简介 及 sql 操作1.2 事务的特性 二、事务并发问题三、事务隔离级别四、sql 演示4.1 脏读4.2 不可重复读4.3 幻读 五、演示代码 一、事务 1.1 事务简介 及 sql 操作 事务:数据库执行的一系列操作,这些操作要么全部执行&#x…

WPS数据清洗+R语言读取文件画频数分布直方图

R语言是一门好语言,但很多人在读取文件中数据时会遇到问题。比如我遇到的问题就是从文件中读取数据后,数据无法用于画图。 检索了N篇博文(抱歉我实在无法一一列举30篇博文)后,终于看到曙光,事实告诉我学任…

关于数据库SQL优化

简介 在项目上线初期,业务数据量相对较少,SQL的执行效率对程序运行效率的影响可能不太明显,因此开发和运维人员可能无法判断SQL对程序的运行效率有多大。但随着时间的积累,业务数据量的增多,SQL的执行效率对程序的运行…

Windows11添加用户自定义短语

比如要输入手机号码,直接输入sj就会弹出预先设定好的手机号,也可以预先设置好邮箱,身份证等等,这样就不用输入了 这个咋设置的有时候确实会忘记,所以就记下来了 步骤 第一步 打开设置 时间和语言>语言和区域 第二…

虹科分享 | 高考大数据可视化志愿填报分析-基于虹科Domo BI工具

高考是中国教育系统中一项极为重要的考试,它不仅是学生完成高中学业的重要标志,也是进入大学的门槛。每年高考都会吸引数百万学生参加,同时也吸引了各地高校和招生部门的关注。高考招生数据是教育研究和政策制定的重要依据,通过对…

【算法基础】快速排序(模板)

👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和算法 ✈️专栏:【C/C】算法 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵 希望大佬指点一二 如果文章对你有…

Elasticsearch:倒数排序融合 - Reciprocal rank fusion

警告:此功能处于技术预览阶段,可能会在未来版本中更改或删除。 Elastic 将尽最大努力修复任何问题,但技术预览中的功能不受官方 GA 功能的支持 SLA 约束。 倒数排序融合(RRF)是一种将具有不同相关性指标的多个结果集组…

java.sql.Time 字段时区问题 Mybatis 源码分析

java.sql.Time 字段时区问题 系列文章目录 第一章 初步分析 第二章 Mybatis 源码分析 第三章 Jackson 源码分析 意想不到的Time处理类 文章目录 java.sql.Time 字段时区问题 系列文章目录前言Mybatis源码阅读1. ResultSetImpl部分源码:2. SqlTimeValueFactory部分…

【AUTOSAR】BMS开发实际项目讲解(二十九)----电池管理系统电池充放电功率控制与SOC

电池充放电功率控制 关联的系统需求 Sys_Req_3901、Sys_Req_3902、Sys_Req_3903、Sys_Req_3904; 功能实现描述 电池充放电功率控制主要包括以下内容: 60S可用功率 参见[CELL] 30S可用功率 参见[CELL] 10S可用功率 参见[CELL] SOP算法 ID Description ASI…

Nginx(3)nginx的Rewrite功能

nginx跨域 Rewrite功能配置Rewrite的相关命令Rewrite的案例域名跳转域名镜像独立域名目录自动添加/合并目录防盗链 Rewrite功能配置 Rewrite是Nginx服务器提供的一个重要基本功能,是Web服务器产品中几乎必备的功能。主要的作用是用来实现URL的重写。 注意:Nginx服…

【iVX】在百花齐放的低代码平台中独领风骚

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言A…