一、初步认识低代码
本篇主要介绍低代码是什么、低代码平台的分类、低代码能力指标、低代码平台的行业现状,最后使用低代码前端框架 jnpf 初步搭建一个应用系统。
二、低代码是什么
低代码不是一个纯粹的编程工具,把它叫做生产力提高工具更为合适。
以前人们会在简历中写熟练使用 office等办公软件,以后人们可能会写熟练使用低代码平台(办公自动化的一种新能力)。
程序员可以跟各个部门配合,把各种重复性的、最常用的流程沉淀成服务模块,在加上低代码平台或无代码平台,普通的办公人员(即非程序员,比如运营)就能用最简单、人性化的方式把它调用出来解决问题(或流程自动化),而无需额外的程序员投入。
三、低代码平台的概念和分类
低代码这一概念由 Forrester 在 2014 年正式提出。
低代码,顾名思义,就是指开发者写很少的代码,通过低代码平台提供的界面、逻辑、对象、流程等可视化编排工具来完成大量的开发工作,降低软件开发中的不确定性和复杂性。实现软件的高效构建,无需重复传统的手动编程,同时兼顾业务人员和专业开发人员的更多参与。
广义的低代码:指所有可以帮助缺少编程基础的人员快速完成软件开发的技术和工具。
高德纳(Gartner) 认为,低代码主要有以下几个分支(或细分市场):
- 无代码开发平台
- 低代码应用平台(LCAP)
- 多重体验开发平台(MXDP)
- 智能业务流程管理套件(iBPMS)
01.无代码开发平台
无代码开发平台(或“0代码”)属于低代码平台的一种,不提供或者仅支持有限的编程扩展能力。比如用来开发内部管理类或市场营销类表单。
如果需要没有专业开发人员协助的情况下进行“非编程开发”,可以考虑它。技术门槛低,需要注意工具的能力范围(应用场景有限),它们是专门为非编程人员设计的。
02.低代码应用平台(LCAP)
LCAP 属于狭义的低代码平台,是万金油类(什么都能应付)的产品,可用来开发前端和后端的应用。
这个市场囊括了大部分低代码技术供应商。
它通过声明式的模型驱动和基于元数据的服务来提供快速的应用开发、部署和执行。
03.多重体验开发平台(MXDP)
MXDP 提供快速开发跨平台 APP 的工具,一般用来开发多平台/多终端应用。
这类产品通常提供一套包含前端开发工具和后端服务的集成套件,使开发人员(有时甚至非开发人员)能够跨各种数字设备进行应用开发。
04.智能业务流程管理套件(iBPMS)
整合了AI 等技术的业务流程管理系统突出后端流程定义和数据整合能力,一般用于解决大型企业的跨系统业务流程。
Tip:低代码平台还可以根据其他维度进行分类,比如全栈平台还是仅前端页面、通用领域还是聚焦于 erp、crm、供应链等专业领域、开源的还是收费的、国内的还是国外的等等。
四、低代码的能力指标
高德纳(Gartner) 列出了低代码平台的 11 个关键能力指标。
Tip:在选择低代码平台的时候,这些指标可以给我们提供参考。
- 易用性
易用性是低代码平台生产力的关键指标,指在不写代码的情况下能完成功能的多少。
- 用户体验
这个指标能够决定最终用户对开发者的评价。
比如给企业的客户或供应商的项目对用户体验的要求会高于企业内部用户使用的项目,对于内部(B2E)应用程序,简单的 web 表单或许就已满足。
- 数据建模和管理的便利性
这个指标就是通常所讲的”模型驱动“,模型驱动能够提供满足数据库设计方式的数据模型设计和管理能力。开发的应用复杂度越高,系统集成越高,这个能力就越关键。
- 流程与业务逻辑开发能力和效率
这个能力包含两点:
① 该低代码平台能否开发出复杂的工作流和业务。决定了项目是否可以成功交付
② 开发这些功能的便利性和易用性。决定了项目的开发成本。
- 开发平台的生态系统
低代码平台的本质是开发工具,内置的、开箱即用的功能无法覆盖全部的应用场景。这时,就得基于该平台的生态系统来提供更深入、更全面的开发能力。很多开发平台都在建立自己的插件机制,这也是平台生态的一个典型体现。
- 编程接口和系统集成能力
为避免数据孤岛,企业级应用通常需要与其他系统进行集成,协同增效。此时,内置的集成能力和编程接口就变得至关重要。除非确认在可预期的未来,项目不涉及系统集成和扩展开发。
- 支持更先进的架构和技术
开发出来的应用是否支持更先进的架构,比如对接IoT(物联网)、机器学习
此时深入了解低代码平台产品的架构就尤为重要
- 服务质量
服务质量指通常所说的”无故障使用时间“。
- 用户模型与软件生命周期的支持
软件开发整个生命周期,除了开发和交付,还有设计、测试、运维等环节。比如系统开发早期的用户模型建立和验证过程通常需要快速模拟和迭代,投入的开发力量甚至不少于正式开发。
如果一套低代码平台具备全生命周期所需的各项功能,将会大大简化开发者的技术栈,进一步提高工作效率。
开发的系统规模越大,这一能力就越重要。
- 开发管理
开发管理用于帮助开发团队负责人,降低软件开发管理过程中的各种人为风险。例如代码库权限管理、版本权限管理、发布权限管理。
现代软件开发中的敏捷开发能否在低代码中落地,也是衡量开发管理的重要指标。
开发规模越大,该指标越应当关注。
- 安全与合规
大型企业、特定行业企业(如军工、金融)通常对该指标的关注程度要更高一些。
该功能的具体体现有:支持本地部署、全SSL数据传输、密码强度策略、跨域访问控制、细粒度的用户权限控制等等。
五、低代码平台jnpf
实践出真理。我们尝试使用 jnpf 做一个应用系统。
Jnpf 是一个低代码全栈开发平台,它使用 JSON 配置来生成页面,可以减少页面开发工作量,极大提升效率。
应用地址:https://www.jnpfsoft.com/?csdn,试着自己搭建一个应用程序。
目标用户包括普通用户和开发者:
- 没写过前端页面的人员可以做出专业且复杂的后台界面,全源码自由二次开发。
- 支持扩展。支持90%低代码,10%代码开发的混合模式,既提升效率,又不失灵活。
表单
比如要实现某个样式的表单,拖拽控件自动生成可视化应用。
报表
在界面上配置一系列参数实现报表配置、在线渲染报表内容、报表导出、打印。
流程
用户对触发条件、处理节点、节点参与者进行配置,实现自定义业务流程
权限
经典的RBAC,实现了“用户——角色——权限”的授权模式。
篇幅有限,以上只是低代码开发工具的简单介绍。利用低代码工具,开发者们能够将精力更多地聚焦在实现创意和创新上,而不是被繁杂的代码所困扰。低代码平台正是你的不二选择!