立即注册找回密码

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索

图文播报

查看: 241|回复: 5

[讨论] 为什么要前后端分离?前后端分离的优点是什么?

[复制链接]
发表于 2025-5-30 21:11 | 显示全部楼层 |阅读模式
回复

使用道具 举报

发表于 2025-5-30 21:12 | 显示全部楼层
本文发表于入职啦(公众号: ruzhila) ,也可以访问官网 https://ruzhila.cn 获得更多技术文章
在过去,网站开发主要由后端工程师负责,传统的服务端渲染技术如Php或Django一直都是主流技术。
传统服务端渲染(SSR)的局限性

传统服务端渲染注重后端逻辑和数据处理,页面渲染主要由服务端完成。这种模式下,前端工程师的工作较少,开发人员主要是后端工程师。然而,随着现代网站对交互性和动态性的要求增加,传统服务端渲染显得力不从心。
现代网站的需求与挑战

现代网站更注重在浏览器端完成复杂的交互,例如实现日期选择器、图片上传进度条等功能需要大量的JavaScript开发。
此外,移动应用也只能用前后端分离的方案。
前后端分离的优点


  • 提升用户体验: 前后端分离允许前端工程师专注于页面交互和用户体验的优化,从而提升网站的响应速度和用户满意度。
  • 便于团队协作: 前后端分离使得前后端开发团队可以并行开发,减少了彼此之间的依赖,提高了开发效率。
  • 提高代码复用性: 前后端分离将前端和后端的逻辑分离,使得代码更易于维护和扩展,提高了代码的复用性和可维护性。
  • 适应移动化发展: 前后端分离能够更好地支持移动端应用的开发,提供更流畅的用户体验和更高的性能。
前后端分离带来的挑战


  • 前后端分离会增加请求数量,可以通过使用GraphQL等技术进行优化
  • 需要增加前后端协作和沟通,可以借助API mock工具如Postman等来解决
  • 后端工程师需要设计合理的API接口,这个就是对工程师有很高的设计要求,因为所有的数据交付都是通过几个API来完成
前后端分离已经成为现代网站开发的必备技术方案。它不仅能够提升用户体验,还能够提高开发效率和代码质量,适应移动化发展的趋势。
因此,掌握前后端分离技术已经成为每个开发者必须具备的技能之一,如果大家想实践一下如何设计好的前后端分离架构可以关注我哈哈哈
回复 支持 反对

使用道具 举报

发表于 2025-5-30 21:12 | 显示全部楼层
前后端分离,顾名思义,前端和后端分开处理。在远古时期,不存在前后端分离,页面、接口、对接、联调都是一个人搞定,也就是常说的”全干工程师“。
远古时期的软件有什么特点呢?偏数据展示,轻交互,轻用户体验。然而随着时代的发展,用户对于前端交互,操作体验等的要求越来越高。试想一下,如果你进入一个网站,加载了几秒甚至几十秒,什么感受,有没有想砸电脑的冲动?这也意味着,前端的重要性日渐凸显。
渐渐地,一名开发人员无法高效或者完美同时处理前后端工作,或者说精力不足。前端越来越卷,什么 MVVM、什么数据驱动、什么响应式、什么工程化、组件化等等。同样后端也不消停,spring、springBoot、mybatis、redis 等等,要掌握的越来越多,慢慢的也就分化出了前端工程师和后端工程师。
那么分离之后有哪些优势呢?
1.专业的人做专业的事,提升开发效率。
前端工程师可以专注前端领域,专注应用界面、用户体验,工程化,组件化甚至 SEO 等等;后端工程师也可以更专注服务,专注业务处理,数据持久化 等等。而且前后端工作可以并行开展,前端不需要等待后端接口搞定了再开始。
2.提升应用体验,改善应用性能。
前端工程师可以专注于前端体验,比如无感刷新,页面响应式,加载速度,资源体积等等,提升应用整体用户体验。
3.提升服务稳定性,提高业务质量。
后端工程师不需要分心处理页面开发,可以更专注服务端性能,专注业务逻辑处理等。
4.技术栈组合灵活。
前端技术栈涌现了大批的应用框架,如 React、Vue、Angular、Sevlet 等,以及其比较完善的生态,为前端开发提供了极大的便利。
前后端分离可以说是岗位分离、工作分离、架构分离,但也是必然趋势。随着领域划分的越来越精细,各自领域才能越来越深入,才会更有发展。
回复 支持 反对

