蚂蚁前后端联调的一些实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 蚂蚁前后端联调的一些实践
OneAPI —— 从刀耕火种到星辰大海
⻰茶
2022.01
2. 目录
01 02 03 04 05
困境 破局 质变 星辰 大海
联调的基本问题 破了但又没完全破 雨后春笋 元数据的魅力 重新定义联调
3. /01
困境
联调的基本问题
4. 联调
联调的基本过程
??
前端
??
入参
出参
UI ⻚面
接口定义
后端
5. 联调
联调的基本过程
??
前端
??
入参
出参
UI ⻚面
联调成本 =
接口定义
协同成本
+
后端
编码成本
6. ??
??
??
??
??
联调
联调的基本过程
??
前端
??
入参
出参
UI ⻚面
联调成本 =
接口定义
协同成本
??
??
??
??
??
+
后端
编码成本
7. 联调
联调的基本过程
??
前端
入参
1. 团队结构复杂(多对多、跨团队)
2. 项目维护不稳定(人员交接)
3. 不可持续
出参
UI ⻚面
4. 反复重构
联调成本 =
接口定义
协同成本
+
??
后端
编码成本
8. /02
破局
破了但又没完全破
9. 联调
联调的基本过程(接入 swagger)
??
前端
??
后端
10. swagger 注解
对 Java Controller 进行标记
11. API 文档
由 swagger 生成
12. 前端消费代码
API 调用代码
TS 类型提示
13. 联调
联调的基本过程(接入 swagger)
??
??
前端
后端
短期:开发效率 ?
⻓期:持续维护 ?
14. ??
??
??
前端
前端
前端
1. 不愿意接入 swagger
2. 需要多写代码
3. 流程依赖大量手动操作,不可控
??
??
??
后端
后端
后端
15. /03
质变
雨后春笋
16. 蚂蚁研发现状
前端 & 后端
??
后端
前端框架(Big sh / Small sh) 后端框架:SOFA
前端研发平台:雨燕 后端研发平台:LinkE
前端
??
17. 蚂蚁研发现状
前端 & 后端
??
前端
java-parser
(based on qdox)
后端
前端框架(Big sh / Small sh) 后端框架:SOFA
前端研发平台:雨燕 后端研发平台:LinkE
pipeline-built-in
(based on ironman)
??
18. 植入后端研发流程
在后端部署流程中加入 API 解析任务
19. 自研 Java 解析器
解析 Spring 注解
20. 自研 Java 解析器
解析 Spring 注解
21. /04
星辰
元数据的魅力
22. 定义元数据
OneAPI Schema Speci cation
??
前端
codegen
mock
HTTP
RPC
OneAPI 1.0
Schema Speci cation
JSAPI
??
后端
23. 前端消费代码
API 调用代码
TS 类型提示
24. mock 能力
mock 场景管理
25. mock 能力
mock 代码生成
26. ??
前端
? 前端基于 mock 开发
? 前端执行命令生成代码
串联、提测、交付
? 定义好接口的基本框架
??
后端
? 提交代码,OneAPI 自动解析出文档
? 后端基于约定好的结构开发
27. 元数据的应用场景
OneAPI Schema Speci cation
HTTP
RPC
JSAPI
OneAPI 1.0
Schema Speci cation
低代码平台
40+
Serverless
安全团队
网关团队
代码度量团队
28. /05
大海
重新定义联调
29. 重新定义联调
所⻅即所得
30. 重新定义联调
31. 联调
32. 联调
33. 联调
34. 联调
35.
36. 谢谢观看