共计 1362 个字符,预计需要花费 4 分钟才能阅读完成。
一、前后端分离的好处
1、提高开发效率
前后端各负其责,前端和后端都做自己擅长的事情,不互相依赖,开发效率更快,而且分工比较均衡,会大大提高开发效率。
2、优化用户体验
用户访问速度快,提升页面性能,优化用户体验。没有页面之间的跳转,资源都在同一个页面里面,无刷线加载数据,页面片段间的切换快,使用户体验上升了一大截; 前后端不分离,稍不留神会触发浏览器的重排和重绘,加载速度慢,降低用户的体验
3、增强代码可维护性
增强代码可维护性,降低维护成本,改善代码的质量。前后端不分离,代码较为繁杂,维护起来难度大,成本高。
4、减轻后端服务器的请求压力
最大的好处就是前端 JS 可以做很大部分的数据处理工作,对服务器的压力减小到最小。
5、适应能力强
同一套后端程序代码,不用修改就可以用于 Web 界面、手机、平板等多种客户端。
6、错误秒接
后台错误不会直接反映到前台,错误接秒较为友好。
二、前后端分离的坏处
1、首屏渲染的时间长
将多个页面的资源打包糅合到一个页面,这个页面一开始需要加载的东西会非常多,而网速是一定的,所以会导致首屏渲染时间很长,首屏渲染后,就是无刷新更新,用户体验相对较好。
2、不利于搜索引擎的优化(SEO)
现有的搜索引擎都是通过爬虫工具来爬取各个网站的信息,这些爬虫工具一般只能爬取页面上 (HTML) 的内容,而前后端分离,前端的数据基本上都是存放在行为逻辑 (JavaScript) 文件中,爬虫工具无法爬取,无法分析出你网站到底有什么内容,无法与用户输入的关键词做关联,最终排名就低。
3、不能使用浏览器里面的前进后退功能
4、一些版本较低的浏览器对其支持度不足
拓展阅读
前后端分离的原因
现有开发模式的适用场景不全面:比如后端为主的 MVC,做一些同步展现的业务效率很高,但是遇到同步异步结合的页面,与后端开发沟通起来就会比较麻烦;Ajax 为主 SPA 型开发模式,比较适合开发 APP 类型的场景,但是只适合做 APP,因为 SEO 等问题不好解决,对于很多类型的系统,这种开发方式也过重。
前后端职责不清:在业务逻辑复杂的系统里,我们最怕维护前后端混杂在一起的代码,因为没有约束,M-V- C 每一层都可能出现别的层的代码,日积月累,完全没有维护性可言。
开发效率问题:淘宝的 Web 基本上都是基于 MVC 框架 webx,架构决定了前端只能依赖后端。直接基于后端环境开发也很痛苦,配置安装使用都很麻烦。为了解决这个问题,我们发明了各种工具,比如 VMarket,但是前端还是要写 VM,而且依赖后端数据,效率依然不高。另外,后端也没法摆脱对展现的强关注,从而专心于业务逻辑层的开发。
对前端发挥的局限:性能优化如果只在前端做空间非常有限,于是我们经常需要后端合作才能碰撞出火花,但由于后端框架限制,我们很难使用 Comet、Bigpipe 等技术方案来优化性能。
你的工作,由 AI 赋能!🔥
还在为文案、脚本卡壳、做视频、写代码、设计图片灵感枯竭而烦恼吗?🤯
板板 AI,你的工作好帮手!
一键生成 各种文案、脚本、图片、视频、代码、报告,轻松应对各种工作 / 营销需求!
现在注册体验,即可获得:
- 🎁 30 积分基础模型余额
- 🎁 3 积分高级模型余额
- 🎁 3 积分绘画余额
还不快来试试?
点击链接,开启你的 AI 创作之旅!>>>https://www.banbanai.cn
板板 AI,让你的工作效果发挥无限可能! 🚀
