面向DevOps开发生命周期的企业低代码平台:开源与低代码协议的完美结合

发表时间: 2022-07-05 23:17

一飞开源,介绍创意、新奇、有趣、实用的免费开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

面向 DevOps 开发生命周期管理的企业低代码平台,全新支持 amis / Enterprise Low Code DevOps Platform, Open source alterative to Salesforce Developer Experience (DX).

华炎魔方是 Salesforce Developer Experience (DX) 的开源替代方案,遵循低代码协议,将低代码技术与 DevOps 工具 结合,实现敏捷开发的新高度。

二、开源协议

使用MIT开源协议

三、界面展示

四、功能概述

华炎魔方(开源社区版)功能

华炎魔方开源社区版基于MIT协议,包含开发工具的所有必备功能,不限制用户数。基于华炎魔方开发的软件包可以任意销售而无需支付授权费用。

  • 创建自定义应用程序:华炎魔方基于元数据驱动,把传统通过代码实现的业务需求抽象为可配置的元数据 ,只需点击⿏标修改配置项,就能实现绝⼤多数业务需求,必要时仍可编写代码。
  • 自定义字段: 基本字段类型、相关表、主表/子表、公式字段、累计汇总字段、自动编号字段。
  • 权限引擎:华炎魔方基于权限集为每一个对象设置权限,支持公司级、记录级、字段级的权限控制。
  • API引擎: 华炎魔方自动为业务对象生成 GraphQL API, API自带身份验证并于华炎魔方权限引擎集成,实现数据权限控制。
  • 审批王:审批王是华炎自主研发的流程引擎,功能可媲美泛微且完全免费。系统内置了流程设计、流程运行、管理维护、统计分析与流程优化等各类工具,帮助企业快速部署、有效监控并持续优化业务审批过程。
  • 报表:使用华炎魔方的可视化报表工具,您可以快速配置统计图表,包括数据列表、分组报表、数据透视图、柱状图、饼图等,方便查看、分析和决策。
  • Dashboard: 连接第三方数据源,编写SQL语句,可视化设计各种统计图并汇总显示在仪表盘中。
  • JsReport报表: 可视化编写代码,开发自定义报表。
  • 自动化工具:系统内置了批准过程、工作流规则、验证规则等自动化工具,通过设定自动化工具,可以在特定条件下自动化创建和更新记录、发送邮件、短信或系统内通知,也可以自动调用第三方系统的接口。
  • 数据导入: 根据对象字段,配置Excel导入模版,通过Excel将数据批量导入到华炎魔方中。
  • 华炎魔方DX: 华炎魔方DX包含一组 Visual Studio Code 插件,帮助您将可视化界面定义的元数据导出为源码,您可以进一步编写代码,实现高级业务逻辑功能。你可以在熟悉的环境中开发、调试、打包、发布华炎魔方软件包,并管理您的项目版本。
  • 软件包打包、发布

五、技术选型

基于元数据

元数据是华炎魔方技术架构的核心。华炎魔方使用元数据定义对象,字段,配置,代码,逻辑和页面布局,并基于这些元数据自动生成系统的数据结构以及Steedos应用程序的用户界面和自动化逻辑。

快速向导

部署华炎魔方平台

部署华炎魔方平台后,可以下载、安装和运行华炎魔方软件包,可以使用低代码可视化设计工具创建自定义应用程序。如需同步和编写代码,请参考后续步骤部署开发环境。

  • 开通华炎魔方云服务
  • Docker 私有部署
  • 版本升级

Gitpod 部署远程开发环境

无论是使用华炎魔方作为开发工具来开发项目,还是调试运行华炎魔方平台源码,都需要安装开发环境,我们推荐使用 Gitpod 来启动远程开发环境,以免去本地安装开发环境的繁琐过程。

远程开发环境已经安装并初始化好必须的组件,包括 nodejs, mongodb, redis, vscode 等,详情请参考教程 启动远程开发环境。

技术框架

服务端

华炎魔方服务端使用nodejs开发,您定义的元数据,和系统中录入的业务数据均保存在mongodb中。

  • MongoDB 版本 >= 4.2, 华炎魔方使用 MongoDB 作为元数据仓库和默认数据源.
  • Node.js 版本 >= 12。华炎魔方平台源码运行于 nodejs 环境。
  • Meteor: 基于 Meteor 开发环境魔方元数据解释引擎(steedos-server)。
  • Moleculer: 基于 Node.js 的响应式微服务框架。
  • GraphQL: 华炎魔方自动为业务对象生成 GraphQL API。
  • Lerna: 多包管理工具,用于管理和批量发布 npm 软件包。

前端

华炎魔方前端使用 React 开发表单、列表视图控件,并基于 Meteor 实现完整界面。

  • Ant Design ProForm: 基于 ProForm 开发表单控件,根据自定义对象动态创建表单、操作业务数据。
  • Salesforce Lightning Design System: Salesforce 开源的企业软件设计标准和样式库。React 控件库
  • Tailwind CSS: 直接用class表述样式,而无需编写和维护css文件。
  • AG Grid: 因为ProTable功能太弱,我们选择 AG Grid 构建列表视图控件。
  • Redash: 引入Redash部分前端源码,开发查询设计器、图表设计器、仪表盘设计器。
  • Mobx React Lite:基于Mobx React Lite实现华炎魔方的React Store。

源码目录索引

  • Docs/Diagrams: 华炎魔方设计文档。
  • Steedos Server: 华炎魔方最终打包运行的是一个Meteor项目,其源码都在该文件夹内。Meteor功能包: 这里每个文件夹都是华炎魔方Meteor项目依赖的各种功能包。
  • Steedos Server Build: Creator项目源码最终打包编译生成的文件都在该文件夹内,最终会发布为 NPM 包在华炎魔方项目中引用即可。
  • NPM Packages: 华炎魔方各种内核功能包,其内每个子文件夹都是一个标准的NPM包。Standard Objects: 内核标准对象的定义文件。
  • Moleculer Services: 华炎魔方采用的是Moleculer微服务架构,这里存放的是各种微服务功能包,其内每个子文件夹都是一个标准的NPM包。

NPM Scripts说明

本项目主要提供以下可执行的脚本命令:

  • bootstrap: 执行 lerna bootstrap 根据源码中各个NPM包中配置的依赖包建立它们之前的引用关系。
  • build: 执行 lerna run prepare 根据源码中各个NPM包之前的依赖关系依次执行各个NPM包内 prepare 指令打包所有需要打包的NPM包。
  • ver: 执行 lerna version 在发版本前把源码中所有需要发包的NPM包的版本号统一升级到下一个指定版本。
  • pub: 执行 lerna publish 把源码中所有需要发包的NPM包发布正式版到 NPM仓库 中。
  • pub_next: 执行 lerna publish 把源码中所有需要发包的NPM包发布测试版到 NPM仓库 中。

脚本具体内容请查阅 package.json 文件中的 scripts 属性。

六、源码地址

访问一飞开源:https://code.exmay.com/