หากคุณมีประสบการณ์กับการเขียนโปรแกรมแบบคลาสสิกหรือแพลตฟอร์มแบบไม่มีโค้ด/โค้ดต่ำอื่นๆ อยู่แล้ว คุณจะคุ้นเคยกับแนวคิดมากมาย

AppMaster สร้างขึ้นด้วยวิธีการแบบคลาสสิกในการสร้างแอปพลิเคชัน รายการพื้นฐานใน AppMaster คือโครงการ ไม่ใช่แอปพลิเคชันเหมือนในแพลตฟอร์มอื่นๆ โปรเจ็กต์สามารถประกอบด้วยแบ็กเอนด์ เว็บ และแอปพลิเคชันมือถือหลายรายการ สถาปัตยกรรมของโซลูชัน - ไคลเอนต์เซิร์ฟเวอร์ (ไม่ใช่แบบก้อนใหญ่เหมือนใน Bubble หรือแพลตฟอร์มที่คล้ายกัน)

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

จะเริ่มต้นอย่างไร?

สำหรับโปรเจ็กต์ส่วนใหญ่ คุณจะต้องสร้างแบ็กเอนด์และเว็บ หรือแบ็คเอนด์และมือถือ หรือแม้แต่แอปพลิเคชันทุกประเภท

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

วิธีที่ตรงไปตรงมาที่สุดคือเริ่มต้นด้วยการสร้างแอปพลิเคชันส่วนหลัง

แอปพลิเคชันแบ็กเอนด์

แบ็กเอนด์ขั้นตอนที่ 1 กำหนดโมเดลข้อมูลของคุณใน Backend Data Models Designer คุณสามารถคิดว่าแต่ละรุ่นเป็นตารางในฐานข้อมูล SQL (ที่มีความสัมพันธ์) ใน AppMaster Data Models ไม่เพียงแค่ใช้เพื่อกำหนดตารางฐานข้อมูลหลักเท่านั้น แต่ยังใช้เป็นการประกาศโครงสร้างในโครงการอีกด้วย เช่น ถ้าตรรกะของคุณใช้โมเดลข้อมูล 'ผู้ใช้' คุณจะมั่นใจได้ว่าโครงสร้างใดๆ ของประเภทนั้นจะมีฟิลด์ชุดเดียวกัน

คลิกขวาบนผืนผ้าใบของ Data Models Designer เพื่อสร้างแบบจำลองใหม่ และลากจากเส้นขอบแบบจำลองหนึ่งไปยังเส้นขอบแบบจำลองอื่นเพื่อสร้างความสัมพันธ์ คลิกที่ฟิลด์ความสัมพันธ์หรือแบบจำลองเพื่อแก้ไข

ระวังคุณสมบัติของฟิลด์ เช่น ไม่ซ้ำ ไม่ใช่ NULL หรือดัชนี: หากคุณใช้นโยบายที่ไม่เป็นโมฆะหรือไม่ซ้ำกับฐานข้อมูลที่มีอยู่โดยมีค่าว่างหรือซ้ำกัน การโอนย้าย DB schema จะล้มเหลวในที่สุด

แบ็กเอนด์ขั้นตอนที่ 2 สร้างกระบวนการทางธุรกิจสำหรับแอปพลิเคชันของคุณ กระบวนการทางธุรกิจ (BP) ในแง่ของ AppMaster Platform เป็นเพียงคำศัพท์เฉพาะสำหรับฟังก์ชันในการเขียนโปรแกรมแบบคลาสสิก

ทุก BP แบ็คเอนด์มี 2 บล็อกบังคับ: เริ่มต้นและสิ้นสุด หากคุณต้องการส่งข้อมูลไปยัง BP ของคุณ คุณต้องกำหนดตัวแปรในบล็อก Start (ซึ่งจะทำงานเหมือนอาร์กิวเมนต์ในฟังก์ชันจากการเขียนโปรแกรมแบบคลาสสิก) และเชื่อมต่อกับบล็อกของคุณภายใน BP

ในการส่งคืนข้อมูลจาก BP คุณสามารถเพิ่มตัวแปรไปยัง End block (เช่น การส่งคืนในฟังก์ชันจากการเขียนโปรแกรมแบบคลาสสิก)

มีการเชื่อมต่อ 2 ประเภทระหว่างบล็อก BP:

  • เส้นลูกศรสีน้ำเงินทึบที่เรียกว่า Flow Connections และกำหนดลำดับของการดำเนินการบล็อก (ควรดำเนินการบล็อกใดต่อไป)
  • เส้นบาง ๆ หลายสีเรียกว่าการเชื่อมต่อตัวแปรที่กำหนดการเชื่อมโยงข้อมูล (จากตำแหน่งที่จะรับข้อมูล - การเชื่อมต่อข้อมูลระหว่างบล็อก BP) ทุกสีเป็นประเภทข้อมูลที่แตกต่างกัน

