直击灵魂深处的拷问:“为何先后端分离,你比之前更痛苦”

1、先后端分离痛点剖析前端

一、你有没有遇到过:正则表达式

· 前端代码刚写完,后端的接口又变了。
· 接口文档永远都是不对的。
· 测试工做永远只能临近上线才能开始。后端

二、为何先后端分离了,你比从前更痛苦?浏览器

先后端分离早已经不是新闻,当真正分离以后确遇到了更多问题。要想解决如今的痛,就要知道痛的缘由:框架

①为何接口会频繁变更?前后端分离

· 设计之初没有想好。 这须要提升需求的理解能力和接口设计能力。
· 变更的成本较低。德国有句谚语:“朝汤里吐口水。” 只有这样,才能让人们放弃那碗汤,中止不合理的行为。运维

先后端同窗坐在一块儿工做的时候效率会有提高,当后端同窗接口变化时,只须要口头上通知一下便可,咱们没有文档,咱们很敏捷啊。编辑器

没错,咱们须要认可这样配合开发的效率会很高,可是频繁的变更会致使不断返工,形成了另外一种浪费,这种浪费是能够被减小,甚至是被消除的。工具

②为何接口文档永远都是不对的?测试

接口文档在定接口时起到必定做用,写完接口就没有用了。后面接口的频繁变化,文档一定会永远落后于实际接口,维护文档的带来了必定的成本却没能带来价值。除非对外提供的接口,不然文档谁来看呢?没人看,用处又在哪?

有些公司干脆丢掉接口文档,说咱们要拥抱敏捷。因此接口文档落后的缘由在于没有给咱们带来价值。

③为何测试工做永远只能临近上线才能开始?

一个需求,后端开发 4 天,前端开发 4 天,联调 4 天,留给测试同窗只有2天时间甚至更少,测不完只能带 bug 上线。

三、现有开发流程

在开发阶段测试同窗没法介入,接口在变,前端也在变, “提测” 以前只能喝茶,“提测” 以后又忙的要命。

1.jpg

自动化?想都别想,空有一身好本领,在 “拥抱变化” 以后只能手工测试。偶尔还要拉上前台美眉客串一下测试小妹。手工测试枯燥乏味,乏味的工做就容易出错,并且还不能快速重复,没法对测试过的功能快速回归。

四、怎么破?

解决以上问题要让接口文档发挥价值,提升变更接口的成本,测试尽早介入。

接口文档发挥出价值,就要赋予契约的意义,就如同签字画押谁也不准变,来约束咱们只认契约不认人。

契约应该由前端同窗来驱动,先后端共同协商。因为前端同窗与 UX 接触比较紧密,更了解页面所需的数据以及总体的 User Journey,前端同窗驱动会更加合理。

契约敲定以后要帮助咱们生成 Mock Server,先后端同窗就要依照契约各自开发。

注:

资料来源于谢小呆的《为何先后端分离了,你比从前更痛苦?》

原文连接:https://my.oschina.net/xbl/bl...

2、先后端分离痛点如何破冰?

原做者介绍了一种工具Mock Server,来解决先后端分离所带来的问题:前端驱动契约,契约敲定后,建立Mock Server环境,先后端依照契约各自开发。接下来,小编给你们介绍另外一种解决问题的方法。

首先,看下改进后的开发流程:

部署一个CEAMS通用企业应用接口管理系统(简称“CEAMS系统”)而后前端提出业务需求,后端经过系统上的规范以及工具将这个需求整理成契约,根据契约,自动生成API(Application Programming Interface,应用程序接口)文档,以后先后端依据契约相互独立开发。

2.jpg

传统作法是建立Mock Server环境,给前端提供API,而后经过 mock作出来的静态的伪数据,提供给前端作测试。本文介绍的方法,经过CEAMS系统来实现先后端互相独立开发,与Mock Server类似,实际上它也是一个server服务,其模块上的代码能够随意写,在后端开发尚未完成的状况下,能够在其模块上先写伪代码,而后返回符合接口契约的JSON对象,从而提供给前台使用。也就是说,只要保持接口的数据规范统一,那么先后端就能够相互独立工做,且减小彼此之间的依赖性。不过,在这以前,前端的接口规范,即契约,要先后端互相协调定下来,一旦契约定下来以后,你们就能够各自按照这个契约去作本身的事情了。这种方法不用额外去建立mock环境,简易的操做流程,大大下降先后端沟通成本,提升开发运维效率。

如今给你们介绍一下CEAMS系统的四大核心亮点:

一、统一标准的应用接口规范。依靠灵长科技公司自主开发的核心技术通用设备互联框架(Common Device Interconnect Framework,CDIF),实现设备、服务和数据的统一规范,实现标准统一的调用接口。从这个规范出发,使用CEAMS系统上的工具,能够完美地解决常常改接口的问题。

3.jpg

二、API文档自动化。自动生成的文档里包含了完整的应用里全部的API,以及API上传输的数据的类型定义,他比传统人工手写的文档更严谨清晰,对于JSON数据里每一个字段的类型定义,他的取值范围或者正则表达式等等都有清晰的定义,并且是保证不会出错的。这样也避免了人工手写的API文档在更新过程当中由于编辑错误致使的接口联调错误问题和沟通成本。

4.jpg

三、自动化测试工具。接口测试工具界面也自动根据规范参数生成。用生成的测试表单,能够一键导入测试数据,实现全自动的API伪数据测试,无需人工干预。

5.jpg

四、云端一体化的集成开发环境。集成自动化开发环境,平台的开发者门户,开发人员无需下载安装配置任何开发环境,登录浏览器,便可以随时随地在线开发,能够大大的提升开发者对应用的开发和运维管理工做效率。

6.jpg

3、CEAMS系统开发流程简介

下面简单介绍一下CEAMS系统上的应用基本开发流程。开发一个API应用主要须要如下五步:

· 填写应用的基本信息,包括应用的名称、制造厂商、应用简单说明等;
· 填写应用中各个服务和API的名称;
· 使用系统提供的JSON schema可视化编辑器在线编辑API里各个数据字段的规范;
· 系统会从前面步骤里获得的API规范为应用自动生成框架代码,用户只须要打开在线开发环境,在线编辑,开发和调试应用的代码;
· 应用开发调试完成后,就能够从系统里一键部署和升级应用。接下来就能够重复迭代这个过程,在线编辑开发和升级应用而且一键部署生效。整个开发过程不须要和HTTP接口打任何交道,这些都已经由咱们的系统自动帮助完成。


7.jpg

8.jpg

想了解更多信息,能够点击下方连接:

官方网站:灵长科技​www.apemesh.com
官方邮箱:mailto:sales@apemesh.com
扫码下载软件试用:
v2-428ae887a2fee66c51bf2ceda2324212_hd.png
(完)

未经赞成,本文禁止转载或摘编。

相关文章
相关标签/搜索