Tip

このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください

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は小さなタスク(例:プロパティの設定、イベントのトリガー、APIの呼び出し)を実行します。これは、水が水門や水車を通過する際に、それに応じた作用が起こるのと同様です。

  • 流れは順序付けられています 水は決められた経路で上流から下流へ、すべてのStepを順に通過します。同様に、Flow内のロジックも定義された順序で実行されます。

  • 流れは分岐・結合できます 一本の水流が複数の小さな流れに分かれたり、一つに合流したりできるのと同様に、Flowも複数のサブフローに分解したり、より複雑なロジックチェーンに結合したりできます。

  • 流れは設定可能で制御可能です 水流の方向や流量は水門で調整できます。Flowの実行方法やパラメータも、設定(stepParams)を通じて制御できます。

例えのまとめ

  • コンポーネントは水車のようです。水流に押されて初めて回転します。
  • Model はこの水車の土台とコントローラーであり、水流を受け取り、その動作を駆動する役割を担います。
  • Flow はその水流であり、各Stepを順に通過し、コンポーネントを絶えず変化させ、応答を促します。

したがって、FlowEngine では:

  • Flow はロジックが水の流れのように自然に流れるようにします
  • Model はコンポーネントをこの流れの担い手であり、実行者とします