第期网易高级前端技术专家蔡剑飞

北京中医荨麻疹医院 http://m.39.net/pf/a_9159439.html

前言

这是早读君看过流程最完整的前后端分离的分享。先提醒下,内容很多需要多点耐心。坚持看完必定有收获~~

正文从这开始~

结合网易在前后端分离的一些工程实践方案跟大家一起探讨交流一下前后端分离的话题。

今天的内容我们主要从以下几个方面来介绍:

背景介绍

解决方案

协作体系

操作展示

专题总结

背景介绍

在做前后端分离的解决方案之前我们先简单了解一下前后端分离需要解决的问题

这是一个比较常见的WEB系统的高层级架构模型,包括网易的很多产品基本上也都是采用的这种模型,在这个模型中红色部分表示前端要做的事情,蓝色部分表示后端要做的事情,中间绿线分隔前端和后端可以解耦出来的内容,所以在这种模型下我们可以看到:

数据接口:前后端基本没有太大耦合性

视图填充:目前很多项目由前端负责的视图模板还是重度依赖于后端的模板环境

所以我们今天分享的议题就专注于寻求一种可以彻底分离绿线上下两部分的解决方案,并以此来提升项目过程的协作效率

在寻求解决方案之前我们还是先来分析一下目前这种模型下存在的一些问题,我们还是从数据接口和视图填充两部分展开

数据接口的问题

1.缺少可持续维护的接口规范,这个问题主要表现为:

没有规范

Word/Doc编写规范

随着项目的迭代规范与实际不一致

2.缺少对规范数据的充分利用,没有规范的就不说了,这里针对有规范的情况下,这个问题主要表现为:

Word/Doc编写的规范利用率低,无法做自动化工作

使用接口管理平台管理的规范只用于mock数据,测试接口

3.缺乏规范覆盖范围的广度,没有使用工具或平台管理规范的就不说了,这里针对使用了这些平台管理规范的情况下,这个问题主要表现为:

平台只能定义异步请求的数据接口规范

视图填充的问题

1.紧耦合于后端模板环境

需要后端先给配置路由规则、模板环境、预填数据等才能查看页面效果

2.编译运行后端服务效率低

随着后端完成的功能越来越多本地编译启动后端服务的时间越来越长,严重影响到了前端的开发效率

3.缺少对视图模板的接口规范

从广义的接口定义看只要不同部分存在相互协作的约束规范即可视为接口进行管理,所以模板视图和模板环境之间也应该做为接口进行规范化管理

解决方案

对于前后端分离所碰到的问题,我想各大企业应该都有适合自己的解决方案,接下来我主要介绍一下网易在这方面目前实践的解决方案,以下是网易目前实施的前后端分离体系的全貌图

该方案是一套集规范、工具、平台于一体的工程化解决方案,主要目标在于帮助产品在已有的项目基础上以最小的成本实现规范化、工程化的高效开发协作体系,通过项目各个环节的密切配合实现一个闭环可验证的体系,以保证各个环节使用的规范的一致性

在上图中我们可以看到整套解决方案以NEI(接口管理平台,网易内部平台名称)为中心,辅以各种效率工具,支持项目从交互到上线的各个环节,接下来我们主要介绍一下这套解决方案是如何来帮助我们解决前后端分离所碰到的问题的

针对数据接口问题

对于数据接口这部分在我们的解决方案中主要是使用接口管理平台来管理接口,但是这个接口管理平台到底要管理哪些接口这个是我们要考虑的问题,接下来我们以WEB系统为例,来看一下哪一些东西可以以接口的形式用接口管理

平台来做规范化管理

这是一个比较常见的带异步数据载入的页面从输入地址到整个页面绘制出来的过程,通过这个过程我们就可以抽取出前后端都需要


转载请注明:http://www.aierlanlan.com/tzrz/651.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了