一文读懂字节跳动自研移动研发工具链 MBox

本文探讨了研发团队在工具链使用中的问题,如过度关注单一指标和负面影响。作者介绍了MBox,一个集GUI和CLI于一体的移动端研发工具,旨在提供全链条的覆盖、可视化交互、极简设计和可扩展性,解决环境管理、跨项目开发、仓库管理、需求变化和依赖复杂性等问题,助力提升研发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

每一个研发团队都有着自己的研发流水线(评审、开发、构建、测试、修复、发布),在提升研发效能的实践中我们往往会提供丰富的研发工具供研发人员在这些流程节点中使用,但这些工具真的有合理地融入到我们的研发流程中,形成一条完整的工具链吗?

真实情况是,我们在实践中常常过多地关注单一指标,例如通过对工具链的改造提升项目的工程化程度,工程化确实能带来可维护性、工程质量等指标的提升,但是在其他环节中,如新人上手成本提升、依赖管理难度提高、代码合入时间拉长、Bug 复现困难等方面也带来了负面影响。

方案

我们对上述的现状与问题进行了分析,并结合在移动端研发工具相关实践经验,最终决定开发一款面向移动端开发者的研发工具链产品 MBox。

如上图所见,MBox 最终所呈现的产品形态是一款包含 GUI (Graphical User Interface) 与 CLI (Command-Line Interface) 的 Navtive App。

理念

全覆盖 All-in-one

我们期望开发一款能够对研发流程做到全场景覆盖的工具链产品,用户能够在 MBox 中获取所有需要的研发信息,并完成相应的研发工作,同时确保在整个研发链路中拥有一致的研发体验。

可视化 Visualized

在最初迭代 CLI 版本的过程中,我们渐渐发现可视化的交互方式可以解决一些在 CLI 交互中难以解决的问题,尽管 GUI  相比 CLI 在编程实现上会复杂很多,但我们坚信用户体验的重要性,因此 MBox 为用户提供了 GUI 与 CLI 两种可供选择的交互方式。

极简化 Simple

这里的 Simple 并不是指简单,而是交互设计上的简约,在这里本质上是可用性的体现。我们认为研发工具应该是为用户解决困难而不是制造困难的,任何无关的或是分散研发人员注意的信息都是不必要的,简单好用是对一款研发工具的最美称赞。

可扩展 Extensible

通常意义下 All-in-one 的工具链往往会导致可定制性变差,MBox 通过插件化技术在最大程度上满足了用户在横向与纵向上扩展性需求。

架构

上文中提到通常情况下我们的研发流程是一条流水线式的模型,多数研发工具都会从这条流水线中找到一个切入点来提供服务,协助用户完成某个节点的工作。而 MBox 在架构设计上则更多关注的是整个研发流程运转的效率,这不仅体现在单个节点的高效,同样体现在不同节点之间流转的高效。

MBox 在功能上并没有按照研发流程进行划分,而是将整条研发链路贯穿到所有的功能设计中,根据功能的种类分成四大板块:Environment、Workspace、Workflow、Tool。

核心功能

Environment

Environment 即研发环境,直觉告诉我们环境部署只是研发环节中较为前置的一个环节,但在实际开发实践中,Environment 要解决的不仅仅是部署(Deployment)的问题,其中还包含了环境统一(Consistency)、环境升级(Upgrade)和环境隔离(Isolation)这三个问题,而上述的四个问题却是贯穿于整个研发流程的。

我们认为在一个良好的研发体验中,研发人员无须关注绝大部分与环境相关的问题,应该把更多的关注度放在业务上,产生更多有效的价值。MBox 实现了整个过程的自动化,在任意时刻,无感知地为研发人员提前完成环境相关的部署、隔离与升级工作,同时还

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值