当前位置:首页-文章-随笔杂谈-正文

聊聊前后端分离

近年来,前后端分离很火,已成为互联网项目开发标准使用方式,新版春松客服的开发工作已经启动,在要不要前后端分离,以及为什么要采用前后端分离也是我们要考虑的问题,以下就前后端分离开发和部署这件事谈谈自己的看法

关于前后端分离的优点:

  • 职责分离、分工明确,前端更多考虑交互、UI,后端更多考虑业务、数据流转
  • 双方可以仅依据接口文档协作
  • 前后端可以并行开发,前端可以不依赖后端的情况下完成所有的前端工作
  • 遇到问题方便缩小范围,定位问题,通过请求接口可以确定是前端还是后端的问题
  • 前端可以更简单的实现复杂的功能和效果
  • 后端接口无法访问时,前端可以做“降级”处理,比如前端展示商城首首页
  • 不需要对页面做静态化,就可以做到前后端分离部署,减少后端服务器的压力

关于前后端分离的缺点:

  • 对前端的要求更高、前端工作量加大
  • 对接口文档要求更高,多数接口文档可以使用工具生成
  • 不利于SEO,但也有觖方案,如VUE的SSR(Server Side Render),前后端分离一般都是SPA应用,是在用户浏览器中将虚拟DOM渲染到html中,SSR的原理是将html在服务端渲染,合成完整的html 文件再输出到浏览器,以及NuxtJS。另外,Google和Bing可以很好地对同步JavaScript应用程序进行索引,即使是客户端渲染,只要是同步数据渲染(非 Ajax 获取数据,比如模板数据),搜索引擎也能抓取到相应的HTML片段

前后端分离涉及的其他问题:

  • 测试
    • 后端接口好测试,前端可以单独做mock测试
    • (Selenium)自动化测试
    • 为方便selenium操作DOM,开发需要给DOM添加id,data-name等属性
    • 使用css或xpath选择器
本文原创,作者:Duke,其版权均为春松客服所有。
如需转载,请注明出处:https://www.cskefu.com/2022/10/07/%e8%81%8a%e8%81%8a%e5%89%8d%e5%90%8e%e7%ab%af%e5%88%86%e7%a6%bb/