优点:
提高开发效率
前后端各负其责, 前端和后端都做自己擅长的事情,不互相依赖,开发效率更快,而且分工比较均衡,会大大提高开发效率
用户访问速度快,提升页面性能,优化用户体验
没有页面之间的跳转,资源都在同一个页面里面,无刷线加载数据,页面片段间的切换快,使用户体验上升了一大截;前后端不分离,稍不留神会触发浏览器的重排和重绘,加载速度慢,降低用户的体验
增强代码可维护性,降低维护成本,改善代码的质量
前后端不分离,代码较为繁杂,维护起来难度大,成本高
减轻了后端服务器的请求压力
公共资源只需要加载一次,减少了HTTP请求数
同一套后端程序代码,不用修改就可以用于Web界面、手机、平板等多种客户端
缺点:
首屏渲染的时间长
将多个页面的资源打包糅合到一个页面,这个页面一开始需要加载的东西会非常多,而网速是一定的,所以会导致首屏渲染时间很长,首屏渲染后,就是无刷新更新,用户体验相对较好
不利于搜索引擎的优化(SEO)
现有的搜索引擎都是通过爬虫工具来爬取各个网站的信息,这些爬虫工具一般只能爬取页面上(HTML)的内容,而前后端分离,前端的数据基本上都是存放在行为逻辑(JavaScript)文件中,爬虫工具无法爬取,无法分析出你网站到底有什么内容,无法与用户输入的关键词做关联,最终排名就低
不能使用浏览器里面的前进后退功能
一些版本较低的浏览器对其支持度不足
总结:
是否要分离,由具体业务来决定
若需要搜索引擎带来流量,则不分离
若需要App和后端交互,必须分离
若需要用户登录且不能由搜索引擎抓取,可以选择分离
若需要网站前端效果绚丽,跨设备兼容要求高,可以选择分离
若网站尚处于原始开发模式,数据逻辑与表现逻辑混杂不清,可以选择分离
————————————————
版权声明:本文为CSDN博主「一颗柚」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ccsundhine/article/details/111034332