0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

前后端数据接口协作提效实践

倩倩 来源:OSC开源社区 作者:OSC开源社区 2022-08-31 16:44 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

导读

introduction

在大部分场景中,前后端可以在开发前约定好数据接口,双方能够围绕约定并行地完成开发和自测。然而在大型系统中一些后端模块有时并非直连前端,在它们之间可能包含一些其它模块的处理过程,为了保证数据真实有效,前端需要搭建整套环境来调试渲染效果,导致效率和研发体验不断劣化。本文主要介绍百度商业前端团队结合接口平台和数据直达能力优化前后端协作效率的尝试,有效的提升了团队协作效能。

一、实践方案

GEEK TALK 我们的实践主要分为两大阶段:

1. 协作提效;

2. 质量保障&体验优化。

其中协作提效包括基础能力建设和协作模式升级落地;质量保障&研发体验是在协作提效的基础上,对业务质量保障和极端场景所遇到的问题提出的一些解决方案。

45c2a93e-2862-11ed-ba43-dac502259ad0.png

二、数据直达能力

GEEK TALK 我们团队所维护的后端模块是一个BFF层,负责适配上游和前端模块的数据,和前端业务联系非常紧密。然而由于该层和前端之间还包含了一些策略和聚合的处理逻辑,大家在开发自测过程中没办法直接使用桩数据来预览效果,前端为了调试功能只能维护多套环境,除去环境搭建本身需要消耗大把时间之外,模块连通性排查、资源协调,环境更新都会影响前端的工作效率。 为了减少维护环境带来的精力消耗,我们在实践初期尝试过多次环境管理优化,效果都不是很理想,一方面有限的环境资源始终没办法很好地满足频繁迭代的需要,另一方面环境提供方也疲于应对各种各样的问题,所以我们就想能不能不再维护线下环境,而是将开发测试的工作转移到线上环境上去进行,也就是让后端能够同时处理线上和线下数据请求,使前端在连接线上环境时看到线下数据的渲染结果。 基于这个思路,我们在后端隔离出一套旁支逻辑定时地从Redis拉取线下物料数据和对应的设备信息,其中设备信息是某台手机或者某个浏览器唯一id,当这些设备所对应的请求到达时,后端就把它当作一个特殊请求替换原有请求成线下数据,接着继续之后的处理过程,前端只需要将数据和设备信息写入到Redis就能接收到线下数据的处理结果,这样前端就像在使用一套始终保持最新版本的常驻环境,不会再被各种各样的环境维护问题消耗精力,双方都能在协作过程中更关注业务逻辑本身。

45f641c2-2862-11ed-ba43-dac502259ad0.png

三、升级协作模式

GEEK TALK 借助数据直达能力,我们成功解决了环境维护困难的问题,大幅地提升了联调阶段的效率,但其实我们在开发阶段的协作仍然存在着一些问题。在能力建设初期我们只支持了请求数据的替换,前端没办法在后端代码上线之前开始开发,这样串行的协作模式显然是有问题的,所以我们就想能不能基于数据直达能力扩展出一套常规的桩服务。 为了实现桩服务,我们在需要作为桩输出给前端的数据上添加了特殊标识,当后端识别到携带特殊标识的数据请求时就会跳过后续的处理逻辑,直接返回结果给下游模块。这种替换返回的模式能够让后端在开发前就将线下桩数据交付给前端使用,使前后端能够并行协作。

4614474e-2862-11ed-ba43-dac502259ad0.png

为了减少学习和操作成本,我们将以上所介绍的能力封装成平台提供给团队使用,后端可以按照项目为维度编辑和交付数据,前端可以拿这些数据去和设备做连接,然后直接在app上刷新就可以看到效果。

4623cf0c-2862-11ed-ba43-dac502259ad0.png

四、数据分级

GEEK TALK 为了改造前后端协作模式,我们在开发过程中使用的其实都是桩数据,这样可能会导致数据和最后真实逻辑所输出的结果存在差异,这些差异可能会暴露到线上影响业务功能,所以如果缺少有效的措施去约束数据使用的话,那么质量风险会变得难以控制。 为此,我们将数据的使用根据规则和应用场景划分成三种类型:手动生成、线下后端生成、线上后端生成。

46456ac2-2862-11ed-ba43-dac502259ad0.png

