logologo
התחלה
מדריך
פיתוח
תוסף
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
התחלה
מדריך
פיתוח
תוסף
API
logologo

מבוא

מהו FlowEngine?
FlowEngine והקשר ל-Plugin
התחלה מהירה
מפת דרכים ללמידה

מדריך

רישום FlowModel
יצירת FlowModel
רינדור FlowModel
FlowModel: זרימת אירועים וקונפיגורציה
FlowModel Persistence
FlowModel Lifecycle
מערכת הקונטקסט של FlowModel
מנגנון ריאקטיבי: Observable
FlowModel vs React.Component

Definitions

ModelDefinition
FlowDefinition
EventDefinition
ActionDefinition
StepDefinition
Next PageFlowEngine והקשר ל-Plugin
TIP

מסמך זה תורגם על ידי בינה מלאכותית. לכל אי דיוק, אנא עיין בגרסה האנגלית

#מהו FlowEngine?

FlowEngine הוא מנוע פיתוח חדש ללא קוד/בקוד נמוך עבור ממשק המשתמש (frontend), שהושק ב-NocoBase 2.0. הוא משלב מודלים (Model) ו-Flows כדי לפשט את הלוגיקה של ממשק המשתמש ולשפר את יכולת השימוש החוזר והתחזוקה. במקביל, הוא ממנף את יכולת ההגדרה של Flows כדי לספק יכולות תצורה ותזמור ללא קוד עבור רכיבי ממשק המשתמש ולוגיקה עסקית.

#מדוע הוא נקרא FlowEngine?

מכיוון שב-FlowEngine, המאפיינים והלוגיקה של רכיב אינם מוגדרים באופן סטטי, אלא מונעים ומנוהלים באמצעות Flows.

  • Flow, בדומה לזרם נתונים, מפרק לוגיקה לשלבים (Steps) מסודרים, המיושמים בהדרגה על הרכיב.
  • Engine מבטא שמדובר במנוע המניע את הלוגיקה והאינטראקציות של ממשק המשתמש.

לכן, FlowEngine = מנוע לוגיקה של ממשק המשתמש המונע על ידי Flows.

#מהו Model?

ב-FlowEngine, מודל (Model) הוא מודל מופשט של רכיב, האחראי על:

  • ניהול המאפיינים (Props) והמצב של הרכיב.
  • הגדרת אופן הרינדור של הרכיב.
  • אירוח וביצוע Flows.
  • טיפול אחיד בהפצת אירועים ובמחזורי חיים.

במילים אחרות, מודל הוא המוח הלוגי של רכיב, ההופך אותו מיחידה סטטית ליחידה דינמית הניתנת להגדרה ולתזמור.

#מהו Flow?

ב-FlowEngine, Flow הוא זרם לוגי המשרת מודל. מטרתו היא:

  • לפרק לוגיקת מאפיינים או אירועים לשלבים (Steps) ולבצע אותם ברצף כזרם.
  • לנהל שינויים במאפיינים וגם תגובות לאירועים.
  • להפוך את הלוגיקה לדינמית, ניתנת להגדרה וניתנת לשימוש חוזר.

#כיצד להבין את המושגים הללו?

אפשר לדמיין את Flow כזרם מים:

  • שלב (Step) הוא כמו צומת לאורך זרם המים כל שלב מבצע משימה קטנה (לדוגמה, הגדרת מאפיין, הפעלת אירוע, קריאה ל-API), בדיוק כפי שזרם מים משפיע כשהוא עובר דרך שער מים או גלגל מים.

  • Flows הם סדורים זרם מים עוקב אחר נתיב קבוע, מהמעלה למורד הזרם, ועובר דרך כל השלבים ברצף; באופן דומה, הלוגיקה ב-Flow מבוצעת לפי הסדר המוגדר.

  • Flows ניתנים לפיצול ולשילוב זרם מים יכול להתפצל למספר זרמים קטנים יותר או להתמזג יחד; Flow יכול גם להתפרק למספר תתי-Flows או להתחבר לשרשראות לוגיות מורכבות יותר.

  • Flows ניתנים להגדרה ולשליטה כיוון וקצב זרם המים ניתנים להתאמה באמצעות שער מים; אופן הביצוע והפרמטרים של Flow ניתנים לשליטה גם באמצעות תצורה (stepParams).

סיכום האנלוגיה

  • רכיב הוא כמו גלגל מים שזקוק לזרם מים כדי להסתובב.
  • מודל הוא הבסיס והבקר של גלגל המים הזה, האחראי על קבלת זרם המים והנעת פעולתו.
  • Flow הוא זרם המים הזה, העובר דרך כל שלב (Step) בסדר מסוים, ומניע את הרכיב להשתנות ולהגיב באופן מתמיד.

לכן, ב-FlowEngine:

  • Flows מאפשרים ללוגיקה לזרום באופן טבעי כמו זרם מים.
  • מודלים הופכים את הרכיבים לנושאי ומבצעי זרם זה.