โดยปกติแล้ว ตำแหน่งใน BP Blocks สำหรับการเชื่อมต่อ Flow หรือ Variable จะเรียกว่าตัวเชื่อมต่อ ตัวเชื่อมต่อทั้งหมดทางด้านซ้ายของบล็อกคือตัวเชื่อมต่อใน (รับโฟลว์หรือข้อมูล) และทางด้านขวาคือตัวเชื่อมต่อเอาท์ (ผ่านโฟลว์หรือข้อมูลไปข้างหน้า)

ในการสร้างการเชื่อมต่อ คุณต้องลากจากตัวเชื่อมต่อหนึ่งไปยังอีกตัวเชื่อมต่อหนึ่ง (ลากระหว่างบล็อกที่คุณต้องการเชื่อมต่อ)

ไม่ว่าคุณจะเริ่มลากจากด้านไหน มันจะสร้างการเชื่อมต่อ

โปรแกรมแก้ไข BP จะตรวจสอบชนิดข้อมูลสำหรับการเชื่อมต่อแบบผันแปรโดยอัตโนมัติ และจะไม่อนุญาตให้คุณเชื่อมต่อหากชนิดข้อมูลไม่เหมือนกัน นอกจากนี้ยังจะป้องกันการวนซ้ำหรือการเชื่อมต่อที่ไม่ดีอีกด้วย

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

มีตัวแปร 2 ประเภทในแอปพลิเคชันแบ็กเอนด์ที่คุณสามารถวางใน BP เพื่อเก็บข้อมูลชั่วคราว:

  • ตัวแปรภายในเครื่อง - เพื่อจัดเก็บข้อมูลในระหว่างวงจรชีวิตของ BP ปัจจุบัน (มีประสิทธิภาพสูงสุดในหน่วยความจำเท่านั้น)
  • ตัวแปรส่วนกลาง - จะเก็บข้อมูลของคุณในระหว่างวงจรชีวิตของแอปพลิเคชันแบ็กเอนด์ (รวมถึงในหน่วยความจำเท่านั้น จะถูกรีเซ็ตเมื่อรีสตาร์ทแอป)

ก่อนที่คุณจะสามารถใช้ Global Variable ได้โดยการลากจากแผงด้านซ้ายของ BP Editor คุณต้องสร้างตัวแปรโดยใช้ส่วนของตรรกะแบ็กเอนด์

หากจำเป็นต้องเรียก BP ของคุณจากแหล่งภายนอกผ่าน API (จากเว็บ มือถือ โดยใช้บุรุษไปรษณีย์/curl จากระบบภายนอก) คุณต้องแนบ BP เข้ากับปลายทาง

แบ็กเอนด์ ขั้นตอนที่ 3 สร้างจุดสิ้นสุด ใน AppMaster เราใช้วิธี REST API แบบคลาสสิกเดียวกันสำหรับจุดสิ้นสุด แม้ว่า AppMaster จะรองรับไม่เพียงแค่ REST API Endpoints แต่ยังรองรับ WebHooks และ WSS endpoints ด้วย เราจะมุ่งเน้นไปที่ประเภทแรก

เมื่อสร้างจุดสิ้นสุด โปรดปฏิบัติตามมาตรฐาน REST API ในแง่ของวิธีการ (GET, POST, PUT, PATCH, DELETE) เพย์โหลด (ใช้ JSON) และ URL (ไม่มีอักขระที่ไม่ใช่ ASCII ไม่มีช่องว่าง เริ่มต้นและลงท้ายด้วย a ทับ).

กระบวนการสร้างจุดสิ้นสุดนั้นง่ายและตรงไปตรงมามาก: เลือก BP กำหนด URL และวิธี REST และหากคุณต้องการการอนุญาตบนจุดสิ้นสุดนั้น ให้ตรวจสอบการตั้งค่ามิดเดิลแวร์

เมื่อโมเดลข้อมูล กระบวนการทางธุรกิจ และจุดสิ้นสุดพร้อม ก็ถึงเวลาเผยแพร่ - กดปุ่มเผยแพร่! โดยปกติแล้ว ภายในเวลาไม่ถึง 30 วินาที AppMaster Platform จะนำพิมพ์เขียวทั้งหมดของคุณ (ใช่ อันที่จริง ทุกสิ่งที่คุณทำจะสร้างพิมพ์เขียวสำหรับซอฟต์แวร์ในอนาคต) สร้างซอร์สโค้ด คอมไพล์ แพ็คลงในอิมเมจนักเทียบท่า และปรับใช้กับ AppMaster cloud เมื่อกระบวนการเผยแพร่เสร็จสิ้น คุณสามารถเปิดเอกสาร REST API (OpenAPI/Swagger) และทดสอบจุดสิ้นสุดของคุณด้วยคำขอในตัวของ Swagger หรือใช้เครื่องมือของบุคคลที่สาม เช่น Postman หรือ Insomnia

