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 และปลั๊กอิน
เริ่มต้นใช้งาน
แผนการเรียนรู้

คู่มือ

การลงทะเบียน FlowModel
การสร้าง FlowModel
การเรนเดอร์ FlowModel
โฟลว์เหตุการณ์และการกำหนดค่าของ FlowModel
การคงอยู่ของ FlowModel
วงจรชีวิตของ FlowModel
ระบบบริบทของ FlowModel
กลไกการตอบสนอง: Observable
FlowModel vs React.Component

Definitions

ModelDefinition
FlowDefinition
EventDefinition
ActionDefinition
StepDefinition
Next Pageความสัมพันธ์ระหว่าง FlowEngine และปลั๊กอิน
TIP

เอกสารนี้แปลโดย AI หากมีข้อมูลที่ไม่ถูกต้อง โปรดดูเวอร์ชันภาษาอังกฤษ

#FlowEngine คืออะไร?

FlowEngine คือเอนจินพัฒนาส่วนหน้าแบบ No-code/Low-code ใหม่ล่าสุดที่ NocoBase 2.0 เปิดตัว โดยผสาน Model และ Flow เข้าด้วยกัน เพื่อลดความซับซ้อนของตรรกะส่วนหน้า เพิ่มความสามารถในการนำกลับมาใช้ใหม่ และปรับปรุงการบำรุงรักษา ขณะเดียวกัน ด้วยความสามารถในการกำหนดค่าของ Flow ทำให้ FlowEngine มอบความสามารถในการกำหนดค่าและจัดเรียง (orchestration) แบบ No-code ให้กับคอมโพเนนต์ส่วนหน้าและตรรกะทางธุรกิจ

#ทำไมถึงชื่อ FlowEngine?

เพราะใน FlowEngine คุณสมบัติและตรรกะของคอมโพเนนต์ไม่ได้ถูกกำหนดแบบคงที่อีกต่อไป แต่ถูกขับเคลื่อนและจัดการด้วย Flow

  • Flow ทำหน้าที่เหมือนกระแสข้อมูล โดยจะแยกตรรกะออกเป็นขั้นตอน (Step) ที่จัดเรียงอย่างเป็นลำดับ และค่อยๆ นำไปใช้กับคอมโพเนนต์
  • Engine สื่อถึงการเป็นเอนจินที่ขับเคลื่อนตรรกะและการโต้ตอบของส่วนหน้า

ดังนั้น FlowEngine = เอนจินตรรกะส่วนหน้าที่ขับเคลื่อนด้วย Flow

#Model คืออะไร?

ใน FlowEngine, Model คือโมเดลนามธรรมของคอมโพเนนต์ ซึ่งมีหน้าที่รับผิดชอบในสิ่งต่อไปนี้:

  • จัดการ คุณสมบัติ (Props) และสถานะ ของคอมโพเนนต์
  • กำหนด วิธีการเรนเดอร์ ของคอมโพเนนต์
  • รองรับและดำเนินการ Flow
  • จัดการ การส่งเหตุการณ์ (event dispatching) และ วงจรชีวิต (lifecycles) อย่างเป็นระบบ

กล่าวอีกนัยหนึ่ง Model คือสมองเชิงตรรกะของคอมโพเนนต์ ที่เปลี่ยนคอมโพเนนต์จากหน่วยคงที่ให้กลายเป็นหน่วยแบบไดนามิกที่สามารถกำหนดค่าและจัดเรียงได้

#Flow คืออะไร?

ใน FlowEngine, Flow คือกระแสของตรรกะที่ทำงานเพื่อ Model โดยมีวัตถุประสงค์เพื่อ:

  • แยกตรรกะของคุณสมบัติหรือเหตุการณ์ออกเป็นขั้นตอน (Step) และดำเนินการตามลำดับแบบกระแส
  • สามารถจัดการการเปลี่ยนแปลงคุณสมบัติ รวมถึงการตอบสนองต่อเหตุการณ์
  • ทำให้ตรรกะมีความ เป็นพลวัต (dynamic), กำหนดค่าได้ (configurable) และนำกลับมาใช้ใหม่ได้ (reusable)

#ทำความเข้าใจแนวคิดเหล่านี้ได้อย่างไร?

ลองจินตนาการว่า Flow คือ กระแสน้ำ:

  • Step เปรียบเสมือนจุดแวะพักตามเส้นทางของกระแสน้ำ แต่ละ Step จะทำหน้าที่เล็กๆ อย่างหนึ่ง (เช่น การตั้งค่าคุณสมบัติ, การเรียกใช้เหตุการณ์, การเรียกใช้ API) เหมือนกับที่กระแสน้ำส่งผลเมื่อไหลผ่านประตูน้ำหรือกังหันน้ำ

  • Flow มีลำดับ กระแสน้ำจะไหลไปตามเส้นทางที่กำหนดจากต้นน้ำสู่ปลายน้ำ โดยผ่านทุก Step ตามลำดับ เช่นเดียวกับตรรกะใน Flow ที่จะถูกดำเนินการตามลำดับที่กำหนดไว้

  • Flow สามารถแตกแขนงและรวมกันได้ กระแสน้ำสามารถแยกออกเป็นหลายสายเล็กๆ หรือรวมกันได้ Flow ก็เช่นกัน สามารถแยกออกเป็น Flow ย่อยหลายๆ อัน หรือรวมกันเป็นสายโซ่ตรรกะที่ซับซ้อนยิ่งขึ้น

  • Flow สามารถกำหนดค่าและควบคุมได้ ทิศทางและปริมาณของกระแสน้ำสามารถปรับได้ด้วยประตูน้ำ วิธีการทำงานและพารามิเตอร์ของ Flow ก็สามารถควบคุมได้ผ่านการกำหนดค่า (stepParams)

#สรุปการเปรียบเทียบ

  • คอมโพเนนต์ เปรียบเสมือนกังหันน้ำที่ต้องมีกระแสน้ำมาขับเคลื่อนจึงจะหมุนได้
  • Model คือฐานและตัวควบคุมของกังหันน้ำนี้ มีหน้าที่รับกระแสน้ำและขับเคลื่อนการทำงาน
  • Flow คือกระแสน้ำนั้นเอง ที่ไหลผ่านแต่ละ Step ตามลำดับ เพื่อผลักดันให้คอมโพเนนต์เปลี่ยนแปลงและตอบสนองอย่างต่อเนื่อง

ดังนั้น ใน FlowEngine:

  • Flow ทำให้ตรรกะไหลเวียนได้อย่างเป็นธรรมชาติเหมือนกระแสน้ำ
  • Model ทำให้คอมโพเนนต์กลายเป็นตัวรองรับและผู้ดำเนินการของกระแสน้ำนี้