目前,关于低代码、纯代码和无代码之间的关系,业界一直存在着各种争论。因此,本文将从定义、技术特征、开发者、应用场景和经济性论述三者之间的区别与联系,厘清三者之间的关系。
从定义看三者的区别与联系
广义的“低代码”(Low-Code)概念于2014年由Forrester首次正式提出,定义为:能够以“最少的手写代码”和设置快速开发应用、配置和部署业务应用程序。“纯代码”(Pro-Code)定义为:传统的以“全程手写代码”为中心的开发模式。“无代码”(No-Code)定义为:在可视化界面中,通过拖拉拽代码模块,“无需手写代码”直接搭建应用系统。从定义可以看出,如果假定纯代码的开发代码量是100,那么无代码的开发代码量就是0,三者之间的关系可表述为下面公式所示:广义的低代码=无代码×X%+纯代码×(1-X%)其中X(0≤X≤100)代表了可复用的“数字化资产”满足业务需求的程度。X值越大,数字化资产满足业务需求的程度越高,但同时,代码灵活性会被削弱。当X=0时,就是纯代码;0<X<100 时, 就是 “狭义的低代码” ;当 X=100 时,就是无代码。>。
从技术特征看三者的区别与联系
1.纯代码的技术特征
纯代码的开发方法是模型驱动,采用“全程手写代码”的方式搭建应用系统,代码不会自动生成,因此不依赖开发平台的可复用“数字化资产”,编码灵活性高、定制性强、应用的可移植性强。开发者可以根据自己的偏好编写代码,可编程能力强,但要求开发者对核心编码的逻辑有相当深入的理解。由于开发者能力不同,会导致编码的标准化程度低,用户操作体验不一致,错误率偏高。另外,开发者还需要自建部署和运维环境,整个应用的BizDevOps一体化过程相当复杂,对开发者的技术要求很高。
2.无代码的技术特征
无代码的开发方法是表单驱动,在可视化界面中,通过拖拉拽代码模块,“无需手写代码”的方式搭建应用系统。100%的代码由平台自动生成,可以消灭所有繁琐和重复的样板代码(BoilerplateCode),因此对开发平台的可复用“数字化资产”依赖程度非常高。平台不会提供编程扩展接口,源码无法进行客户化编辑,编码的灵活性和定制性完全取决于平台提供的“数字化资产”数量和质量。应用的可移植性也依赖aPaaS平台的功能,存在非常强的制约。开发者不可以编写代码,因此不需要开发者理解编码的基本逻辑。但由于100%的代码由平台自动生成,因此编码的标准化程度非常高,用户操作体验一致,错误率极低。另外,开发者通过aPaaS平台,直接在云端完成整个应用的BizDevOps一体化过程,完全不需要专业技术人员的参与,整个过程所见即所得,对开发者基本没有技术要求。
3.低代码的技术特征
低代码的开发方法是模型驱动和表单驱动并存,开发模式以“最少的手写代码”的方式搭建应用系统。80%以上的代码由平台自动生成,可以消灭绝大部分繁琐和重复的样板代码,因此对开发平台的可复用“数字化资产”依赖程度较高。另外,平台会提供编程扩展接口,方便开发者导出导入源码进行客户化编辑,依赖开发平台提供的可复用的“数字化资产”,编码的灵活性和定制性较高,应用的可移植性依赖aPaaS平台的功能,存在一定的制约。开发者可根据自己的偏好改写部分代码,可编程能力较强,这就要求开发者对编码的基本逻辑有比较深入的理解。但由于开发者只能改动部分代码,因此80%以上的编码的标准化程度较高,用户操作体验较为一致,错误率也控制在改写的编码范围内。另外,开发者通过aPaaS平台,直接在云端完成整个应用的BizDevOps一体化过程,可以不需要专业技术人员的参与,降低了对开发者的技术要求。
4.技术特征的区别与联系
虽然上述三者在技术上存在很大的区别,但从软件开发技术演进过程中的角度看,低代码处于纯代码与无代码中间的阶段,既能够降低纯代码的技术门槛,同时也能通过编程扩展接口,提供客户化的编码功能。通过aPaaS平台实现应用的BizDevOps一体化过程,显著降低了对开发者的技术要求。