浅谈前后端分离

一个正常的软件开发可以简化成四大步:设计、开发、测试、部署,所以真正的前后端分离应该渗透到每个步骤中去。


第一个阶段:设计阶段

设计的第一个层面当然是系统设计:后端系统设计较好理解,主要是系统架构、数据库、中间件、缓存等,主要考虑性能、容量、扩展性、维护性;那前端也应如此,假如网站非常复杂,页面极其多,这时前端项目架构也需要做好规划,尽量满足长期演进、可迭代的目标。

设计的第二个层面就是接口设计:前后端系统通过接口进行交互,这时模型( Model)层面的接口约定极其重要,包括:接口请求方式、数据类型、数据格式等。开发前,前后端双方评审到位,都认可之后方可进行下一步开发,否则未来在开发过程中,前、后端开发工程师永远在为了某个破接口扯来扯去!

第二个阶段:开发阶段

各自按照事先评审好的接口独立开发,互相无需扯皮。

现如今,前端在诸如 VueReact等当下火热的组件化框架的加持下,的确可以独立驱动页面,数据则从事先规划好的 Mock服务器去拿,完全不依赖于后端。

后端则只需要把接口写好,按照先前评审好的约定提供数据。不管后端用Java的 SpringBoot,PHP的 Laravel,亦或是Python的 Django、 Flask,这些都跟前端没关系。而且后端一套接口可以提供给多种类型的前端使用,譬如:Web网页、手机APP、微信小程序等等。

第三个阶段:测试阶段

基本上要保证的是,前后端独立可测试。前端主要就是页面、跳转、展示、输入、传参、响应数据的展示等;后端主要则考察数据格式、校验、异常情况、数据一致性甚至一些权限问题。

最后一个阶段:上线部署

前后端项目独立部署,这个很关键!在以前的JSP模板时代,前端的html页面、css样式、js效果均由后台来驱动。那个时候所谓的项目部署上线,其实指的也就是后端项目的部署,前端“所谓的”发版本,还是得求着后端来做的。

前后端分离后责任就清晰了,前端项目单独部署。前后端发布上线完全独立,双方可以按照各自的版本规划来发布版本,前端发版本不再受后端约束,后端发版本前端也可以不知道,互相透明了。

还有一个必须提的就是,很多公司里,后端项目都是通过诸如 JenkinsCI系统去做持续发布,一键部署,同理前端项目也应该拥有自己的CI系统。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值