ที่สำคัญ หากคุณใช้งานด้วยการสมัครเรียนรู้และสำรวจ Resource Saving Daemon ของเราจะหยุดคอนเทนเนอร์แอปพลิเคชันของคุณหลังจากไม่มีการใช้งานใน Studio เป็นเวลา 30 นาที หากต้องการเรียกใช้อีกครั้ง - คลิกที่สลับปรับใช้แผนหรือเผยแพร่อีกครั้ง

เว็บแอปพลิเคชัน

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

เว็บแอพ ขั้นตอนที่ 1 . สร้างเว็บแอปพลิเคชันหากคุณไม่มีในโครงการ ณ ตอนนี้ เรามี Web Application Designers 2 ประเภท: ปัจจุบันและใหม่ (ในรุ่นเบต้า) ความแตกต่างที่สำคัญคือปริมาณการปรับแต่ง WebApp Designer รุ่นปัจจุบัน มีความสามารถในการปรับแต่ง UI ที่จำกัดมาก แต่สร้างอินเทอร์เฟซ UI มาตรฐานของแผงผู้ดูแลระบบและพอร์ทัลลูกค้าได้ง่ายและสะดวก ใหม่ (ขณะนี้อยู่ในรุ่นเบต้า) มีการปรับแต่งเต็มรูปแบบของรูปลักษณ์ UI และเติม - แนวทาง flexbox พร้อมเลย์เอาต์จาก SPA (Vue, React way) นักออกแบบทั้งสองมีกระบวนการทางธุรกิจในตัว รวมถึงทริกเกอร์และบล็อกที่มีประโยชน์มากมาย

เว็บแอพ ขั้นตอนที่ 2 . เริ่มออกแบบ UI ของเว็บแอปพลิเคชันของคุณโดยการลากและวางองค์ประกอบ UI จากแผงด้านบน (ตัวออกแบบปัจจุบัน) หรือแผงด้านซ้าย (ตัวออกแบบใหม่) สำหรับองค์ประกอบบางอย่างที่มีการแจงนับภายใน (เช่น ตารางและรายการ) คุณจะต้องเลือกแบบจำลองข้อมูลในระหว่างขั้นตอนการดรอปเริ่มต้นเพื่อปรับองค์ประกอบโดยอัตโนมัติ

มีกระบวนการทางธุรกิจ 2 ประเภทในเว็บแอปพลิเคชัน: ทริกเกอร์และมาตรฐาน ทริกเกอร์พร้อมใช้งานสำหรับแต่ละองค์ประกอบ UI และสำหรับขอบเขตทั้งแอปพลิเคชัน (ทริกเกอร์แอป) หากต้องการเข้าถึงทริกเกอร์ขององค์ประกอบ UI ให้เลือกองค์ประกอบ จากนั้นสร้างในแท็บ BP ไม่เหมือน BP มาตรฐาน ทริกเกอร์มีหลายบล็อกเริ่มต้น: หนึ่งบล็อกสำหรับแต่ละเหตุการณ์และไม่มีบล็อกสิ้นสุด เนื่องจากทริกเกอร์ไม่เคยส่งคืนค่าใด ๆ จึงไม่จำเป็นต้องมี End block คุณยังสามารถสร้างกระบวนการทางธุรกิจมาตรฐานในเว็บแอปพลิเคชันได้ แต่วิธีเดียวที่จะดำเนินการได้คือการเรียกใช้จากทริกเกอร์ นั่นเป็นแนวทางที่ดีในการย้ายตรรกะที่ใช้บ่อยไปยังเว็บ BPs มาตรฐานและเรียกใช้จากทริกเกอร์

ที่สำคัญ โปรดจำไว้ว่า BP แบ็กเอนด์จะทำงานภายในแอปพลิเคชันแบ็คเอนด์ เว็บแอป BP จะทำงานในเบราว์เซอร์ของผู้ใช้ และการลดภาระงานเว็บจะเป็นประโยชน์ต่อประสบการณ์ของผู้ใช้

มีทริกเกอร์ระดับแอปพลิเคชันที่สำคัญมากสองสามตัว ตัวอย่างเช่น App onLaunch จะเริ่มทำงานเมื่อแอปพลิเคชันในเบราว์เซอร์เพิ่งเปิดตัว นั่นเป็นที่ที่ดีที่สุดในการตรวจสอบว่าผู้ใช้ของคุณได้รับการรับรองความถูกต้องหรือไม่ และถ้าไม่ ให้เปลี่ยนเส้นทางไปยังหน้าที่ถูกต้อง (หากคุณต้องการการรับรองความถูกต้องเลย)

