众所周知,低代码概念主打的就是定制化、可视化、快速开发,如果连基本的定制化都做不到,那就不要做低代码了。所以只要是个低代码平台基本都支持定制化开发。(只是定制化程度的高低不同而已)
而低代码平台要想定制化开发程度足够的高。那我认为首先要保障以下几点能力:
1、保证系统的开放性,当低代码构建的系统自身无法满足特定需求的情况下,可以使用通用IT技术补充(比如提供写代码的脚本功能)。技术人员拥有完整的,对每个业务层面的改造权限。无论是前后端逻辑,个性化界面,独立封装等。
2、低代码工具自动生成的代码,模块,单元,组件等,要与现行的通用IT技术无缝衔接。如果低代码技术需要额外学习新的编程知识,掌握新的编程语言,那么过高的学习成本,也会让人止步。
3、低代码编程能胜任复杂的业务场景,并且实现复杂业务场景的技术成本不能高于通用IT技术。无论是哪一种框架技术或者编程技能,都有个明确的发展方向,就是聚焦业务需求本身,降低不必要的技术成本。
如果一个简单的业务需求,都需要技术人员倒腾很久的情况,那还用它来干嘛?相信这也是绝大多数人不愿意看到的。
一、低代码平台可以通过哪些能力来解决以上问题呢?大致的方向如下:
在系统的整个生命周期,保留的大量可重载的函数与过程,只要改写函数逻辑就能实现高度定制化。改写逻辑可以调用完整的上下文内容与系统级组件,单元,封装。类似于微创手术一样,仅需少量的编码,就能够实现复杂功能。
高度抽象化的接口/过程/事务/组件,通过在线的配置就能实例化,没怎么写代码功能已经实现得差不多。充分利用好编程技巧中的派生与重载功能,别人写过的功能,通过派生与重载,仅需少量的调整就实现了个性化,通用编程过程中,大量的硬编码(Hardcoding)部分被有效避免。
当低代码工具可以完成通用编程一样的工作时,那在定制化效率层面上,肯定会有数倍的提升。
本人此前也用过不少低代码平台,目前定制化开发程度较高的产品有:织信Informat,clickpaas、活字格。而这类平台,我也更愿把他们称之为企业级低代码开发平台。
二、什么是“企业级”低代码开发平台?从企业的更多需求场景出发。企业的内部信息化需求,往往集中在这几个方面:
(1)流程管控。像企业日常OA办公中,就存在大量的流程需求,例如,报销、合同审批、入离职等等,但是由于各企业规章制度和管理办法的不同,这些需求往往都存在个异性。所以在流程上,需要有更灵活的配置功能。
(2)数据处理。提供企业级的高级特性,旨在更敏捷优雅的处理数据。
(3)业务需求。以前我们在谈论软件开发时,通常会想到由经验丰富的IT技术人员来做应用程序的开发。现如今,低代码俨然已经有了引领全民开发者的新时代,它能深度连接业务与IT,填补了业务软件的需求和开发人员短缺的缺口。即便是一个没有经过软件开发培训的用户,仍可以使用低代码平台构建应用程序。
三、“企业级”低代码开发平台应具备哪些能力?对于低代码工具来说,如果能在这些需求上提供更强的能力支持,那么他们必须要有足够强的模型提炼能力和更细颗粒度的配置元素了。这往往取决于产品研发团队的项目经验和积累。因为如果没有具体的系统开发实践,在企业管理系统上的需求是很难凭空想象的。
我们用“低代码”的视角,分析了多个企业信息化建设的项目,目前抽象出了以下5方面能力。
1、场景建模能力
数据模型是系统的基础,丰富的场景建模能力。低代码平台对于数据模型的支持决定了业务场景的覆盖范围。在数据层面来看,很多的字段或者数据类型,并不是单一的。在业务场景的落地中,很多的数据字段需要和业务流程、操作行为等进行高度的解耦,因此能否覆盖更多场景的建模能力,会成为低代码平台能力边界的决定性因素。
2、界面开发能力
Excel表单在企业办公过程中的作用和地位逐渐下降的原因,其实也是在于表单式的交互在很多场景中变得不那么适用。例如库房、工位或者一些非办公室的场景,用户可能更多的是手持设备,需要有更加便捷的输入方式。而不同的场景输入方式又各有区别。所以对于低代码平台而言,能否提供更多的交互方式或者界面开发能力。
3、系统对接能力
权威机构Forrester将API接口认定为企业级低代码开发平台的重要标志,通过内置的API接口功能,企业级应用便可集成或对接其它系统,打通数据链接,避免信息孤岛。
企业级低代码除了有内置常规的第三方API接口之外(对接企业