数字化时代 的到来,迫使企业跳出舒适圈,坚定地踏上数字化转型的征程。不断飙升的用户需求,加上专业开发人员的显著缺口,让我们不得不承认,过去几十年的应用开发方式已经无法满足需求。 低代码革命 已经悄然开始,并不断渗透到各行各业。

数字化转型 涉及企业的方方面面,其中 寻求技术及实现手段上的突破 是决策者需要考虑的主要问题之一。顺应这种潮流,近几年发展起来的“低代码技术”作为解决企业数字化转型以及增强企业复原力的有力手段,得到越来越多的关注。

低代码(low-code)平台支持快速应用开发(RAD),使用声明式的高级编程抽象(如模型驱动和基于元数据编程)进行部署和执行。 低代码平台拥有以下共同的技术要素:

  • 一个以模型/元数据为中心的UI层设计器,只需要编写很少的代码,甚至不需要编写代码;

  • 支持基本的数据结构定义和内置数据库的通用数据存储(如RDBMS、NoSQL、平面文件)访问;

  • 通过REST、SOAP或其他API简化对外服务的访问;

  • 通过API包装它们的底层流程逻辑和数据;

  • 支持面向业务规则和常规业务逻辑开发的编码方法;

  • 足够好的性能表现和足够低的操作延迟。

  • 企业级低代码平台还应包含其他功能,例如?:

  • 用户密集访问量、数据存储量和高事务率的弹性伸缩能力;

  • 高可用性与容灾复原能力;

  • 应用程序访问API和数据存储的安全性;

  • 运营阶段的服务品质协议(SLA);

  • 资源使用追踪能力;

  • 对开发人员和运营人员的技术支持能力。

基于上述技术要素,Gartner共列出了低代码平台的11个关键能力维度,如下图所示。

低代码平台的11个关键能力维度

(1)易用性

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

(2)用户体验

这个指标能够决定最终用户对开发者的评价。一般来说,独立软件开发团队为企业客户开发的项目对用户体验的要求会显著高于企业客户自主开发的项目,开放给企业的客户或供应商的项目对用户体验的要求会高于企业内部用户使用的项目。

(3)数据建模和管理的便利性

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

(4)流程与业务逻辑开发能力和效率

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

(5)开发平台的生态系统

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

( 6)编程接口与系统集成能力

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

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

(7)支持更先进的架构和技术

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

(8)服务质量

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

(9)用户模型与软件开发周期支持

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

(10)开发管理

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

(11)安全与合规

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