อย่าลืมบันทึกสคีมาเว็บแอปพลิเคชันของคุณและเผยแพร่โครงการของคุณเพื่อดูการเปลี่ยนแปลง

แอปพลิเคชั่นมือถือ

เมื่อคุณต้องการสร้างแอปพลิเคชันมือถือ กระบวนการจะเหมือนกับเว็บแอปพลิเคชัน: สร้างหน้าจอ วางองค์ประกอบ UI สร้างทริกเกอร์องค์ประกอบ UI ปรับทริกเกอร์การเปิดใช้แอป เท่านี้คุณก็พร้อมแล้ว ไม่มีการแสดงตัวอย่างเว็บสำหรับแอปพลิเคชันมือถือ AppMaster แต่คุณสามารถติดตั้งแอปพลิเคชันมือถือ AppMaster Developer สำหรับ Android และ IOS เพื่อดูตัวอย่างแอปของคุณแบบสดด้วยคุณสมบัติที่เกี่ยวข้องกับฮาร์ดแวร์ทั้งหมด เช่น BLE, NFC และอื่นๆ

เมื่อคุณพัฒนาแอพมือถือของคุณเสร็จแล้วและพร้อมที่จะเผยแพร่ AppMaster จะมีวิซาร์ดการเผยแพร่พิเศษที่พร้อมใช้งานจากเมนูบริบทในรายการแอปพลิเคชันมือถือทั้งหมดในโครงการ สำหรับ Android AppMaster จะสร้างไฟล์ APK และ AAB ที่สามารถทำได้

สรุป

AppMaster เป็น IDE ขนาดใหญ่ที่คุณสามารถวางแผนแอปพลิเคชันของคุณด้วยพิมพ์เขียวขั้นสูงใน Data Models Designer, Business Process Editor, Web and Mobile Designers

คำถามที่พบบ่อย

เหตุใดเราจึงต้องการโครงการที่มีหลายแอปต่อโครงการ

AppMaster ใช้สถาปัตยกรรมแบบไคลเอนต์-เซิร์ฟเวอร์ ไม่ใช่แบบเสาหิน มีหลายกรณีที่คุณอาจต้องการหลายแอปต่อโปรเจ็กต์เมื่อคุณต้องการแยกคุณสมบัติ:

  • โครงการที่ซับซ้อน: เช่น แท็กซี่ เมื่อหนึ่งแอปสำหรับผู้โดยสารและอีกแอปหนึ่งสำหรับคนขับทำงานด้วยแบ็กเอนด์เดียวกัน
  • สร้างแอปพลิเคชันแบ็กเอนด์หลายรายการเพื่อสร้างสมดุลของปริมาณงานและทำการเปลี่ยนแปลงได้ง่ายและมีความเสี่ยงน้อยลง

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

ข้อดีและข้อเสียของแอปพลิเคชันที่สร้างขึ้นคืออะไร

ประโยชน์ที่ชัดเจนและเห็นได้ชัดที่สุดคือประสิทธิภาพที่สูงขึ้นอย่างมาก ความสามารถในการปรับขนาด ความสามารถในการรับไฟล์ไบนารีเพื่อเรียกใช้ในองค์กร และซอร์สโค้ดเพื่อให้ผ่านการรับรองและการตรวจสอบ เราใช้ภาษาการเขียนโปรแกรม Go เวอร์ชันล่าสุดเพื่อสร้างแอปแบ็กเอนด์ Go ให้ประสิทธิภาพมากมายของแอปพลิเคชันที่คอมไพล์ การคอมไพล์ข้ามสำหรับสถาปัตยกรรม OS และ CPU หลายตัว และความเรียบง่ายโดยรวมโดยคงความยืดหยุ่นไว้

ข้อเสียที่พบบ่อยที่สุดคือความต้องการในการสร้างและสร้างแอปใหม่อีกครั้งทุกครั้งที่คุณแนะนำการเปลี่ยนแปลงพิมพ์เขียวของคุณ และโดยปกติจะใช้เวลาประมาณ 35-45 วินาทีโดยเฉลี่ยสำหรับโครงการขนาดกลาง นอกจากนี้ ยังมีความซับซ้อนและค่าใช้จ่ายเพิ่มเติมเนื่องจากเราจำเป็นต้องเรียกใช้แอปในระบบคลาวด์ของเรา แต่ละแอปที่เราเรียกใช้ในคอนเทนเนอร์นักเทียบท่าจะใช้ CPU และ RAM (แม้ว่าจะไม่ได้ใช้งาน) และต้องมีการโยกย้าย DB schema (เราทำโดยอัตโนมัติ)

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

เทคโนโลยีใดที่ใช้ในเว็บแอปพลิเคชัน

เราสร้างเว็บแอปพลิเคชันโดยใช้เฟรมเวิร์ก Vue3 กับ TypeScript (TS) เว็บแอปพลิเคชันทำงานในโหมด SPA และ SSG ร่วมกัน Server-Side Rendering (SSR) จะถูกเพิ่มในภายหลังและสำหรับนักออกแบบเว็บแอปใหม่เท่านั้น