可以看到,数据的约束规则随着项目的推进是逐步收紧的。在开发前期后端能使用编辑生成出的桩数据快速交付给前端,让前端完成单模块开发自测;在联调阶段,我们的数据是由后端所开发完成的代码逻辑生成而来的,由于这部分数据需要保证一定真实性,所以不再支持编辑,这样数据就能够匹配上后端即将上线的逻辑;而在后端上线完成之后,前端能够从线上检索系统采集到真实物料数据,通过扫码等方式进行效果预览,这样同时从数据和代码逻辑两方面保证了真实性。 通过上述对数据分级的规划,我们保证了协作过程在高效并行运转的同时,始终遵循一套流程标准,能够有效地保障了业务的交付质量。

46626ea6-2862-11ed-ba43-dac502259ad0.png

五、优化平台体验

GEEK TALK 经过前面三个步骤的优化,我们在大部分的项目中已经能让前后端解耦协作,然而在一些复杂项目中这套流程反而会降低工作效率,这是因为复杂项目往往需要覆盖的功能点更多,数据组合也相应的更多,我们发现部分项目所需要的数据条数甚至超过两百条,这样后端就要花费大量的时间和精力去录入和编辑数据,在这种极端需求下数据准备时间就成为了效率瓶颈,使得研发体验急剧下降。 为了解决这个问题,我们围绕“片段”概念支持了对数据批量编辑的功能,可以让后端在编辑数据的过程中,将编辑的操作以“片段”的形式保存下来,每一个“片段”包含编辑的位置和值,这些“片段”可以继续应用到多个数据上,这样编辑工作就从多次变成一次,大大减少了重复工作量。

4688b4a8-2862-11ed-ba43-dac502259ad0.png

同时,由于前端需要频繁对同一个功能进行例如版本兼容、标题长度兼容等细分情况的验证,为了更好的支持这种需求,我们支持了“片段”的版本的功能,也就是在保持“片段”操作位置不变的前提下,为“片段”赋予不同的值,前端可以通过切换“片段”的不同版本,快速拿到同个功能下携带不同细节的数据去快速地验证一些兼容效果。

46b089a6-2862-11ed-ba43-dac502259ad0.png

六、总结

GEEK TALK 前后端数据接口协作升级使我们的团队能够更稳定高效地完成产品迭代,团队的项目的平均交付时间减少了50%以上,目前已经有上千次的业务项目基于这套方案完成了开发测试和线上回归工作。我们也在持续不断地探索在如产品视觉验收、销售问题验证等其它方面落地的可能性,希望能在更多的场景下提升团队的协作效能。

END

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2822

    浏览量

    52798
  • 数据接口
    +关注

    关注

    1

    文章

    93

    浏览量

    19351

