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

news/2024/11/24 7:15:58/

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

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

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

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

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

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

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

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

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

来源:呆伯特

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

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

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

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

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

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

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

分还是分?选择什么

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

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

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

结论

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

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


http://www.ppmy.cn/news/520247.html

相关文章

重新理解微服务之终究绕不过这4个坎之(一)

写在前头 大家曾经有没有遇过日常技术交流的时候,会讨论某某技术之间的关系是什么,某些技术是否应该用到微服务。我相信热爱技术交流的您,就算不是在微服务这里领域,或多或少都会跟其他同行会做一些争议话题的探讨,而…

为啥海康摄像头网页无法预览

最近在做IPC相关的业务,用谷歌、火狐都无法预览摄像头画面,即使装了插件也不行,后面发现了,要用IE打开,才能预览。。。。。 转载于:https://www.cnblogs.com/132818Creator/p/10980880.html

海康威视定时截图保存本地

import cv2 import time import os.path import datetime url "rtsp://admin:a123456789192.168.1.22/Streaming/Channels/1" #rtsp://用户名:密码ip地址/Streaming/Channels/1最后面的1是因为我选择1会显示出我要的内容,有的是1或者3或者4 cap cv2.Vid…

iVMS-4200 Mac 版监控客户端切换中文语言的方法

安装好最新版本之后&#xff0c;直接跳转到&#xff08;或者在应用程序中的 iVMS-4200 图标上鼠标右键&#xff0c;显示包内容&#xff09;/Applications/iVMS-4200.app/Contents/MacOS/&#xff0c;之后用文本编辑器修改 Setup.xml&#xff1a; <?xml version1.0 encodin…

EasyNVR通过Onvif方式接入的设备云台控制无反应是什么原因?

EasyNVR平台可以通过Onvif协议与摄像头进行网络连接&#xff0c;并实现摄像头的PTZ云台控制&#xff0c;PTZ控制包含转动、变焦等&#xff08;需要摄像头带云台功能&#xff09;。与EasyGBS平台不同&#xff0c;EasyGBS是通过国标GB28181协议接入实现云台的控制功能。对EasyNVR…

海康威视SDK登录失败,错误码为8

耗时几天&#xff0c;终于找到真因 问题背景&#xff1a;调试正常&#xff0c;突然之间啥都没改&#xff0c;一直报8错误。 一试 官网上再次下载最新版本SDK https://open.hikvision.com/download/5cda567cf47ae80dd41a54b3?type10 HCNetSDK.java版本较多&#xff0c;适合…

海康威视网络监控摄像头常见设置-工作随笔

昨天Boss就和我说&#xff0c;有个客户要装一个网络监控&#xff0c;问我会不会&#xff0c;是海康威视的&#xff0c;要实现手机远程观看和电脑本地存储&#xff0c;我说会&#xff0c;之前都有做过&#xff0c;让我有空时在店里测试一下&#xff0c;这个不急&#xff01;于是…

HLS直播取流过程演示

一、HLS是什么&#xff08;第一部分为转载&#xff09; 转载地址如下&#xff1a; https://langyastudio.blog.csdn.net/article/details/82012187 HTTP Live Streaming&#xff08;缩写是HLS&#xff09;是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。是苹果公司Quic…