介绍
提示
低码 Kit 即云梯低码平台(以下简称“云梯”)
目标
云梯依托 Low-Code Engine(低代码引擎)和具有 Git 特性的关系数据库 Dolt 打造,目标是实现从开发、测试到上线的全链路低码化。用户可以使用云梯进行组件、页面的可视化搭建,也可以像使用 Git 一样对低代码应用进行协作开发和版本管理。
架构概述
云梯总体架构分为三层:
- 数据库层:数据库采用 Dolt,Dolt 可以像 Git 一样管理数据,这样云梯就拥有了协作和版本管理能力,用户使用云梯搭建应用跟使用 Git 开发应用一样,可以进行多人协作和版本管理
- 后端 yunti-server:后端基于 Nest.js 开发,通过 TypeOrm 与 Dolt 数据库进行交互,提供 GraphQL API 供前端调用,为了方便前端对接 API,通过 GraphQL code generator 工具生成了 API SDK 并发布成 npm 包供前端直接使用,降低了 API 对接成本
- 前端 yunti-console:基于 Umi.js 开发,主要由以下 2 个模块组成:
- 低代码编辑器:基于 Low-Code Engine 低代码引擎扩展而来,目前有页面编辑器和组件编辑器,后期还可以扩展
- 平台管理模块:对应用、组件、区块等进行增删改查
还有一些基础设施,架构图中没有体现,例如私有 npm 仓库及私有 unpkg 等。
特点和优势
基于以上架构,云梯具有以下技术特点和优势:
- 可视化组件、页面搭建:通过简单的拖拽完成应用页面开发,对前端技能没有要求或不需要特别专业的了解;
- 标准化协议:标准化协议是低代码生态的基础,是打破物料孤岛的关键
- 《低代码引擎搭建协议规范》:描述源码物料规范和搭建物料规范
- 《低代码引擎物料协议规范》:描述低代码搭建平台产物的 Schema 结构
- 《低代码引擎资产包协议规范》:描述低代码平台资产包结构
- 设计器易于扩展:物料、插件、设置器等都可以扩展
- 优秀的出码能力:定制化的出码插件,可将低码应用的 schema 转化为代码输出,输出的代码可读性强,可作为基础应用做定制扩展开发
- 完备的协作和版本管理功能:支持像使用 Git 一样对低代码应用进行协作搭建和版本管理
- “Serverless”:无需关心服务器、数据库等底层运维、计算设施设备、网络等等复杂技术概念,具备安全、性能的统一解决方案,开发者只需要专注于业务本身;
- 可视化服务与数据开放、集成:具备与其他系统互联互通的配置;
未来规划
- BFF 层低码化探索
- 可视化模型设计:与业务相关的数据存储变得更容易理解,甚至大多数简单场景可以做到表单即模型,模型字段的类型更加业务化;
- API 编排:编排 OpenAPI 等为 BFF 层提供数据源
- 自动化测试:探索基于低码的自动化测试方案
- AIGC 辅助工具:探索 AIGC 在低码平台的应用
- 扩展更多的编辑器
- 可视化流程设计,不管是业务流程还是审批流程,都可以通过简单的点线连接来进行配置;
- 可视化报表及数据分析: BI 数据分析能力成为标配,随时随地通过拖拽选择来定义自定义分析报表;
- 权限、角色设置标准化和业务化:通过策略规则配置来将数据、操作的权限进行精细化管理;