เทคโนโลยีใดที่ใช้ในแอปพลิเคชันมือถือ

แอปพลิเคชันมือถือของเราสร้างขึ้นโดยใช้วิธีการขับเคลื่อนแบ็กเอนด์แบบประกาศ: เราใช้โค้ดเบสแบบเนทีฟ (ดั้งเดิมที่สุด) ของ Swift และ SwiftUI สำหรับ IOS, Kotlin และ Jetpack Compose สำหรับ Android แอปพลิเคชันมือถือทางเทคนิคโหลดการกำหนดค่าและหน้าจอผ่านเครือข่ายตามความต้องการโดยใช้ JSON และ Protobuf เพื่อประสิทธิภาพสูงสุด วิธีนี้มีประโยชน์มากมาย: คุณสามารถเปลี่ยนแอปพลิเคชันแบบเรียลไทม์โดยไม่จำเป็นต้องเผยแพร่แอปพลิเคชันเวอร์ชันอัปเดตไปยัง AppStore หรือ Play Market สามารถทำงานแบบออฟไลน์ได้อย่างสมบูรณ์ และสามารถเข้าถึงคุณลักษณะฮาร์ดแวร์ทั้งหมดได้ เราไม่ใช้เทคโนโลยี HTML/JS/ReactNative หรือ PWA ในแอปพลิเคชันมือถือของเรา แอปบนอุปกรณ์เคลื่อนที่ที่สร้างใน AppMaster จะต้องเผยแพร่ผ่าน AppStore, Play Market หรือแพลตฟอร์มการเผยแพร่อื่นๆ (ในทางเทคนิค คุณสามารถแชร์ไฟล์ apk/aab สำหรับ Android ได้ แต่ต้องใช้ความพยายามอย่างมาก)

คุณโฮสต์แอปพลิเคชันโดยค่าเริ่มต้นที่ใด

เราสร้าง AppMaster Cloud บนโครงสร้างพื้นฐานของ AWS เพื่อนำเสนอบริการที่น่าเชื่อถือและปรับขนาดได้มากที่สุดแก่ลูกค้าของเรา โดยค่าเริ่มต้น ลูกค้าที่มีการสมัครสมาชิกสามารถใช้หนึ่งใน 3 ภูมิภาคหลัก ได้แก่ อเมริกาเหนือ (สหรัฐอเมริกา) ยุโรป (เยอรมนี) เอเชีย สำหรับแผนการโฮสต์โดยเฉพาะ เรามีภูมิภาค AWS เกือบทั้งหมดให้ใช้งาน (นอกเหนือจากตำแหน่งที่ตั้งหลัก) หากคุณต้องการประเทศใดประเทศหนึ่งในการโฮสต์ใบสมัครของคุณ โปรดแจ้งให้เราทราบ

ฉันจะรับแอปพลิเคชันบันเดิล ไบนารี หรือซอร์สโค้ดของแอปพลิเคชันของฉันได้อย่างไร

หากต้องการรับไฟล์ไบนารีหรือบันเดิล คุณต้องมีการสมัครใช้งานแบบธุรกิจเป็นอย่างน้อย แอปพลิเคชันแบ็กเอนด์สามารถดาวน์โหลดได้จากที่เก็บสิ่งประดิษฐ์เป็นไฟล์ไบนารีหรือดึงผ่าน docker pull จากรีจิสตรีของเรา (เช่น Docker Hub) บันเดิลมือถือและเว็บสามารถดาวน์โหลดได้จากที่เก็บอาร์ติแฟกต์เช่นกัน คุณสามารถดาวน์โหลดชุดแอปบนอุปกรณ์เคลื่อนที่ด้วยการสมัครสมาชิกใดก็ได้ ยกเว้นการเรียนรู้และสำรวจ ในการรับซอร์สโค้ดของแอปพลิเคชัน คุณต้องมีการสมัครใช้งานแบบองค์กร ด้วยการสมัครสมาชิกระดับองค์กร คุณจะได้รับซอร์สโค้ดที่สมบูรณ์ของแบ็กเอนด์และเว็บแอปพลิเคชัน แต่ฐานโค้ดของแอพมือถือมีจำกัด เนื่องจากเราใช้วิธีการที่ขับเคลื่อนด้วยแบ็คเอนด์

ความแตกต่างระหว่าง Model และ Virtual Model คืออะไร?

