用友开发者中心

低代码开发是什么?低代码有哪些核心能力?

2020 年,Gartner 更新并发布了针对企业级低代码开发平台的关键能力报告《企业低代码应用平台的关键功能》,与同期的上一份报告相比,该报告首次出现了“ API 和集成”和“平台生态系统” 。

一、什么是低代码开发

低代码开发基于可视化和模型驱动的概念,结合了云原生和多终端体验技术,它可以在大多数业务场景中,帮助企业显著的提升效率,还能进一步降低企业开发成本,也就是我们所说的“降本增效”。为专业开发者提供了一种全新的高生产力开发方式。

另一方面,低代码能让不懂代码的人通过“拖拉拽”开发组件来完成应用程序的构建。从某种意义上说,低代码可以弥补日益扩大的专业技术人才缺口,同时也可以促进企业与技术之间深度协作的最终敏捷形式。

1、来自 Wikipedia 的低代码定义

从 Wiki 的定义中,我们可以提炼出几个关键信息:

低代码开发平台(LCDP)本身也是一种软件,它为开发者提供了一个创建应用软件的开发环境。对于程序员而言,低代码开发平台的性质与 IDEA、VS 等代码 IDE(集成开发环境)几乎一样,都是服务于开发者的生产力工具。

与传统代码 IDE 不同的是,低代码开发平台提供的是更高维和易用的可视化 IDE。大多数情况下,开发者并不需要使用传统的手写代码方式进行编程,而是可以通过图形化拖拽、参数配置等更高效的方式完成开发工作。

2、来自 Forrester 的低代码定义

相比 Wiki 的版本,Forrester 定义更偏向于阐明低代码所带来的核心价值:

低代码开发平台能够实现业务应用的快速交付。也就是说,不只是像传统开发平台一样“能”开发应用而已,低代码开发平台的重点是开发应用更“快”。更重要的是,这个快的程度是颠覆性的:根据 Forrester 在 2016 年的调研,大部分公司反馈低代码平台帮助他们把开发效率提升了 5-10 倍。而且我们有理由相信,随着低代码技术、产品和行业的不断成熟,这个提升倍数还能继续上涨。

低代码开发平台能够降低业务应用的开发成本。一方面,低代码开发在软件全生命周期流程上的投入都要更低(代码编写更少、环境设置和部署成本也更简单);另一方面,低代码开发还显著降低了开发人员的使用门槛,非专业开发者经过简单的 IT 基础培训就能快速上岗,既能充分调动和利用企业现有的各方面人力资源,也能大幅降低对昂贵专业开发者资源的依赖。

二、低代码开发的核心目的

1、提效降本

对研发人员的提效:相比于传统开发模式,低代码开发搭建的抽象程度更高,通过牺牲部分定制性换来更高效的开发方式。

对企业客户的提效:研发一个低代码开发平台,专业性要求很高,而且用户群会很窄,因此需要针对不同用户的诉求开发定制方案,本质上是通过降低通用性换取更低的上手成本,或者针对某个领域降低上手成本,比如数据图表搭建、CRM 客户管理、生产管理、OA 协同办公系统搭建等。

2、质量保障

项目延期交付已成为行业常态,而瓶颈几乎总是开发人员(对机器能解决的问题都不是问题);优秀的开发人才永远是稀缺资源,还贼贵;软件质量缺陷始终无法收敛,线上故障频发资损不断。有了低代码开发平台,简单培训一下,不懂代码的业务人员也能立刻搭建系统,而且有问题可以随时找低代码厂商处理。

3、扩大应用开发劳动力

通过让大部分开发工作可以仅通过简单的拖拽与配置完成,低代码开发平台(包括零代码)显著降低了使用者门槛,让企业能够充分利用前面所提到的平民开发者资源。部分纯零代码需求场景下,低代码还能让业务人员实现自助式(self-service)应用交付,既解决了传统 IT 交付模式下的任务堆积(backlog)问题,避免稀缺的专业开发资源被大量简单、重复性的应用开发需求所侵占,也能让业务人员真正按自己的想法去实现应用,摆脱交由他人开发时不可避免的桎梏。

三、低代码开发的核心能力

1、易用性-无代码应用开发

易用性,在不写代码的情况下能够完成的功能多寡。该指标标识低代码开发平台生产力的关键指标。

2、应用用户体验

使用低代码开发平台所构建的应用程序的用户体验。该指标能够决定最终用户对开发者的好评程度。一般的说,独立的软件开发团队为企业客户做项目交付时,对该能力的要求会显著高于企业客户自主开发;开放给企业的客户或供应商的项目,对该能力的要求会高于企业内部用户使用的项目。

3、数据建模和管理

数据建模和管理的便利性。该指标就是通常所讲的“模型驱动”,相比于表单驱动,模型驱动能够提供满足数据库设计范式的数据模型设计和管理能力。开发的应用复杂度越高,系统集成的要求越高,这个能力就越关键。

4、流程和业务逻辑

流程应用与业务逻辑开发能力和效率。这个能力有两层,第一层是指使用该低代码开发平台是否可以开发出复杂的工作流和业务处理逻辑;第二层是开发这些功能时的便利性和易用性程度有多高。一般的说,第一层决定了项目是否可以成功交付,而第二层则决定项目的开发成本。不论如何,使用者都应关注第一层。在此基础上,如果项目以工作流为主时,第二层也应该作为重要的评估指标。

5、平台生态

开发平台的生态系统。低代码开发平台的本质是开发工具,内置的开箱即用的功能无法覆盖更多应用场景。此时,就需要基于该平台的完整生态系统,来提供更深程度、更全面的开发赋能。很多开发平台都在建立自己的插件机制,这就是平台生态的一个典型体现。

6、接口和集成

编程接口与系统集成能力。为了避免“数据孤岛”现象,企业级应用通常需要与其他系统进行集成,协同增效。此时,内置的集成能力和编程接口就变得至关重要。除非确认可预期的未来中,项目不涉及系统集成和扩展开发,开发者都应该关注这个能力。

值得一提的是,在另一家权威行业机构,Forrester 的《2019 Q1 Forrester Wave:面向应用程序开发和交付专业人员的低代码开发平台》报告中,编程接口被认定为企业级低代码开发平台的重要标志,不具备编程接口的“低代码”被划归为“无代码”,转移到那些只适用有限用例的平台报告中。

7、架构

系统是否支持更先进的架构、清晰的分层,以对接物联网 IoT、RPA 机器人、ML 机器学习等新的技术?如果开发者希望自己开发的应用有更长的生命周期,深入了解低代码开发平台产品的架构就变得尤为重要。

8、服务质量

服务质量。与上一点类似,服务质量也是衡量运行于公有云模式下低代码开发平台的指标。这里的服务质量,除了通常所说的“无故障使用时间”外,还要考虑资源是否支持独占模式,避免某一个应用的高负荷,导致其他应用不可用或出现性能劣化。

9、用户模型与软件开发周期

用户模型与软件开发周期支持。软件开发的生命周期中,除了开发和交付,还需要包含设计、反馈、测试、运维等多个环节,如系统开发早期的用户模型建立和验证过程通常需要快速的 Mockup 和迭代,投入的开发力量甚至不少于正式开发。如果一套低代码开发工具具备全生命周期所需的各项功能,将会大大简化开发者的技术栈,进一步提高开发效率。开发者所开发的系统规模越大,这一能力就越重要。

10、治理

治理(开发管理)。企业级软件的项目规模通常比较大,而且业务更关键,这就对开发团队管理提出了更高的要求。现代软件开发中主推的敏捷开发是否能在低代码中落地,是衡量开发管理能力的重要指标。这通常包含了代码库权限管理,版本权限管理,发布权限管理等一系列功能,帮助开发团队负责人降低软件开发管理过程中带来的各种人为风险。开发团队规模越大,越推荐开发者关注这一指标。

11、安全与合规

低代码开发平台需要在部署方式、系统安全机制和权限管理和控制功能等层面发力,全方位赋能开发者构建安全的,符合企业规则的企业级应用。支持本地部署、全 SSL 数据传输、密码强度策略、跨域访问控制、高粒度的用户权限控制等都是该能力的具体体现。大型企业、特定行业企业(如军工、金融等)通常对该指标的关注程度会更高一些。

2023-07-19 11:22:52