作者:黄也(胖丁)
引言
随着低代码的普及,在低代码平台上构建企业级应用逐渐成为生产趋势。同时,随着低代码技术的提升,越来越多的复杂应用在低代码平台中完成。在其研发生命周期中,低代码开发者就会面临多人协作、并行开发、维护多版本的场景。而现有的低代码平台普遍缺乏这一能力或支持较弱,导致对协同开发的成本较高,限制了迭代的效率。
因此我们基于低代码系列相关协议,设计了低代码多分支协同开发的解决方案,以降低协同成本、提高研发效能。
协议原文:https://lowcode-engine.cn/lowcode
低代码引擎官网:https://lowcode-engine.cn/index
本文适合对低代码引擎有基本了解的人,了解低代码引擎的基础协议,并且希望通过文章中得到基于低代码引擎体系的多人协作方案。
为什么要做多人协同
低代码技术在业界已经流行了相当长一段时间了,在阿里内部也有很多低代码平台,其中某平台具有较多的用户量和活跃的中后台应用;在该平台持续的用户调研中,大量用户反馈需要更加优化的协同、多分支能力。“低代码协同开发”问题成为了用户切实的顾虑和痛点。
现在有什么问题
我们可以从下面几个真实的场景中,来感受一下当前的困境:
-
当一个页面的开发任务拆分给了两名同学,就只能一人开发完之后,另外一个同学才能进行开发;
-
当开发的过程中,突然需要修复线上问题,就需要回滚完成修复后,再重头开发新的需求;
-
当多功能并行开发时,就需要复制多份页面,最后再人工进行 schema 合并;
由此我们可以看出来这个低代码平台有三个问题:
-
**不支持并行开发。**导致开发人员的闲置,限制了开发时长和协同方式。
-
不支持迭代模式。不具备隔离性,无法支持复杂应用生命周期的迭代需求,尤其对于快速迭代升级的业务,导致迭代成本非常高。
-
无法合并修改。复杂、无规范的手动合并流程,只有对协议很熟悉的专业人士才能操作,导致合并和验证成本提高。
问题分析
低代码开发本身的优势就在于“成本低”、“速度快”,不能因为协同方案而导致开发复杂度大幅提高。以此想要解决以上的问题,其实有一些需要考虑的问题:
- 如何“协同”?
在考虑并行开发问题时,其实不应让开发者同时在一个页面里同时操作,而是通过适当的进行拆分解耦;就像在工业生产时,一个机器分解为若干个零件,流水线分别完成零件后再组装成机器。在代码开发时也是如此,那么我们就需要一套类似“零件生产”、“零件组装”的能力,来支持拆分低代码页面。</