เราใช้คำว่า Model เพื่อชี้ไปที่โครงสร้างที่เราจะสร้างตารางในฐานข้อมูล และจะสร้างบล็อก DB ล่วงหน้าโดยอัตโนมัติเพื่อดำเนินการพื้นฐานในตารางฐานข้อมูลนั้น เช่น ค้นหา สร้างบันทึก และอื่นๆ โมเดลเสมือนจะเหมือนกัน ยกเว้นเราจะ ไม่สร้างตารางและจะไม่มีบล็อกฐานข้อมูล โมเดลเสมือนจริงเป็นหนึ่งในคุณสมบัติที่นักพัฒนาส่วนใหญ่ต้องการมากที่สุด กรณีการใช้งานบ่อยที่สุดสำหรับโมเดลเสมือนจริงคือเมื่อคุณต้องการสร้างโครงสร้าง (เช่น Objects ใน JS หรือ JSON) และใช้สำหรับคำขอภายนอก องค์ประกอบ UI หรือจุดสิ้นสุด เป็นเรื่องน่าแปลกที่โมเดลที่กำหนดไว้ในแอปพลิเคชันแบ็กเอนด์จะปรากฏในเว็บและแอปบนอุปกรณ์เคลื่อนที่เป็นเสมือนโดยอัตโนมัติ: ในเว็บและแอปบนอุปกรณ์เคลื่อนที่ คุณจำเป็นต้องรู้เกี่ยวกับโครงสร้างข้อมูลใด ๆ เพื่อให้สามารถทำงานได้

ฉันจะทำงานกับแบบจำลองในกระบวนการทางธุรกิจได้อย่างไร วิธีแยกฟิลด์และอื่นๆ

สำหรับแต่ละรุ่น เราสร้างบล็อกสร้างและขยายไว้ล่วงหน้า Make จะรวบรวมฟิลด์ไปยัง Model Record ส่วน Expand จะแยกฟิลด์จาก Model Record โปรดทราบว่าบล็อกเหล่านั้นจะไม่เปลี่ยนข้อมูลเริ่มต้นที่ส่งผ่านไปยังอินพุตของบล็อก

ฉันจะตั้งค่าสำหรับตัวแปรโลคัลหรือโกลบอลได้อย่างไร

บล็อกทั้งหมดที่คุณจะใช้จะไม่เปลี่ยนข้อมูลเริ่มต้นเมื่อคุณส่งต่อไปยังอินพุต บล็อกเดียวที่กลายพันธุ์ข้อมูลคือ Set Variable: เชื่อมต่อตัวแปรและค่า และหลังจากดำเนินการบล็อก คุณจะได้รับค่าภายในตัวแปร ตัวแปรส่วนกลางในแอปพลิเคชันมือถือและเว็บสามารถคงอยู่ได้และจะคงอยู่ต่อไปเมื่อแอปพลิเคชันรีสตาร์ท หากมีการตั้งค่าแฟล็กที่เหมาะสม

ฉันจะเรียก API ไปยังระบบภายนอกได้อย่างไร

วิธีที่ดีที่สุดในการส่งคำขอไปยังระบบภายนอกคือจากแอปพลิเคชันส่วนหลังของคุณ เมื่อทำเช่นนี้ คุณจะสามารถควบคุมข้อมูลและความปลอดภัยได้มากขึ้น มีสองวิธีที่คุณสามารถทำได้:

  • การใช้บล็อก คำขอ HTTP เป็นวิธีที่ง่ายที่สุด คุณสามารถใช้บล็อกนี้ในแบ็กเอนด์ BP ใดก็ได้
  • การใช้ External API Designer เพื่อสร้างคำขอก่อน จากนั้นจึงใช้บล็อกที่สร้างขึ้นภายใน BP ของคุณ

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

คำขอและโปรโตคอลประเภทใดที่รองรับเมื่อเรียกระบบภายนอก

ณ ตอนนี้ เรารองรับคำขอ REST API ด้วยเพย์โหลด JSON หรือ XML ข้อความธรรมดาหรือไบนารีเพย์โหลด gRPC ยังไม่รองรับ แต่เรากำลังดำเนินการอย่างเต็มที่เพื่อเปิดตัวในเดือนหน้าด้วยเครื่องมือออกแบบภายนอก API ใหม่ล่าสุดของเรา

แอปพลิเคชันที่สร้างโดย AppMaster รองรับ WebSockets หรือไม่

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

ฉันจะโทรหาปลายทางส่วนหลังจากเว็บหรือแอปพลิเคชันมือถือได้อย่างไร

สำหรับทุกตำแหน่งข้อมูลที่คุณสร้างขึ้นในแอปพลิเคชันแบ็กเอนด์ แพลตฟอร์มจะสร้างบล็อก คำขอเซิร์ฟเวอร์ สำหรับเว็บและแอปบนอุปกรณ์เคลื่อนที่ เพียงวางบล็อกนั้นในทริกเกอร์และเรียกมัน คุณสามารถตรวจสอบการดำเนินการบล็อกคำขอของเซิร์ฟเวอร์ได้ในคอนโซลนักพัฒนาเบราว์เซอร์ แท็บคำขอเครือข่าย ในแอปมือถือ คุณสามารถใช้บันทึก (ต้องเปิดใช้งานก่อนในการตั้งค่าแอป AppMaster Developer)

