---
title: "FlowEngine 概述"
description: "FlowEngine 是 NocoBase 2.0 前端无代码/低代码开发引擎，Model 与 Flow 结合，简化前端逻辑与可配置编排，支持 FlowModel、事件流、JS 模型扩展。"
keywords: "FlowEngine,无代码,低代码,FlowModel,Flow,事件流,可编排,前端引擎,NocoBase"
---

# FlowEngine 是什么？

FlowEngine 是 NocoBase 2.0 全新推出的前端无代码、低代码开发引擎。它将模型（Model）与流（Flow）结合，简化前端逻辑、提升复用性与可维护性；同时，借助 Flow 的可配置能力，为前端组件和业务逻辑赋予无代码化的配置与编排能力。

## 为什么叫 FlowEngine？

因为在 FlowEngine 中，组件的属性和逻辑不再是静态定义的，而是通过 **流（Flow）** 来驱动和管理。

* **Flow** 像数据流一样，将逻辑拆解为有序的步骤（Step），逐步作用于组件；
* **Engine** 表达了这是一个驱动前端逻辑和交互的引擎。

所以，**FlowEngine = 由流驱动的前端逻辑引擎**。

## 什么是 Model？

在 FlowEngine 里，Model 是组件的抽象模型，负责：

* 管理组件的 **属性（Props）和状态**；
* 定义组件的 **渲染方式**；
* 承载并执行 **Flow**；
* 统一处理 **事件分发** 和 **生命周期**。

换句话说，**Model 是组件的逻辑大脑**，让组件从静态变成可配置、可编排的动态单元。

## 什么是 Flow？

在 FlowEngine 里，**Flow 是服务于 Model 的逻辑流**。
它的作用是：

* 将属性或事件逻辑拆解成步骤（Step），按流的方式依次执行；
* 可以管理属性变化，也可以管理事件响应；
* 让逻辑变得 **动态化、可配置化、可复用**。

## 如何理解这几个概念？

可以把 **Flow** 想象成一条 **水流**：

* **Step 就像水流途径的节点**
  每个 Step 都承担一个小任务（例如设置属性、触发事件、调用接口），就像水流经过某个闸门或水车时会发生相应的作用。

* **流是有序的**
  水流会按照既定的路径从上游到下游，依次经过所有 Step；同样，Flow 里的逻辑会按照定义的顺序执行。

* **流是可分叉和组合的**
  一条水流可以分成多股小流，也可以汇聚在一起；Flow 也可以拆分为多个子流，或者组合成更复杂的逻辑链路。

* **流是可配置和可控制的**
  水流的方向和流量可以通过水闸来调整；Flow 的执行方式和参数也可以通过配置（stepParams）来控制。

比喻总结

* **组件** 就像是一台水车，需要有水流推动才能转动；
* **Model** 就是这台水车的底座和控制器，负责接收水流并驱动运作；
* **Flow** 就是那条水流，按顺序经过每个 Step，推动组件不断变化和响应。

所以在 FlowEngine 中：

* **Flow 让逻辑像水流一样自然流动**；
* **Model 则让组件成为水流的承载体和执行者**。