使用道具 举报

发表于 2025-5-30 21:13 | 显示全部楼层
为什么要前后端分离?
把前端与后端独立起来去开发,放在两个不同的服务器,需要独立部署。两个不同的工程,两个不同的代码库,不同的开发人员,前后端工程师需要约定交互接口,实现同步开发。开发结束后需要进行独立部署,前端通过接口来调用调用后端的API,前端只需要关注页面的样式与动态数据的解析和渲染,而后端专注于具体业务逻辑
前后端分离的优点是什么?
1、彻底解放前端。前端不再需要向后台提供模板或是后台在前端HTML中嵌入后台代。
2、提高工作效率,分工更加明确。前端只关注前端的事,后台只关心后台的活,两者开发可以同时进行,在后台还没有时间提供接口的时候,前端可以先将数据写死或者调用本地的JSON文件即可,页面的增加和路由的修改也不必再去麻烦后台,开发更加灵活。
3、局部性能提升。通过前端路由的配置,我们可以实现页面的按需加载,无需一开始加载首页便加载网站的所有的资源,服务器也不再需要解析前端页面,在页面交互及用户体验上有所提升。
4、降低维护成本。通过目前主流的前端MVC框架,我们可以非常快速的定位及发现问题的所在,客户端的问题不再需要后台人员参与及调试,代码重构及可维护性增强。
5、实现高内聚低耦合,减少后端(应用)服务器的并发/负载压力。
6、即使后端服务暂时超时或者宕机了,前端页面也会正常访问,但无法提供数据。
7、可以使后台能更好的追求高并发、高可用、高性能,使前端能更好的追求页面表现、速度流畅、兼容性、用户体验等。
前端工程是如何调用接口?
Ajax在浏览器与Web服务器之间使用异步数据传输(HTTP 请求),通过get或者post方法与服务器交互。
前端和后端之所以需要对接,是因为前端页面只负责提供视图没有内容,而后端只提供内容,两者所谓的对接,就是把后端的内容放在前端页面预留出来的位置上。(虽然说是前端后端 ,但这一对接实际发生在服务器端)。
所以服务器端进行的交互活动如下:
接收用户请求——》找到负责处理的程序——》处理程序找到要传输给用户的前端页面——》该前端页面留出位置——》后端到数据库取数据——》后端把数据放在前端留出来的位置上
——》结合成真正用户看到的HTML文件——》传输给用户。
回复 支持 反对

使用道具 举报

发表于 2025-5-30 21:13 | 显示全部楼层
主要适合团队协作或者使用VUE等框架的全栈
团队协作缺点也很明显2边沟通成本比较高
前端: 返回的时间格式不对
后端说: 你们前端转一下不行吗
前端:不方便
后端说: 改好了
前端: 在加一个字段
后端说: 加好了
前端:在加一个字段
后端: 滚
回复 支持 反对

使用道具 举报

发表于 2025-5-30 21:14 | 显示全部楼层
前后端分离本质上是B/S工程人员进一步进行社会分工的结果。
分离后,前后端解除耦合,各自独立发展并壮大。
随着行业的发展,更先进的生产力要求促使生产工具进一步提高效率,于是前者从分散编码走向框架化,后者从单体框架走向分布式和微服务。
劳动力结构上,一方面提高了对领域的熟练度和专业度,更重要的是面向约定接口编码的方式消除了前后端思维的切换,劳动效率获得了巨大提升。(参见亚当斯密的《国富论》)
以上。
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册 微信登录 手机动态码快速登录

本版积分规则

关闭

官方推荐 上一条 /3 下一条

快速回复 返回列表 客服中心 搜索 官方QQ群 洽谈合作
快速回复返回顶部 返回列表