ฉันสามารถสร้างการยืนยันตัวตนและการสมัครใช้งานแบบกำหนดเองได้หรือไม่

แน่นอน คุณสามารถปิดใช้งานโมดูลการรับรองความถูกต้องในตัวและสร้างโซลูชันแบบกำหนดเองได้อย่างสมบูรณ์ คุณจะต้องสร้าง BP แยกต่างหากในแอปพลิเคชันส่วนหลังที่จะจัดการการลากโทเค็นการรับรองความถูกต้อง (โดยปกติจะมาจากส่วนหัวของคำขอ) และตรวจสอบตามกฎของคุณ คุณสามารถรับส่วนหัวคำขอได้โดยใช้บล็อก BP Get Request Headers โปรดทราบว่าเมื่อคุณปิดใช้งานการรับรองความถูกต้องในตัว คุณจะไม่สามารถใช้การบล็อก "รับผู้ใช้ปัจจุบัน" ได้ นอกจากนี้ คุณสามารถใช้ ID หมายเลขโทรศัพท์ หรือตัวระบุอื่นๆ แทนอีเมลด้วยโมดูล Auth มาตรฐาน

มีวิธีใดบ้างที่จะสร้างการดำเนินการที่ปลอดภัยสำหรับเธรดสำหรับตัวนับที่เชื่อถือได้และกรณีการดำเนินการตามคำสั่งอื่น ๆ

AppMaster รองรับโหมดเธรดเดียวสำหรับการดำเนินการกระบวนการทางธุรกิจ เมื่อการเรียกใช้กระบวนการทางธุรกิจทั้งหมดดำเนินการตามลำดับที่เข้มงวด ทีละรายการ โหมดนี้อาจมีค่าปรับประสิทธิภาพสำหรับสถานการณ์ปริมาณงานสูง แต่ในกรณีส่วนใหญ่ จะไม่ทำให้ประสิทธิภาพการทำงานลดลงอย่างมีนัยสำคัญ โปรดทราบว่า call stack (คิว) ของโหมดนี้มีจำกัด

2FA ด้วย SMS อีเมล หรือ OTP?

ได้ คุณสามารถปรับตรรกะการตรวจสอบสิทธิ์ของคุณให้รวมวิธี 2FA ได้ หากต้องการใช้ SMS หรืออีเมล คุณต้องเชื่อมต่อกับผู้ให้บริการภายนอก เช่น Twilio วิธีที่ง่ายที่สุดคือขยายเซสชันและรวมฟิลด์เพิ่มเติมเพื่อควบคุม 2FA ในเซสชัน ในไตรมาสที่ 3 ปี 2023 เราจะเปิดตัวโมดูล OTP ตามเวลาที่จะทำงานร่วมกับ Google และ Microsoft Authenticator

ฉันสามารถใช้แบ็กเอนด์ที่สร้างโดย AppMaster กับเว็บหรือแอปพลิเคชันมือถืออื่นๆ ได้หรือไม่

ใช่ แอปพลิเคชันแบ็กเอนด์ที่สร้างโดย AppMaster มีจุดสิ้นสุด REST API มาตรฐาน สำหรับแต่ละแอปพลิเคชัน เอกสาร REST API (OpenAPI/Swagger) จะถูกสร้างขึ้นโดยอัตโนมัติและให้บริการบนจุดสิ้นสุดที่แยกต่างหาก

ฉันสามารถใช้เทมเพลตเพื่อสร้างโครงการหรือแอปพลิเคชันได้หรือไม่

เรายังไม่มีเทมเพลต แต่นั่นคือสิ่งที่เราจะเผยแพร่ในอนาคตอันใกล้นี้ AppMaster Projects นั้นซับซ้อนกว่า WebFlow หรือ Bubble และเราต้องการเวลามากกว่านี้ในการดำเนินการ

AppMaster รองรับฐานข้อมูลประเภทใด

แอปพลิเคชันแบ็กเอนด์ที่สร้างโดย AppMaster ทำงานร่วมกับฐานข้อมูลใดๆ ที่เข้ากันได้กับ PostgreSQL โดยเริ่มจาก PG12 แต่เราขอแนะนำให้ใช้ PostgreSQL DB เวอร์ชันล่าสุดที่มีอยู่ (15.3 ณ ช่วงเวลาของเอกสารนี้) มีการวางแผนรองรับ MSSQL, MariaDB, MySQL และ SQLite และจะเพิ่มเข้ามาในช่วงปลายปี 2023/ต้นปี 2024

ฉันจะเข้าถึงฐานข้อมูลโดยตรงเพื่อแก้ไขบันทึกได้อย่างไร

