เอกสารนี้แปลโดย AI หากมีข้อมูลที่ไม่ถูกต้อง โปรดดูเวอร์ชันภาษาอังกฤษ
FlowEngine คือเอนจินพัฒนาส่วนหน้าแบบ No-code/Low-code ใหม่ล่าสุดที่ NocoBase 2.0 เปิดตัว โดยผสาน Model และ Flow เข้าด้วยกัน เพื่อลดความซับซ้อนของตรรกะส่วนหน้า เพิ่มความสามารถในการนำกลับมาใช้ใหม่ และปรับปรุงการบำรุงรักษา ขณะเดียวกัน ด้วยความสามารถในการกำหนดค่าของ Flow ทำให้ FlowEngine มอบความสามารถในการกำหนดค่าและจัดเรียง (orchestration) แบบ No-code ให้กับคอมโพเนนต์ส่วนหน้าและตรรกะทางธุรกิจ
เพราะใน FlowEngine คุณสมบัติและตรรกะของคอมโพเนนต์ไม่ได้ถูกกำหนดแบบคงที่อีกต่อไป แต่ถูกขับเคลื่อนและจัดการด้วย Flow
ดังนั้น FlowEngine = เอนจินตรรกะส่วนหน้าที่ขับเคลื่อนด้วย Flow
ใน FlowEngine, Model คือโมเดลนามธรรมของคอมโพเนนต์ ซึ่งมีหน้าที่รับผิดชอบในสิ่งต่อไปนี้:
กล่าวอีกนัยหนึ่ง Model คือสมองเชิงตรรกะของคอมโพเนนต์ ที่เปลี่ยนคอมโพเนนต์จากหน่วยคงที่ให้กลายเป็นหน่วยแบบไดนามิกที่สามารถกำหนดค่าและจัดเรียงได้
ใน FlowEngine, Flow คือกระแสของตรรกะที่ทำงานเพื่อ Model โดยมีวัตถุประสงค์เพื่อ:
ลองจินตนาการว่า Flow คือ กระแสน้ำ:
Step เปรียบเสมือนจุดแวะพักตามเส้นทางของกระแสน้ำ แต่ละ Step จะทำหน้าที่เล็กๆ อย่างหนึ่ง (เช่น การตั้งค่าคุณสมบัติ, การเรียกใช้เหตุการณ์, การเรียกใช้ API) เหมือนกับที่กระแสน้ำส่งผลเมื่อไหลผ่านประตูน้ำหรือกังหันน้ำ
Flow มีลำดับ กระแสน้ำจะไหลไปตามเส้นทางที่กำหนดจากต้นน้ำสู่ปลายน้ำ โดยผ่านทุก Step ตามลำดับ เช่นเดียวกับตรรกะใน Flow ที่จะถูกดำเนินการตามลำดับที่กำหนดไว้
Flow สามารถแตกแขนงและรวมกันได้ กระแสน้ำสามารถแยกออกเป็นหลายสายเล็กๆ หรือรวมกันได้ Flow ก็เช่นกัน สามารถแยกออกเป็น Flow ย่อยหลายๆ อัน หรือรวมกันเป็นสายโซ่ตรรกะที่ซับซ้อนยิ่งขึ้น
Flow สามารถกำหนดค่าและควบคุมได้ ทิศทางและปริมาณของกระแสน้ำสามารถปรับได้ด้วยประตูน้ำ วิธีการทำงานและพารามิเตอร์ของ Flow ก็สามารถควบคุมได้ผ่านการกำหนดค่า (stepParams)
ดังนั้น ใน FlowEngine: