View on GitHub

Caijiacheng's Blog

Because it's there ...

前后端分离实践

本文主要探讨前后端分离上的实践问题,并介绍在实践过程中需要注意的地方

内容

前后端的分离我们主要从以下几个方面来介绍

背景介绍

前后端分离已经拥有很多个比较成熟的方案技术方案,这里面也包括web端,移动端的.本文主要介绍WEB系统相关的前后端架构模型,其实移动端系统也是类似,区别并没有这么大,只是移动端前端的框架的选择上需要考虑更多的内容

WEB系统前后端架构模型

上图是WEB系统的一个高层级分层模型,在这个模型中红色部分表示前端要做的事情,蓝色部分表示后端要做的事情

在这种模型下我们可以看到:

  1. 数据接口: 相当于前后端双方的契约
  2. 视图填充: 现有的前后端解决方案主要有两种

    • 静态页面

    • 服务器代理

所以我们在挑选前后端分离方案的时候,讨论的中心还是基于这两个核心要解决的问题,当然除此之外,我们还得考虑团队的人员技能能力,还有相应的方案规范化、自动化等,最终能够输出一套合适的工程指导公司新旧项目的开展

对刚接触前后端分离的团队,一般都建议从http rest的方案开始入手.

以上的框架都可以是静态或者服务器代理的方式.并且都有应用于生产环境的实际用例.更多还是看团队的技术偏向

协作体系

有了前面我们对这套解决方案的整体认识后,接下来我们再来看一下各端在该解决方案的指导下是如何进行协作的

各角色协作图示

这是WEB系统前后端协作的流程,这个流程中我们可以看到在有了交互输出之后,各角色(包括视觉、前端、后端)就可以并行的开始展开各自的流程了

在解决方案中我们可以看到在系统设计阶段各端根据交互稿利用接口管理平台输出接口规范,后续流程各端针对接口规范进行编码、自测,所以这里接口规范是整个方案的核心,是保证各端可以独立并行的先决条件

从上面的流程中可以看到在我们解决方案的整个体系中涉及的平台、工具包括(这里简单的以swagger的使用来举例):

接下来我们再来简单介绍一下各角色在此方案下独立开展各自的工作流程

注意事项