一文全面了解低代码
![一文全面了解低代码](https://static001.geekbang.org/infoq/44/444d13478cb09124712cc8da5a959ec4.jpeg)
一、低代码概况
2014 年,Forrester 提出了低代码的概念。低代码是一种软件开发技术,衍生于软件开发的高级语言,让使用者通过可视化的方式,以更少的编码,更快速地构建和交付应用软件,全方位降低软件的开发、配置、部署和培训的成本。
![](https://static001.geekbang.org/infoq/fb/fb4a4d19277eae46770738a92b47309d.png)
二、低代码构成
可视化设计器:具备可视化定义 UI,工作流和数据模型的设计器,且在必要时可以支持手写代码。
服务器程序:承载可视化设计器构建的应用,供最终用户通过多终端访问,具体形式如私有化部署的服务程序、运行在云端的容器或服务等。
各种后端或服务的连接器:能够自动处理数据结构,存储和检索。有些低代码开发平台将其集成到了可视化设计器中。
应用程序生命周期管理器:用于测试、暂存、构建、调试、部署和维护应用程序的自动化工具。
三、低代码开发者
CPE 从事低代码开发人员可以分成两类:服务于企业 IT 部门或软件的公司的 IT 技术人员;以及来自业务部门,本职工作与 IT 无关但参与到软件开发中的业务开发者。
1)低代码赋能 IT 技术人员--低代码
这里的 IT 技术人员是与“业务开发者”相对的概念,特指在企业或信息化提供商中,本职工作为企业信息化相关的技术人员,典型岗位有项目经理、架构师、程序员、测试人员、实施和运维人员、DevOps 等。
2)低代码赋能业务人员--零代码
在低代码技术被命名之前,研究机构提出了“业务开发者、平民开发者”的概念。在传统的编码开发时代,业务开发者较为少见,有能力从事辅助性软件开发的业务人员主要集中在数据分析师、软件公司的程序员等具备编程能力的人群。低代码技术的出现,让更多的业务人员可以成为业务开发者,比如构建订单管理应用的销售主管、人事档案系统的 HR、库存盘点 APP 的库管人员等。
![](https://static001.geekbang.org/infoq/6f/6f21a439d3d8ae8d21014c1585634793.png)
四、低代码核心技术概念
1.数据结构
这里的数据结构指数据表和数据字段,类似于数据库中的表及字段的概念,也类似于 Excel 中表及字段的概念。低代码编程的数据结构是完全托管的,用户可以创建任意的数据表,选择各类型字段。
2.数据关联
关系型数据库核心价值所在,多个业务表之间的关联关系,反应的是业务对象之间的联系。在综合性应用中表之间的关联往往是多层级,错综复杂的。通过代码模板,可以生成绝大多数可用代码。
3.枚举项
一般意义上也叫下拉项,实际业务中有不少的变化。前端可以表现为单选框,多选框,级联选择框。例如城市、职位、状态、流程等。低代码编程的枚举型也遵从通用编码的原则,定义的枚举项可以绑定到不同字段,使得不同字段使用同一枚举项,内部编码一致。
4.用户及角色
用户指的是软件或平台的使用人员。大概可分为匿名用户,注册用户,内部用户等。角色是用户可用功能的集合,很多时候,一个用户有多个角色权限。例如电商平台通用角色有普通用户、客服、仓库、管理员等。绝大多数的权限控制,都是通过角色来完成。低代码编程,一般内置了完善的人员角色体系,不同应用仅需做相应的配置。
5.配置页面
配置页面是低代码编程区别于传统编程的一个特点。通过页面类型、组件、元素、属性、参数等一系列的配置,直接形成可供终端用户使用的功能。拿常见的表单页举个例子,前后端可用通用编码技术编写,引用现有的封装大大提升效率,省去很多开发时间。配置型的表单,短时间内可以实现非常复杂的功能,很功能丰富的 ERP 软件,也是通过这种方式实现。前后端事件的加入,使得页面的灵活性更高。
6.路由
工程化的前端项目中,指的是页面导航的路径,替代了原来纯链接的做法。菜单上绑定不同的路由,达到访问不同页面的目的。低代码编程,通过重写路由,来实现完整的前后端自定义功能。
7.函数与事件
主要分为全局事件和页面事件两大类。目前云市场上有个比较热门的服务 serverless,就是通过编写函数,来实现后端功能。低代码编程的后端事件基本等效于 serverless 服务端。低代码编程有着更完善的上下文引用,使得函数与事件交叉引用更加灵活,同时提供了大量的封装,代码量远小于通用编程。
8.菜单
低代码编程允许完全自定义多层级菜单,菜单通过路由的绑定来访问系统的不同功能页,可以灵活性授权,基于不同的角色展示的菜单可能完全不一样。
9.权限体系
权限体系包含各种授权设置,绝大多数情况,可以配置化完成。为了灵活起见,保留了代码设置权限的能力。主要包含模块权限、菜单权限、页面权限、数据行权限、路由权限、流程权限等。
四、低代码能力
➪ 全栈可视化编程:可视化包含两层含义,一个是编辑时支持的点选、拖拽和配置操作,另一个是编辑完成后所及即所得的预览效果。传统代码 IDE 也支持部分可视化能力,但低代码更强调的是全栈、端到端的可视化编程,覆盖一个完整应用开发所涉及的各个技术层面。
➪ 全生命周期管理:作为一站式的应用开发平台,低代码支持应用的完整生命周期管理,即从设计阶段开始,历经开发、构建、测试和部署,一直到上线后的各种运维及运营。
➪ 低代码扩展能力:使用低代码开发时,大部分情况下仍离不开代码,因此平台必须能支持在必要时通过少量的代码对应用各层次进行灵活扩展,比如添加自定义组件、修改主题 CSS 样式、定制逻辑流动作等。一些可能的需求场景包括:UI 样式定制、遗留代码复用、专用的加密算法、非标系统集成。
![](https://static001.geekbang.org/infoq/ef/ef22efdf63fc3a904df3e7c377d1890f.png)
五、低代码技术应用价值及趋势
在这个大爷大妈满嘴都“互联网+”和“数字化转型”的时代,企业越来越需要通过应用来改善企业内部的信息流转、强化与客户之间的触点连接。低代码开发平台可以显著提升软件开发的效率,更简单、更快速地构建个性化应用,打造数字化平台,可广泛应用于各行业数字化转型升级。
中国的低代码产业于 2019 年进入高速发展阶段,目前已有近百家低代码厂商推出了不同类型的低代码平台产品,形成了多种商业模式与渠道模型。无论是企业信息化部门还是软件公司都能从中找到与自身诉求和状况相匹配的解决方案。
![](https://static001.geekbang.org/infoq/bc/bc8a292168de14772436919cdccfa6bf.png)
国内做的不错的低代码有 JNPF。JNPF 平台由具备 10 多年系统开发经验和企业项目交付经验的技术团队倾力打造而成的企业级低代码平台。支持多国语言切换搭建界面,业务流程只需要“拖拉拽”方式、少量或完全不需要编写代码即可搭建,操作起来就像搭积木一样简单,会玩电脑就可以开发软件。
链接:http://www.jnpfsoft.com/?infoq,如果你感兴趣,也体验一下。
JNPF 的优势就在于它能生成前后台代码,提供了极大的灵活性,能够创建更复杂、定制化的应用。它的架构设计也让开发者无需担心底层技术细节,能够专注于应用逻辑和用户体验的开发。
通过可视化拖拽的方式,传统模式下需要 2 周完成开发的应用,用 JNPF 只要 2 小时。用 JNPF 搭建应用,你只需要关注业务本身。数据存储、运行环境、服务器、网络安全等,平台为你全部搞定。
![](https://static001.geekbang.org/infoq/70/70cdc0aefd092ed749145a994efac4a9.png)
版权声明: 本文为 InfoQ 作者【树上有只程序猿】的原创文章。
原文链接:【http://xie.infoq.cn/article/adec093d628821d642c221a8f】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论