低代码(LowCode)/无代码(NoCode)”是技术界近几年的热门词汇之一,随着企业数字化发展的深入,越来越多的场景化需求要求企业具备更加灵活敏捷的应用开发能力,传统应用开发模式周期长、技术人员能力要求高,无法满足快速变化的市场需求,由此,提供便捷应用开发能力、降低开发门槛的低代码无代码技术应运而生。
1、什么是无代码平台/低代码开发平台
Gartner 定义:(Critical Capabilities for Enterprise Low-Code Application Platforms)
低代码应用程序平台(lcap)提供抽象的、有指导的开发、自动化和治理功能,使专业和公民开发人员能够快速开发数字解决方案。软件工程领导者应该使用这项研究来比较lcap。
Low-code application platforms (LCAPs) provide abstracted, guided development, automation and governance capabilities, enabling professional and citizen developers to rapidly develop digital solutions. Software engineering leaders should use this research to compare LCAPs.
Golden定义:(https://golden.com/wiki/No-code_%2F_low-code_development-NMGMEA6)
无代码/低代码开发是一种可视化的应用程序开发方法,使用图形界面结合拖放组件和模型驱动逻辑。无代码/低代码开发试图降低从支持软件的技术平台、产品和服务中提取价值的门槛。无代码/低代码开发帮助非技术人员(如业务分析师、办公室管理员和小型企业所有者)构建软件应用程序或软件应用程序的组件,而不需要专业开发人员。专业开发人员还可以从低代码开发中受益,因为他们可以缩短项目的开发时间,并且能够将项目的各个方面分配给没有编程技能的非技术人员。
1.1、从代码量的维度分类
应用系统开发模式可以分为三种:纯代码(Pro Code)、低代码(Low Code)、无代码(No Code)。
这三者有着巨大的差别,我们需要非常准确地将它们分开。纯代码是这个维度下的一个基准概念,它指的是用传统的手工编码的模式开发应用。而低代码和无代码比较容易混淆。
从中英文字面上说,无代码意味着 App 的开发过程没有代码参与。头部分析机构 Forrester 和 Gartner 发布的报告中,也没有找到无代码的定义和相关报告。什么算代码,写js脚本、html、SQL语句算不算代码?从业务人员角度讲,这些也是代码,那么,无代码平台只能是某一个垂直领域高度抽象,把功能做出配置化给业务人员使用,才可能是一个无代码平台,所以无代码平台适用范围太局限,低代码平台才是最好的发展路径。
低代码模式下的 App 开发过程需要有代码参与,特别是面对一些复杂的业务逻辑的时候,通过表达式或者直接编码的方式来表达,反而更加清晰。而无代码模式开发 App 的全过程,没有任何代码的参与,不仅是从开发者角度看是这样的,从无代码内部的实现方式看,也是这样的。
严格来说,把采用无代码模式生成 App 的过程称为开发是不恰当的,因为它只是对已有原子业务能力进行二次组合,形成具有特定功能的新业务而已。因此从这个角度来说,低代码和无代码完全不是一种东西,切不可将这两者混为一谈。
1.2、从使用者的角色分类
如果按照使用者的类型进行分类,我们可以将开发平台的使用者分为 3 类:专业技术人员,业务技术员,相关无专业技能人员。
这里所说的业务技术员是一种正在兴起的角色,它是指构建供内部和外部业务使用的技术或分析功能的非 IT 部门员工。他们担任着装备和赋能非 IT 资源以构建数字化能力的战略角色。
根据 Gartner 的研究:41% 的员工可以被称为业务技术人员,不过这一比例在不同行业可能存在很大差异。例如在政府部门等技术密集度较低的行业,这一比例接近 25%,但在能源等 IT 密集型行业,这一比例接近 50%。
多数的无代码开发平台将业务技术员作为主要的用户群,为他们提供对已有业务的二次组合为主的基础开发能力,一般具有专业技能的开发人员是不会使用无代码开发平台的,因为专业技能者要面对的问题域已经大大超出了无代码平台的能力范围。
而低代码开发平台一般会将专业技术人员和业务技术员同时作为他们的客户群,并以专业技术人员为主要用户群,业务技术员为次要用户群。
随着低代码开发平台的成熟度上升,业务技术员用户群的占比会有所上升。因为成熟度高的低代码平台,不仅有各式各样的可视化工具来降低业务研发的难度和代码量,同时对业务研发生命周期各个环节的覆盖也会越来越完整。从开发到测试,从测试到上线,再到高容错运行时自动化部署 / 恢复、运行时自动化运维等各个环节的可视化、自动化完成,这为无 IT 技能的业务技术员独立开发提供了可能性。同时,越发完善的可视化自动化能力不仅会牢牢抓住已有的专业技能用户,还会吸引更多的专业技能用户的加入。
2、阿里对低代码平台的定义
https://lowcode-engine.cn/docV2/intro
零代码、低代码的概念在整个全球行业内已经流行了很长一段时间。通常意义上的低代码定义会有三个关键点:
- 一个用于生产软件的可视化编辑器;
- 中间包含了一些用于组装的物料,可以通过编排、组合和配置它们以生成丰富的功能或表现;
- 最后的实施结果是成本降低;
通常情况下低代码平台会具备以下的几个能力:
- 可视化页面搭建,通过简单的拖拽完成应用页面开发,对前端技能没有要求或不需要特别专业的了解;
- 可视化模型设计,与业务相关的数据存储变得更容易理解,甚至大多数简单场景可以做到表单即模型,模型字段的类型更加业务化;
- 可视化流程设计,不管是业务流程还是审批流程,都可以通过简单的点线连接来进行配置;
- 可视化报表及数据分析,BI数据分析能力成为标配,随时随地通过拖拽选择来定义自定义分析报表;
- 可视化服务与数据开放、集成,具备与其他系统互联互通的配置;
- 权限、角色设置标准化和业务化,通过策略规则配置来将数据、操作的权限进行精细化管理;
- 无需关心服务器、数据库等底层运维、计算设施设备、网络等等复杂技术概念,具备安全、性能的统一解决方案,开发者只需要专注于业务本身;
有了上面这些,你会发现即使是个技术小白,只要你了解业务,就能不受束缚的完成大多数业务应用的搭建。但低代码本身也不仅仅是为技术小白准备的。在实践中,低代码因为通过组件化、模块化的思路让业务的抽象更加容易,而且在扩展及配置化上带来了更加新鲜的模式探索,技术人员的架构设计成本和实施成本也就降了很多。