Low-code application platforms (LCAPs)
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.
著名咨询机构 Gartner,于2020年9月发布的 《企业级低代码开发平台的关键能力报告》(Critical Capabilities for Enterprise Low-Code Application Platforms , https://www.gartner.com/en/documents/4005973)中,定义了低代码的11项关键能力。也就是说,这11项关键能力是衡量一个平台是否能够称之为低代码平台的关键因素。
图@Gartner
先简单了解一下各项要素的含义:
1、Intuitive, No-Code App Development:易用性,不写代码时的开发能力。
在不写代码的情况下,能够完成多复杂的系统搭建。这是标识低代码开发平台生产力的关键指标。
2、Application User Experience:所开发出来的应用的用户体验。
它指的不是低代码开发平台本身的用户体验,而是通过低代码平台开发出来的应用,给到用户的使用体验。
3、Data Model and Management:数据模型和管理。
这个指标就是通常所讲的“模型驱动”,相比于表单驱动,模型驱动能够提供满足数据库设计范式的数据模型设计和管理能力。开发的应用复杂度越高,系统集成的要求越高,这个能力就越关键。
4、Process and Business Logic:工作流与业务处理逻辑。
流程应用与业务逻辑开发能力和效率。这个能力有两方面:
第一,是指使用该低代码开发平台,是否可以开发出复杂的工作流和业务处理逻辑;
第二,是开发这些功能时的便利性和易用性程度有多高。
5、Platform Ecosystem:开发平台的生态系统。
低代码开发平台的本质是开发工具,当内置的开箱即用的功能无法覆盖更多应用场景时,就需要基于该平台的完整生态系统,来提供更深程度、更全面的开发赋能,比如开放的插件机制。
6、API and Integration:编程接口与系统集成能力。
为了避免“数据孤岛”,低代码开发平台需要提供系统集成能力、编程接口,跟其它系统进行数据的互联互通。
7、Architecture:系统架构。
系统需要支持服务化、分层的架构方式,支持高可用、集群的应用部署方式。
8、Quality of Service:服务的质量。
系统的健壮性、无故障使用时长、故障恢复时长,对CPU资源、硬盘资源占用情况,对云是否友好。
9、Persona and SDLC:用户模型与软件开发生命周期支持。
软件开发的生命周期中,包含设计、开发、反馈、测试、运维等多个环节,低代码平台要支持单元/集成测试、联调、发布、回滚、持续迭代等。
10、Governance:治理及运维。
现代软件开发中的敏捷开发、代码库管理,版本权限,发布管理等,在低代码平台中,都要能够支持。
11、Security and Compliance:安全与合规。
低代码开发平台需要提供:灵活的部署方式、安全机制和权限控制、SSL数据传输、密码强度策略、跨域访问控制、高粒度的用户权限控制等等。
以上就是Gartner对低代码平台定义的11个要素,相信许多技术人员已经对低代码有个大致认识了。但是,想要识别和判定一个低代码平台的话,直接使用以上11个要素,就有点太繁琐了。
1、拖拽式开发;
2、对象封装与数据模型;
3、模型驱动;
4、脚本语言;
5、软件测试与部署;
6、API与集成。
下面分别说明.
一、拖拽式开发
拖拖拽拽做开发,就是“低代码”开发平台给大家最直观的印象,所以也是“低代码”开发平台最基本的特征。
这一点,世面上的许多“低代码”平台都能够做得到,可以说是个送分题,如果你家的软件产品连这点都做不到,就不要吃“低代码”这碗饭了。
二、对象封装与数据模型
这部分指的是低代码平台要操作的对象、数据模型、表达式等等,它可以是高度抽象和封装的对象,可以省略掉“类”、“接口”、“函数”这些编程语言的高级特性,以更简化的方式提供出来,供程序调用。
三、模型驱动
“模型驱动”是相对于“表单驱动”的,指的是对于数据进行建模和处理,比如国外的低代码平台OutSystems、Mendix,就有很强大的模型驱动的能力,包括了定义实体、实体关联、主键、索引、数据查询等等。
四、脚本语言
脚本语言实际上就是编程语言了,是低代码平台实现复杂业务逻辑的扩展,可以使用 JavaScripts、Python、Java等语言进行编程。
但是,低代码平台会把语言的编译过程做好封装,做到一键发布,即时运行,方便代码调试。
五、软件测试与部署
低代码开发平台,本质上是软件开发工具。所以整体开发过程也要遵守软件工程的流程规范。只是把许多环节都做了简化、内部封装,降低了学习成本、开发成本、测试成本、部署成本。
六、API与集成
主要是解决低代码平台开发出来的系统,跟其它外部系统的数据互联互通,否则又是造了一堆大烟囱,一些数据孤岛。