AppMaster ไม่รองรับการเข้าถึงฐานข้อมูลโดยตรงสำหรับแอปพลิเคชันที่โฮสต์ใน AppMaster Cloud หากคุณใช้โฮสติ้งในสถานที่ คุณสามารถเข้าถึง DB โดยใช้เครื่องมือภาพใดๆ เช่น PGAdmin หรือใช้เครื่องมือบรรทัดคำสั่ง pgsql ในอนาคต เราจะเพิ่มคุณลักษณะเพื่อให้ลูกค้าสามารถแก้ไขฐานข้อมูลได้โดยตรง

มีการทำงานร่วมกันแบบเรียลไทม์หรือไม่? เราสามารถทำงานเป็นทีมในโครงการเดียวกันได้หรือไม่?

เรามีการทำงานร่วมกันแบบเรียลไทม์ในนักออกแบบเว็บไซต์ใหม่เท่านั้น เว็บดีไซเนอร์ใหม่ (เบต้า) ใช้แบบร่างเครือข่ายด้วยโปรโตคอลชนิดข้อมูลจำลองแบบไร้ข้อขัดแย้ง (CRDT) เพื่อให้ครอบคลุมกรณีการใช้งานทั้งหมดและมอบการจัดการสถานะ (Ctrl+Z, การย้อนกลับการดำเนินการ) เราจะทยอยส่ง CRDT ไปยังโปรแกรมแก้ไข BP และ Data Models Designer ทีละขั้นตอนในอนาคต หากคุณต้องการทำงานเป็นทีม โปรดอย่าแก้ไขสคีมาโมเดลข้อมูล BP เดียวกัน หรือแอปบนเว็บ/มือถือเดียวกัน เนื่องจากอาจทำให้ข้อมูลสูญหายได้

คุณสมบัติที่สำคัญอะไรที่ AppMaster อาจขาดหายไป?

  • ตัวออกแบบ Visual SQL แม้ว่าการดำเนินการพื้นฐานส่วนใหญ่ เช่น การค้นหาด้วยตัวกรองและการรวม รับหนึ่งระเบียนด้วย id, อัปเดต, แพตช์, ลบ และซอฟต์ลบได้รับการสนับสนุน แต่เพื่อความยืดหยุ่นและประสิทธิภาพที่ดีขึ้น เรากำลังทำงานกับ Visual SQL Designer และจะเปิดตัวในเดือนตุลาคม 2023.
  • ไมโครเซอร์วิสแบ็กเอนด์ เรากำลังทำงานอย่างแข็งขันในการปรับใช้แอปพลิเคชันแบ็กเอนด์หลายรายการต่อโครงการ ณ ตอนนี้ คุณสามารถสร้างแอปแบ็กเอนด์ได้เพียงแอปเดียวต่อโปรเจ็กต์
  • ยังไม่มี SSR สำหรับเว็บแอปพลิเคชัน สำหรับเว็บแอปพลิเคชันและเว็บไซต์ที่ได้รับการปรับให้เหมาะสมที่สุด SSR เพิ่มประโยชน์เพิ่มเติมสำหรับ SEO กทพ. พ.ย.-2566
  • รองรับ gRPC สำหรับคำขอ API ภายนอก เราวางแผนที่จะเพิ่ม gRPC พร้อมตัวเลือก protobuf payload และการบีบอัดเพื่อเพิ่มความเป็นไปได้สำหรับการเชื่อมต่อระหว่างระบบ
  • เทมเพลตของโครงการ เว็บและแอปพลิเคชั่นมือถือ เรากำลังดำเนินการเพื่อแนะนำเทมเพลต เราจะเพิ่มเทมเพลตเว็บแอปเป็นขั้นตอนแรกในเดือนกันยายน 2023 เทมเพลตโครงการทั้งหมดยังไม่มี ETA
Was this article helpful?

AppMaster.io 101 หลักสูตรความผิดพลาด

10 โมดูล
2 สัปดาห์ที่ผ่านมา

ไม่แน่ใจว่าจะเริ่มต้นที่ไหน? เริ่มต้นด้วยหลักสูตรเร่งรัดสำหรับผู้เริ่มต้นและสำรวจ AppMaster จาก A ถึง Z

เริ่มหลักสูตร
Development it’s so easy with AppMaster!

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่?

แก้ปัญหาด้วยความช่วยเหลือจากผู้เชี่ยวชาญของเรา ประหยัดเวลาและมุ่งเน้นที่การสร้างแอปพลิเคชันของคุณ

headphones

ติดต่อฝ่ายสนับสนุน

บอกเราเกี่ยวกับปัญหาของคุณ แล้วเราจะหาทางแก้ไขให้คุณ

message

ชุมชนแชท

สนทนาคำถามกับผู้ใช้รายอื่นในการแชทของเรา

เข้าร่วมชุมชน