上一篇文章《浅谈低代码平台实现(一)》从系统整体层面介绍了平台的实践思路,但是在整个平台实现的过程中会有很多细节处理需要落地,本次将结合项目的实际情况,给大家分享同级页面内组件间联动的实现思路。
分享前先简单介绍下业内关于代码划分的知识:
-
高代码(专业代码):通过传统开发模式编写系统程序,能满足强大、复杂的业务场景,同时需要花费的成本比较高;
-
低代码(少量代码):面向场景化、领域化比较多,能满足满足部分个性化需求;
-
零代码(无需代码):客户群体主要是业务人员,无需具备编程基础,通过熟悉产品手册即可完成系统搭建,产品基本无法满足定制化需求;
组件间联动
场景分析
说到联动,做过系统研发的童鞋肯定能想到无数的交互场景,这里就简单罗列一下:
-
点击某个按钮:刷新表格数据;
-
点击查询按钮:带上条件查询内容;
-
点击提交按钮:对表单数据进行提交;
-
点击图表数据:关联查询另一个图表数据;
-
......
以上的场景在企业级系统中完全只是冰山一角,面对客户无数的定制化需求(客户虐我千百遍,我待客户如初恋),想要达成更多的交付,只能把低码的扩展能力加强。
解决思路
看到如此多的场景我想每个人多多少少都自己的想法:
-
预制交互组件,如条件查询组件、定向联动组件;
-
预制页面交互内容区,桥接页面内的组件;
-
封装业务组件,完成某个特殊的交互要求;
-
获取组件实例,利用Api能力自由交互;
-
......
以上想法其实是可行的,我主导的低码平台也基本按照这些思路完成了落地(其实通过研究众多大厂的产品宜搭、微搭、爱速度,及其目前我们平台上实际落地的成功案例也得以证明)。只是面对不同场景,需要借助不同的实现方法。
重点突破
有了上述解决思路,还需要解决参数一致性问题。例如:当面临A组件联动入参与B组件回调参数,存在参数名、参数值类型不一致时,需要完成参数映射调整。可以从以下方式进行实现:
解释
场景:A按钮--->点击触发----->B表格查询数据
联动组件:B表格
回调组件:A按钮
- 回调组件入手
具体思路:对回调组件的出参进行配置,把需要与该组件联动的组件参数配置一次;
优点:出参转换一目了然;
缺点:联动组件入参分散,不利于维护;
- 联动组件入手
具体思路:在联动组件上,分别配置各个回调组件的回调参数转换;
优点:联动组件能否查阅到与本组件有联动关系的组件及其所有入参情况;
缺点:如果回调组件触发多个联动组件,会增加配置成本会;
- 参数混合管理
具体思路:把回调组件涉及的参数全部封装在一个页面级参数中(由平台提供统一的封装方法,进行参数存储),联动组件从业务层面角度解析该参数,完成参数转换;
优点:参数可以在联动组件或者回调组件完成,业务逻辑自由选择
目前市面上大多数低码产品在同一页内的组件联动的实现方式主要如下:
-
页面预制查询内容区,只有内容区内的组件能与内容区外的组件进行联动交互;
-
预制联动交互组件,传递和接收参数比较固定;
无论是那种实现方式,其实都有各自的优缺点,介于我们项目定位是企业级低代码平台,在平台上搭建的应用,满足不同客户面临客户个性需求,例如“工程项目管理大型应用”,完全利用零代码可能实现就比较吃力,因此我们平台参数混合管理的方式完成交互能力,灵活性提高。