原文标题:前后端数据接口协作提效实践

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    安宝特方案丨协作 + 盈利升级:安宝特 AR 眼镜赋能工业 4.0

    ) ,不仅打破协作壁垒,更催生出全新盈利模式,重塑智能制造价值。   01 | 破局远程协作痛点   跨平台无缝衔接 工人可直接通过安宝特AR眼镜发起飞书会议、接入 Teams 请求,无需切换设备,降低协作门槛,适配企业现有工作
    的头像 发表于 12-05 17:59 1265次阅读
    安宝特方案丨<b class='flag-5'>协作</b><b class='flag-5'>提</b><b class='flag-5'>效</b> + 盈利升级:安宝特 AR 眼镜赋能工业 4.0

    技术解析:58同城房产数据平台 - 根据项目ID获取详情数据的API接口实践

    基于项目ID获取详情数据的常见技术实现路径。 一、 接口基本原理 58同城平台的房产项目详情页通常对应一个唯一的项目ID。平台后端会提供相应的接口服务,接收前端或API调用方传入的项目
    的头像 发表于 11-21 14:58 107次阅读
    技术解析:58同城房产<b class='flag-5'>数据</b>平台 - 根据项目ID获取详情<b class='flag-5'>数据</b>的API<b class='flag-5'>接口实践</b>

    双碳合规+节能:智慧供热平台成为企业核心竞争力

    双碳目标下,供热行业面临低碳转型与效益提升的双重诉求,节能、合规达标成为企业突围的关键,而智慧供热平台凭借全流程智能化管控能力,精准破解行业痛点,成为企业构筑核心竞争力的重要支撑。 一、核心
    的头像 发表于 11-12 08:56 306次阅读
    双碳合规+节能<b class='flag-5'>提</b><b class='flag-5'>效</b>:智慧供热平台成为企业核心竞争力

    UART接口数据线接收和发送数据

    。 蜂鸟E203 MCU SoC中UART0和UART1的接口数据线(TX和RX)通过GPIO的IOF功能复用GPIO引脚的分配。 2.1通过UART_TXDATA寄存器发送数据 UART_TXDATA
    发表于 10-29 07:37

    深度解析淘宝API接口:功能、限制与最佳实践

    在当今日益繁荣的电商领域,淘宝作为中国最大的电子商务平台之一,其API接口为开发者提供了丰富的功能和数据资源。本文将深入解析淘宝API接口的功能、限制,并分享一些最佳实践,帮助开发者更
    的头像 发表于 10-20 13:48 270次阅读

    别再卡分页!淘宝全量商品接口实战开发指南:从并发优化到数据完整性闭环

    淘宝店铺全量商品接口实战指南:详解权限申请、分页优化、并发拉取与增量更新,结合代码实现高效稳定的数据获取,解决超时、限流、数据丢失等核心难题,助力电商数据分析避坑
    的头像 发表于 09-30 10:47 331次阅读

    腾视科技AI大模型应用:、破局与落地,重塑智能新生态

    在这场数字化转型的浪潮中,腾视科技AI大模型凭借其强大的效能力、破局的创新思维以及切实的落地实践,已然成为重塑智能新生态的重要力量。从企业办公中的高效决策支持,到教育科研里的学术探索助力;从工业物
    的头像 发表于 08-18 14:06 1503次阅读
    腾视科技AI大模型应用:<b class='flag-5'>提</b><b class='flag-5'>效</b>、破局与落地,重塑智能新生态

    紫光国芯如何助力芯片后端设计

    众所周知,芯片产品的诞生需要经历设计、制造、封测等阶段,其中的芯片设计又包括架构、代码、验证、中端、后端等步骤。后端设计将抽象的代码转化成为可制造、功能正确、满足性能功耗指标的物理图纸数据,最终由芯片生产工厂制造。
    的头像 发表于 07-08 16:40 833次阅读

    SOLIDWORKS教育版 团队协作与沟通技巧的提升

    工程师必会的核心素养。SOLIDWORKS教育版通过其独特的功能和平台优势,为学生提供了一个模拟真实工作环境的平台,帮助他们在实践中提升团队协作与沟通能力。 实时协作,打破空间限制
    的头像 发表于 04-29 11:35 446次阅读
    SOLIDWORKS教育版 团队<b class='flag-5'>协作</b>与沟通技巧的提升

    SOLIDWORKS 2025教育版有效的数据管理与团队协作

    在当今数字化时代,工程设计领域对数据管理和团队协作的要求日益提高。SOLIDWORKS 2025教育版作为一款CAD软件,以其强大的数据管理和团队协作功能,成为教育机构和学生进行工程设
    的头像 发表于 04-07 17:28 589次阅读
    SOLIDWORKS 2025教育版有效的<b class='flag-5'>数据</b>管理与团队<b class='flag-5'>协作</b>

    高速公路综合能管理:从理论到实践的跨越

    ,不仅面临着复杂的地质情况和建设难度,更需要在能管理上寻求创新与突破。本文将结合都巴高速的实际应用案例,探讨高速公路综合能管理的创新实践。 二、项目概述       都巴高速主线全长119.129公里,地质情况复杂,桥隧比高
    的头像 发表于 02-28 15:42 628次阅读
    高速公路综合能<b class='flag-5'>效</b>管理:从理论到<b class='flag-5'>实践</b>的跨越

    芯片前端和后端制造工艺的区别

    通常,我们将芯片的生产过程划分为前端制程和后端制程两大阶段,其中前端制程专注于芯片的制造,而后端制程则关注于芯片的封装。
    的头像 发表于 02-12 11:27 2438次阅读
    芯片前端和<b class='flag-5'>后端</b>制造工艺的区别

    SOLIDWORKS 2025更有效的协作和数据管理

    在当今快速变化的商业环境中,企业成功的关键在于有效的协作和数据管理。作为CAD领域的领军者,SOLIDWORKS始终致力于为用户提供优越的三维设计与工程解决方案。随着SOLIDWORKS 2025的发布,这款旗舰软件在协作和数据管理方面实现了重大突破,为用户带来了更加有效
    的头像 发表于 01-09 17:04 865次阅读
    SOLIDWORKS 2025更有效的<b class='flag-5'>协作和数据</b>管理

    递归算法实践--到仓合单助力京东物流增收

    作者:京东物流 李硕 一、背景 京东物流到仓业务「 对商家 」为了减少商家按照京东采购单分货备货过程,对齐行业直接按照流向交接,提升商家满意度;「 对京东 」揽收操作APP;到仓合单功能应运而生
    的头像 发表于 01-09 14:57 802次阅读

    ADS1299后端数据是通过写好的exe程序来处理的?

    看了ADS1299开发板,很心动,因为我是做后端数据处理的,前端硬件基本自己搞不定,所以想入一个自己收集一点原始数据来玩玩 但是看了1299的手册,貌似后端
    发表于 12-25 06:29