可能是最好的低代码逻辑编排方式:Blueprint(蓝图)

555 阅读6分钟

近年来,零代码和低代码开发变得非常流行。逻辑编排也备受关注,它是零代码和低代码开发方案的重要组成部分。业界许多优秀的团队推出了多种可视化的逻辑编排方案。零壤是一个在低代码领域深耕多年的团队,他们也提出了自己的低代码可视化逻辑编排方案:Blueprint,中文名:“蓝图”。

蓝图是什么

蓝图一般称为Visual Programming或者Blueprint Programming,最早由虚幻引擎在UE4中提出,用于创建游戏和交互式应用程序。它允许开发人员使用图形化界面来创建代码逻辑,而不需要编写传统的代码。蓝图可以用于创建游戏中的角色、AI、关卡、特效、动画等各种元素,同时也可以用于创建交互式应用程序中的用户界面、逻辑流程等。

蓝图使用节点和连线来表示代码逻辑,节点代表代码块,连线代表代码执行的顺序。开发人员可以通过拖放节点、设置参数、连接节点等方式来创建代码逻辑。蓝图还提供了许多内置节点和功能,例如数学计算、条件判断、循环、函数调用等,使得开发人员可以更加高效地创建复杂的代码逻辑。

早期的零代码或者低代码开发一般通过BPM实现了业务流程搭建。而随着需求的复杂化,基于BPMN标准实现的流程引擎已经难以满足越来越复杂的业务需求,低/零代码平台对于图灵完备的业务逻辑编排需求也更加强烈。在这样的背景之下,零壤团队将蓝图引入到低代码应用开发平台中,以实现灵活的业务逻辑编排。

蓝图架构,随便画了画

从技术层面来看,蓝图是一种通用的编程语言设计,可以在几乎所有高级编程语言中实现。目前,零壤已经成功实现了对JavaScript和Java的蓝图支持。

一个比较典型的蓝图节点

这是一个比较典型的蓝图节点:

  1. “输入”、“输出”点分别连接逻辑的上下文;
  2. 左侧的输入参数,可以连接任意的变量和上文节点的输出;
  3. 右侧的输出结果,可以连接到下文节点的输入;

蓝图的使用

变量的创建和编辑

在程序中,变量是一种可以存储数据的容器。变量可以存储各种类型的数据,例如数字、文本、布尔值等,也可以是自定义的数据类型,如数组、结构体等。变量的作用在于,它可以在程序中存储数据,并且可以在程序执行过程中改变其值。这使得程序更加灵活和可扩展。

在Web应用开发中,零壤平台已经适配了目前国内最广泛应用的Vue.js框架。在蓝图中,通过切换至变量视图,我们可以轻松地创建变量,并设置变量名称、默认值等属性。这些创建的变量最终将被翻译为.vue文件中的data。

方法逻辑的创建和信息编辑

蓝图允许用户创建function,JavaScript中的function是一种可重复使用的代码块,它可以接受输入参数并返回输出结果,或者执行一些任务,修改页面渲染效果等。

创建一个新方法非常简单,从左侧的列表拖入一个自定义方法到列表视图中,选中以后再右侧的配置面板中设置信息即可。

方法逻辑的编辑

从资源列表中,可以拖入各种节点编排逻辑;

在本例中,我们创建了两个变量,分别是“number1”和“number2”,使用一个加法节点将这两个变量相加,最后的结果通过一个“消息提醒”节点弹出;

代码生成

点击保存按钮,会调用翻译器生成蓝图对应的JavaScript代码。

count: function () {
  const _this = this;
  var _tt_temp_var_0 = this['number1'] + this['number2'];
  this.$Message.success({ content: _tt_temp_var_0 });
}

这里我们可以看到已经将对应的代码生成了出来。

蓝图的优势和劣势

我们都知道,在软件开发中没有银弹。蓝图作为一种优秀的可视化逻辑编排方案,在有不少优点的同时,也会存在相应的缺点,我们对此要求比较清楚的认知。

优势:

  1. 可视化编程:蓝图采用可视化编程的方式,可以让开发者更直观地看到整个应用的逻辑的结构和流程,降低了编程的难度。
  2. 代码复用:蓝图中的节点可以被保存为自定义的函数,可以在其他蓝图中重复使用,提高了代码的复用性。
  3. 实时预览:在蓝图中修改逻辑后,可以实时预览修改后的效果,方便调试和优化。
  4. 可视化调试:蓝图中的节点可以被单独调试,可以更方便地查找和解决问题。
  5. AI能力:一些复杂的计算过程和获取参数等需求,可以通过自然语言描述,自动生成。

劣势:

  1. 复杂度:异常复杂业务逻辑在蓝图中的实现也会相应的复杂。
  2. 学习成本:蓝图的使用需要一定的学习成本,需要掌握节点的使用和连接方式,对于没有编程经验的开发者来说可能会有一定的难度。
  3. 灵活性受限:蓝图中的节点是预定义的,不能像编写代码一样自由地构建逻辑,一些复杂的逻辑可能需要用代码来实现。

未来

未来,我们会考虑将零壤低代码中的蓝图系统进行开源。如果你觉得蓝图对于你是有价值的,可以在评论区评论,如果呼声足够高,我们可能会提前开源哦

零壤低代码

零壤ORANG低代码是高效率、高性能的拖拽式低代码应用开发平台,向上连接前端的行业业务,向下连接云计算的海量能力,助力企业垂直上云。零壤ORANG将复杂的底层架构和基础设施抽象化为图形界面,通过行业化模板、拖放式组件和可视化配置快速构建多端应用,包括手机App、Web 应用、微信小程序等,省却了代码编写工作,让使用者能够完全专注于业务场景,聚焦于业务本身。零壤ORANG以云DevOps作为底层支撑,集成了领先的MSP云原生能力,将应用搭建的整条链路完全打通,提供高度开放和高效的开发环境,时刻为应用开发者提供稳定的运行监控和态势感知能力。

ORANG​orang.cloud/