近期,Gartner、Forrester等行研机构陆续更新了低代码相关的报告,报告中对低代码的能力模型进行了调整。从整体方向上看,上述行研机构在评估低代码开发平台产品时,提升了数据模型/模型驱动的重要性,并且细化了开发管制(governance)相关的要求。
事实上,随着低代码应用场景的泛化和深化,国际上的主流行研机构已经明确了“低代码开发和传统开发方式在应用场景上一致”的大方向,并且按照开发复杂系统、大规模系统的标准,衡量低代码开发工具。
核心能力体系
在此背景之下,我根据对低代码行业的观察和理解,再考虑上中国特有的需求,整理出一份低代码开发平台核心能力,分为开发、扩展、体验和管制四个方面,供技术选型参考。
1. 开发
1.1 模型驱动开发
模型驱动是软件开发的成熟方法论,是企业级系统开发的通行做法。模型驱动开发大致可以分为三个阶段:
数据模型:根据数据库设计范式,制作出由数据表、关系、约束等构成的数据模型
业务模型:将业务逻辑构建在数据模型之上,形成完整的业务模型(也称领域模型)
交互界面:基于业务模型开发交互页面,编排业务模型以实现业务操作
1.2 可视化:UI设计
使用可视化的方式构建前端界面和前端交互行为。如果您的项目需要保持统一的VI,那么是否支持引入CSS文件也需要纳入考察项目。
1.3 可视化:逻辑处理开发
使用可视化的方式,在前端或者后端构建业务处理逻辑。对于有事务性要求的企业级应用项目,如ERP、WMS或财务,需要重点关注后端业务逻辑处理的开发方式。
1.4 可视化:系统运维
低代码开发平台应关注软件开发的全生命周期,部署、迭代、监控等环节的可视化,同样可以大幅降低软件的整体成本。
2. 扩展
2.1 数据库集成
数据库集成能力是打通“数据孤岛”的必备条件,也是成本最低的方案之一。是否能够连接外部的数据库,是否能够调用该数据库上存储过程等编程能力,对大企业的软件开发项目来说至关重要。
2.2 WebAPI集成
现代的软件系统和SaaS服务均以Web API的形式对外提供接口,用于集成。通过调用Web API可以让低代码开发平台具备更强大的开发能力和更广泛的应用场景。
2.3 编程接口
软件需求和IT环境的变化通常会超过开发平台的迭代,编程接口便是避免“卡在最后一公里”的最后一道防线。
2.4可扩展的组件生态
在编程接口的基础上,如果能够存在一个组件生态,让用户能快速找到自己所需的开发功能,避免“重复造轮子”,何乐为不为呢。
3. 体验
3.1 响应式页面支持
响应式页面可以分为流式布局和网格布局两种。支持响应式页面意味着用户无需针对特定的屏幕尺寸做专门的设计,可以大幅提升UI的开发效率。
3.2 定制化的原生APP支持
为了充分利用硬件的特性,针对iOS或Android开发原生APP依然没有被抛弃。是否能构建从Logo到功能,全定制化的原生APP对于某些项目来说,依然是必须项目。
3.3 本土化移动端支持
移动办公在国内基本上等同于钉钉和微信,所以,低代码开发平台需要具备与这两个IM软件无缝对接的能力,从页面嵌入到用户集成,不容忽视。
4. 管制
4.1 Web版IDE
相比于桌面版的IDE,Web版具备更快速的部署、更统一的版本等优势,对于大型项目开发团队而言,为此牺牲一定的开发效率都可以接受。
4.2 版本管理
企业级应用的高复杂度和频繁的需求变更决定了版本管理的重要性。事实上,在专业开发领域,版本管理已经成了标配,并基于此衍生出了完整的项目管理方法论。
4.3 代码仓库管理
与代码类似,用户使用低代码工具开发的资产也是公司或团队的财富,如何安全可靠的保存这些资产,将其存放在位于局域网或互联网的Git等代码库,配置访问权限是个好思路。
4.4 局域网部署
在中国,依然有很多企业对数据和应用程序的可控性提出非常严苛的要求,如果用户需要为他们开发核心业务系统,支持局域网部署,在完全没有互联网的情况下也可以开发、部署和使用就成为不得不面对的现实。
国内外典型产品横评
为了直观的展示核心能力体系,我选取了国内外几个典型的低代码开发平台产品(outsystems、PowerApps、活字格、钉钉宜搭)进行横评。这里的评价仅为定性,不涉及定量。一家之言,仅供参考。
如果你在实际项目中使用过某个低代码平台,欢迎使用这套体系对该产品进行评价,回复到评论中,供大家参考。