蚂蚁前后端联调的一些实践
如果无法正常显示,请先停止浏览器的去广告插件。
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. 谢谢观看