Quickstarters
Feature Overview
How to Build a Backend for MacOS?
43 นาที
บทนำ ในบทเรียนนี้ คุณจะได้เรียนรู้ วิธีสร้างแบ็กเอนด์สำหรับ macos โดยใช้ back4app และ parse swift sdk เราจะเดินผ่านการรวมฟีเจอร์ที่สำคัญของ back4app—เช่น การจัดการฐานข้อมูล, ฟังก์ชัน cloud code, rest และ graphql apis, การตรวจสอบสิทธิ์ผู้ใช้, และการสอบถามแบบเรียลไทม์ (live queries)—เพื่อสร้างแบ็กเอนด์ที่ปลอดภัย, ขยายขนาดได้, และแข็งแกร่งที่สื่อสารกับแอปพลิเคชัน macos ของคุณได้อย่างราบรื่น คุณจะเห็นด้วยว่า การตั้งค่าอย่างรวดเร็วและสภาพแวดล้อมที่ใช้งานง่ายของ back4app สามารถลดเวลาและความพยายามได้อย่างมากเมื่อเปรียบเทียบกับการกำหนดค่าเซิร์ฟเวอร์และฐานข้อมูลด้วยตนเอง ในระหว่างทาง คุณจะได้รับประสบการณ์จริงกับฟังก์ชันการทำงานที่สำคัญ รวมถึงฟีเจอร์ความปลอดภัยขั้นสูง, การกำหนดตารางงานด้วย cloud jobs, และการตั้งค่าเว็บฮุกสำหรับการรวมภายนอก เมื่อสิ้นสุดการสอนนี้ คุณจะพร้อมที่จะพัฒนาการตั้งค่าพื้นฐานนี้ให้เป็นแอปพลิเคชัน macos ที่พร้อมสำหรับการผลิต หรือรวมตรรกะที่กำหนดเองและ api ของบุคคลที่สามได้อย่างง่ายดายตามที่ต้องการ การเชี่ยวชาญในวิธีนี้จะช่วยให้คุณสามารถปรับปรุงกระบวนการทำงานของคุณและ เรียนรู้วิธีสร้างแบ็กเอนด์สำหรับ macos ได้อย่างรวดเร็วและมีประสิทธิภาพ ข้อกำหนดเบื้องต้น ในการทำตามการสอนนี้ คุณจะต้องมี บัญชี back4app และโครงการ back4app ใหม่ เริ่มต้นใช้งาน back4app https //www back4app com/docs/get started/new parse app หากคุณไม่มีบัญชี คุณสามารถสร้างบัญชีได้ฟรี ทำตามคำแนะนำข้างต้นเพื่อเตรียมโครงการของคุณ สภาพแวดล้อมการพัฒนา macos (xcode) คุณสามารถติดตั้ง xcode ได้จาก mac app store https //apps apple com/us/app/xcode/id497799835 swift package manager หรือ cocoapods สำหรับการติดตั้ง parse swift sdk เอกสาร parse swift https //github com/netreconlab/parse swift ความรู้พื้นฐานเกี่ยวกับ swift และการพัฒนาแอป macos เอกสารอย่างเป็นทางการของ apple https //developer apple com/documentation/swift ความคุ้นเคยกับ swiftui หรือ appkit จะเป็นประโยชน์ โปรดตรวจสอบให้แน่ใจว่าคุณมีข้อกำหนดเบื้องต้นทั้งหมดนี้ก่อนที่คุณจะเริ่ม การมีโครงการ back4app ของคุณตั้งค่าและสภาพแวดล้อมการพัฒนา macos ในเครื่องของคุณพร้อมจะช่วยให้คุณติดตามได้ง่ายขึ้น ขั้นตอนที่ 1 – การตั้งค่าโปรเจกต์ back4app สร้างโปรเจกต์ใหม่ ขั้นตอนแรกในการสร้างแบ็กเอนด์ macos ของคุณบน back4app คือการสร้างโปรเจกต์ใหม่ หากคุณยังไม่ได้สร้าง โปรดทำตามขั้นตอนเหล่านี้ เข้าสู่ระบบบัญชี back4app ของคุณ คลิกที่ปุ่ม “แอปใหม่” ในแดชบอร์ด back4app ของคุณ ตั้งชื่อแอปของคุณ (เช่น “macos backend tutorial”) เมื่อสร้างโปรเจกต์เสร็จแล้ว คุณจะเห็นโปรเจกต์นั้นในแดชบอร์ด back4app ของคุณ โปรเจกต์นี้จะเป็นพื้นฐานสำหรับการตั้งค่าแบ็กเอนด์ทั้งหมดที่กล่าวถึงในบทแนะนำนี้ เชื่อมต่อกับ parse swift sdk back4app ขึ้นอยู่กับ parse platform ในการจัดการข้อมูลของคุณ ให้ฟีเจอร์เรียลไทม์ จัดการการตรวจสอบสิทธิ์ผู้ใช้ และอื่นๆ การเชื่อมต่อแอปพลิเคชัน macos ของคุณกับ back4app เกี่ยวข้องกับการติดตั้ง parse swift sdk และการเริ่มต้นด้วยข้อมูลประจำตัวจากแดชบอร์ด back4app ของคุณ ดึงคีย์ parse ของคุณ ในแดชบอร์ด back4app ของคุณ ให้ไปที่ “การตั้งค่าแอป” หรือ “ความปลอดภัย & คีย์” เพื่อค้นหา application id และ client key (หรือ clientkey ) คุณจะพบ parse server url (มักอยู่ในรูปแบบ https //parseapi back4app com ) ติดตั้ง parse swift sdk ในโปรเจกต์ macos ของคุณ หากใช้ swift package manager dependencies \[ package(url "https //github com/netreconlab/parse swift git", from "5 0 0") ] หากใช้ cocoapods , เพิ่มสิ่งนี้ใน podfile pod 'parseswiftog' เริ่มต้น parse ในแอปพลิเคชัน macos ของคุณ (เช่น ใน appdelegate swift หากใช้ appkit หรือใน @main struct หากสร้างแอป swiftui) import parseswift import swiftui @main struct mymacosapp app { init() { task { do { try await parseswift initialize( applicationid "your application id", clientkey "your client key", serverurl url(string "https //parseapi back4app com")! ) } catch { print("error initializing parse \\(error)") } } } var body some scene { windowgroup { contentview() } } } โดยการทำขั้นตอนนี้เสร็จสิ้น คุณได้สร้างการเชื่อมต่อที่ปลอดภัยระหว่างส่วนหน้าของ macos (ui) และแบ็กเอนด์ back4app การร้องขอและการทำธุรกรรมข้อมูลทั้งหมดจะถูกส่งผ่าน sdk นี้อย่างปลอดภัย ลดความซับซ้อนของการเรียก rest หรือ graphql ด้วยตนเอง (แม้ว่าคุณยังสามารถใช้ได้หากจำเป็น) ขั้นตอนที่ 2 – การตั้งค่าฐานข้อมูล การบันทึกและการค้นหาข้อมูล เมื่อคุณตั้งค่าโครงการ back4app และรวม parse swift sdk เข้ากับแอป macos ของคุณแล้ว คุณสามารถเริ่มบันทึกและเรียกคืนข้อมูลได้ วิธีที่ง่ายที่สุดในการสร้างวัตถุคือการกำหนด struct ที่สอดคล้องกับ parseobject และจากนั้นเรียก save() struct todo parseobject { // parseobject required properties var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? // custom properties var title string? var iscompleted bool? } func createtodoitem(title string, iscompleted bool) async { var todo = todo() todo title = title todo iscompleted = iscompleted do { try await todo save() print("todo saved successfully ") } catch { print("error saving todo \\(error)") } } func fetchtodos() async > \[todo] { let query = todo query() do { return try await query find() } catch { print("error fetching todos \\(error)") return \[] } } อีกทางเลือกหนึ่ง คุณสามารถใช้ rest หรือ graphql api ของ back4app curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo back4app ยังมีอินเทอร์เฟซ graphql mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } ตัวเลือกที่หลากหลายเหล่านี้ช่วยให้คุณสามารถรวมการดำเนินการข้อมูลในวิธีที่เหมาะสมที่สุดกับกระบวนการพัฒนาของคุณ—ไม่ว่าจะเป็นผ่าน parse swift sdk, rest หรือ graphql การออกแบบสคีมาและประเภทข้อมูล โดยค่าเริ่มต้น parse อนุญาตให้ สร้างสคีมาแบบทันที , แต่คุณยังสามารถกำหนดคลาสและประเภทข้อมูลของคุณในแดชบอร์ด back4app เพื่อควบคุมได้มากขึ้น ไปที่ส่วน “ฐานข้อมูล” ในแดชบอร์ด back4app ของคุณ สร้างคลาสใหม่ (เช่น “todo”) และเพิ่มคอลัมน์ที่เกี่ยวข้อง เช่น ชื่อ (string) และ iscompleted (boolean) back4app รองรับประเภทข้อมูลต่างๆ string , number , boolean , object , date , file , pointer , array , relation , geopoint , และ polygon คุณสามารถเลือกประเภทที่เหมาะสมสำหรับแต่ละฟิลด์ หรือให้ parse สร้างคอลัมน์เหล่านี้โดยอัตโนมัติเมื่อคุณบันทึกวัตถุจากแอป macos ของคุณครั้งแรก back4app มี เอเจนต์ ai ที่สามารถช่วยคุณออกแบบโมเดลข้อมูลของคุณ เปิดเอเจนต์ ai จากแดชบอร์ดแอปของคุณหรือในเมนู อธิบายโมเดลข้อมูลของคุณ ในภาษาง่ายๆ (เช่น “กรุณาสร้างแอป todo ใหม่ที่ back4app พร้อมสคีมาคลาสที่สมบูรณ์ ”) ให้เอเจนต์ ai สร้างสคีมาสำหรับคุณ ข้อมูลเชิงสัมพันธ์ หากคุณมีข้อมูลเชิงสัมพันธ์—เช่น, วัตถุ category ที่ชี้ไปยังหลาย todo รายการ—คุณสามารถใช้ pointers หรือ relations ใน parse swift struct category parseobject { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? // custom fields var name string? } struct todo parseobject { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? var title string? var category pointer\<category>? } func createtaskforcategory(categoryobjectid string, title string) async { let pointer = pointer\<category>(objectid categoryobjectid) var todo = todo() todo title = title todo category = pointer do { try await todo save() print("todo linked to category") } catch { print("error creating task with category relationship \\(error)") } } func fetchtodoswithcategory() async { let query = todo query() include("category") do { let todos = try await query find() print("fetched todo items with category \\(todos)") } catch { print("error fetching todos \\(error)") } } การสอบถามแบบสด สำหรับการอัปเดตแบบเรียลไทม์, back4app ให้บริการ live queries โดยการเปิดใช้งาน live queries ในแดชบอร์ด back4app ของคุณ, คุณสามารถสมัครรับการเปลี่ยนแปลงในคลาสเฉพาะจากแอป macos ของคุณ เปิดใช้งาน live queries ในแดชบอร์ด back4app ของคุณภายใต้ การตั้งค่าเซิร์ฟเวอร์ ของแอปของคุณ เริ่มต้น live queries ในโค้ด (ไคลเอนต์ live query ของ swift ยังอยู่ในระหว่างการพัฒนา, แต่คุณสามารถใช้วิธีที่ขับเคลื่อนโดยชุมชนหรือรอการอัปเดตอย่างเป็นทางการจาก parse swift) src/parseconfig swift // example (subject to support in parse swift) // live query’s subdomain // parseswift configuration livequeryserverurl = url(string "wss\ //your subdomain here b4a io")! เมื่อสมัครสมาชิกแล้ว, คุณจะได้รับการแจ้งเตือนเมื่อมีการสร้าง, อัปเดต, หรือ ลบ todo สิ่งนี้มีค่าโดยเฉพาะสำหรับแอปเดสก์ท็อปที่ทำงานร่วมกันหรือมีการโต้ตอบสูงซึ่งผู้ใช้หรือกระบวนการหลายคนต้องเห็นข้อมูลล่าสุดทันที ขั้นตอนที่ 3 – การใช้ความปลอดภัยด้วย acls และ clps กลไกความปลอดภัยของ back4app back4app ให้ความสำคัญกับความปลอดภัยโดยการจัดเตรียม access control lists (acls) และ class level permissions (clps) ฟีเจอร์เหล่านี้ช่วยให้คุณสามารถจำกัดว่าใครสามารถอ่านหรือเขียนข้อมูลได้ตามวัตถุหรือชั้นเรียน ทำให้มั่นใจได้ว่าผู้ใช้ที่ได้รับอนุญาตเท่านั้นที่สามารถแก้ไขข้อมูลของคุณได้ access control lists (acls) an acl ถูกนำไปใช้กับวัตถุแต่ละชิ้นเพื่อกำหนดว่าผู้ใช้ บทบาท หรือสาธารณะสามารถทำการอ่าน/เขียนได้หรือไม่ ตัวอย่างเช่น หากแอป macos ของคุณมีแนวคิดเกี่ยวกับ “งานส่วนตัว” สำหรับผู้ใช้ที่เข้าสู่ระบบในขณะนั้น import parseswift func createprivatetodo(title string) async { guard let currentuser = user current else { return } var todo = todo() todo title = title // create an acl granting read/write access only to the owner var acl = parseacl() acl setreadaccess(currentuser, value true) acl setwriteaccess(currentuser, value true) todo acl = acl do { try await todo save() print("private todo saved") } catch { print("error saving private todo \\(error)") } } เมื่อคุณบันทึกวัตถุ มันจะมี acl ที่ป้องกันไม่ให้ใครอ่านหรือแก้ไขนอกจากผู้ใช้ที่ระบุ class level permissions (clps) clps กำหนดสิทธิ์เริ่มต้นของชั้นเรียนทั้งหมด เช่น ชั้นเรียนสามารถอ่านหรือเขียนได้โดยสาธารณะหรือไม่ หรือเฉพาะบทบาทบางอย่างเท่านั้นที่สามารถเข้าถึงได้ ไปที่แดชบอร์ด back4app ของคุณ , เลือกแอปของคุณ และเปิด ฐานข้อมูล ส่วน เลือกคลาส (เช่น “todo”) เปิดการอนุญาตระดับคลาส แท็บ กำหนดค่าเริ่มต้นของคุณ เช่น “ต้องการการตรวจสอบสิทธิ์” สำหรับการอ่านหรือเขียน หรือ “ไม่มีการเข้าถึง” สำหรับสาธารณะ ขั้นตอนที่ 4 – การเขียนและการปรับใช้ฟังก์ชันคลาวด์ cloud code เป็นฟีเจอร์ของสภาพแวดล้อม parse server ที่ช่วยให้คุณสามารถเรียกใช้โค้ด javascript ที่กำหนดเองบนฝั่งเซิร์ฟเวอร์—โดยไม่ต้องจัดการเซิร์ฟเวอร์หรือโครงสร้างพื้นฐานของคุณเอง โดยการเขียน cloud code คุณสามารถขยายแบ็กเอนด์ back4app ของคุณด้วยตรรกะทางธุรกิจเพิ่มเติม การตรวจสอบความถูกต้อง ทริกเกอร์ และการรวมที่ทำงานอย่างปลอดภัยและมีประสิทธิภาพบน parse server มันทำงานอย่างไร เมื่อคุณเขียน cloud code โดยทั่วไปคุณจะวางฟังก์ชัน javascript ทริกเกอร์ และโมดูล npm ที่จำเป็นใน main js ไฟล์ จากนั้นคุณจะปรับใช้ไฟล์นี้ไปยังโปรเจ็กต์ back4app ของคุณ และมันจะทำงานในสภาพแวดล้อมของ parse server ซึ่งช่วยให้คุณเก็บตรรกะที่ละเอียดอ่อนไว้ที่ฝั่งเซิร์ฟเวอร์ กรณีการใช้งานทั่วไป ตรรกะทางธุรกิจ การคำนวณหรือการแปลงก่อนที่จะบันทึกข้อมูล การตรวจสอบความถูกต้องของข้อมูล ตรวจสอบให้แน่ใจว่าฟิลด์บางฟิลด์ตรงตามเกณฑ์ ทริกเกอร์ ดำเนินการเมื่อข้อมูลเปลี่ยนแปลง การรวม เชื่อมต่อกับ api ภายนอก (เช่น การชำระเงิน การแจ้งเตือน) ฟังก์ชันตัวอย่าง // main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); การปรับใช้ผ่าน back4app cli ติดตั้ง cli curl https //raw\ githubusercontent com/back4app/parse cli/back4app/installer sh | sudo /bin/bash กำหนดค่าคีย์บัญชีของคุณ b4a configure accountkey ปรับใช้โค้ดคลาวด์ของคุณ b4a deploy การเรียกใช้ฟังก์ชันของคุณ จาก macos โดยใช้ swift import parseswift func gettextlength(text string) async { do { let result = try await parsecloud callfunction("calculatetextlength", with \["text" text]) if let resultdict = result as? \[string any], let length = resultdict\["length"] as? int { print("text length \\(length)") } } catch { print("error calling cloud function \\(error)") } } คุณยังสามารถเรียกมันผ่าน rest หรือ graphql ในลักษณะเดียวกับในเฟรมเวิร์กอื่น ๆ ขั้นตอนที่ 5 – การกำหนดค่าการตรวจสอบสิทธิ์ผู้ใช้ การตรวจสอบสิทธิ์ผู้ใช้ใน back4app back4app ใช้ parseuser คลาสเป็นพื้นฐานสำหรับการตรวจสอบสิทธิ์ โดยค่าเริ่มต้น parse จะจัดการการแฮชรหัสผ่าน โทเค็นเซสชัน และการจัดเก็บข้อมูลอย่างปลอดภัย ดังนั้นคุณจึงไม่ต้องตั้งค่ากระบวนการรักษาความปลอดภัยที่ซับซ้อนด้วยตนเอง การตั้งค่าการตรวจสอบสิทธิ์ผู้ใช้ ในแอปพลิเคชัน macos คุณสามารถสร้างผู้ใช้ใหม่ได้ด้วย struct user parseuser { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? // default properties var username string? var email string? var emailverified bool? var password string? var authdata \[string \[string string]?]? } func signupuser(username string, password string, email string) async { var newuser = user() newuser username = username newuser password = password newuser email = email do { newuser = try await newuser signup() print("user signed up successfully!") } catch { print("error signing up user \\(error)") } } func loginuser(username string, password string) async { do { let user = try await user login(username username, password password) print("user logged in \\(user)") } catch { print("error logging in user \\(error)") } } ผ่าน rest การเข้าสู่ระบบอาจมีลักษณะดังนี้ curl x get \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ g \\ \ data urlencode 'username=alice' \\ \ data urlencode 'password=secret123' \\ https //parseapi back4app com/login การจัดการเซสชัน หลังจากการเข้าสู่ระบบที่สำเร็จ, parse จะสร้าง โทเค็นเซสชัน คุณสามารถเข้าถึงผู้ใช้ที่เข้าสู่ระบบอยู่ในขณะนี้ if let currentuser = user current { print("currently logged in user \\(currentuser username ?? "no username")") } else { print("no user is logged in") } การออกจากระบบ do { try await user logout() } catch { print("error logging out \\(error)") } การรวมการเข้าสู่ระบบผ่านโซเชียล คุณสามารถรวมผู้ให้บริการที่นิยมเช่น google, apple, หรือ facebook โดยการกำหนดค่า authdata คำแนะนำโดยละเอียดจะแตกต่างกันไป, ดังนั้นโปรดดูที่ เอกสารการเข้าสู่ระบบผ่านโซเชียล https //www back4app com/docs/platform/sign in with apple การตรวจสอบอีเมลและการรีเซ็ตรหัสผ่าน เพื่อเปิดใช้งานการตรวจสอบอีเมลและการรีเซ็ตรหัสผ่าน ไปที่การตั้งค่าอีเมล ในแดชบอร์ด back4app ของคุณ เปิดใช้งานการตรวจสอบอีเมล กำหนดค่าที่อยู่จาก , เทมเพลตอีเมล และโดเมนที่กำหนดเองของคุณหากต้องการ สิ่งนี้ช่วยปรับปรุงความปลอดภัยของบัญชีโดยการตรวจสอบอีเมลของผู้ใช้และให้วิธีการกู้คืนรหัสผ่าน ขั้นตอนที่ 6 – การจัดการการจัดเก็บไฟล์ การอัปโหลดและการดึงไฟล์ parse รวมถึง parsefile คลาสสำหรับจัดการการอัปโหลดไฟล์ ซึ่ง back4app เก็บไว้อย่างปลอดภัย func uploadfile(data data) async > parsefile? { let file = parsefile(name "doc txt", data data) do { let savedfile = try await file save() print("file saved ", savedfile url ?? "no url") return savedfile } catch { print("error uploading file ", error) return nil } } แนบมันกับวัตถุ struct photo parseobject { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? var imagefile parsefile? } func createphotoobject(file parsefile) async { var photo = photo() photo imagefile = file do { try await photo save() print("photo object saved!") } catch { print("error saving photo ", error) } } ความปลอดภัยของไฟล์ คุณสามารถกำหนดค่าความปลอดภัยในการอัปโหลดไฟล์ในการตั้งค่า parse server ของคุณ ตัวอย่างเช่น การควบคุมว่าผู้ใช้คนใดสามารถอัปโหลดหรือลบไฟล์ได้ โปรดทราบว่าหากคุณแชร์ url ของไฟล์ ใครก็ตามที่มี url นั้นสามารถเข้าถึงได้ เว้นแต่คุณจะตั้งกฎที่เข้มงวดกว่าบนเซิร์ฟเวอร์ ขั้นตอนที่ 7 – การตรวจสอบอีเมลและการรีเซ็ตรหัสผ่าน ภาพรวม การตรวจสอบอีเมลและการรีเซ็ตรหัสผ่านเป็นสิ่งสำคัญสำหรับการจัดการผู้ใช้ที่ปลอดภัย เราได้กล่าวถึงเรื่องนี้แล้วใน ขั้นตอนที่ 5 , แต่เพื่อเป็นการเตือนความจำ เปิดใช้งานฟีเจอร์เหล่านี้ในแดชบอร์ด back4app (การตั้งค่าอีเมล) กำหนดค่าเทมเพลตอีเมล “เปิดใช้งานการตรวจสอบอีเมล” และ “รีเซ็ตรหัสผ่าน” ทดสอบการทำงานจากแอป macos ของคุณ ขั้นตอนที่ 8 – การกำหนดตารางงานด้วย cloud jobs cloud jobs cloud jobs ช่วยให้คุณกำหนดตารางและดำเนินการงานประจำในแบ็กเอนด์ของคุณ เช่น การส่งอีเมลเป็นระยะหรือการทำความสะอาดข้อมูล ตัวอย่างเช่น // main js parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); ปรับใช้ cloud code ของคุณ ด้วยงานใหม่ ไปที่แดชบอร์ด back4app > การตั้งค่าแอป > การตั้งค่าเซิร์ฟเวอร์ > งานเบื้องหลัง กำหนดเวลา งาน (เช่น ทุกวัน) ขั้นตอนที่ 9 – การรวม webhooks webhooks ช่วยให้แอป back4app ของคุณสามารถส่งคำขอ http ไปยังบริการภายนอกเมื่อเกิดเหตุการณ์บางอย่าง นี่เป็นเครื่องมือที่มีประสิทธิภาพสำหรับการรวมเข้ากับระบบของบุคคลที่สาม เช่น เกตเวย์การชำระเงิน เครื่องมือการตลาดทางอีเมล หรือแพลตฟอร์มการวิเคราะห์ ไปที่การกำหนดค่า webhooks ในแดชบอร์ด back4app ของคุณ > เพิ่มเติม > webhooks ตั้งค่าจุดสิ้นสุด (เช่น, https //your external service com/webhook endpoint ) กำหนดค่า triggers เพื่อระบุว่าเหตุการณ์ใดในคลาส back4app หรือฟังก์ชัน cloud code ของคุณจะทำให้เกิด webhook ตัวอย่างเช่น หากคุณต้องการแจ้งเตือน slack ทุกครั้งที่มีการสร้าง todo ใหม่ สร้างแอป slack ที่รับ webhook ที่เข้ามา คัดลอก url webhook ของ slack ในแดชบอร์ด back4app ของคุณ ตั้งค่าจุดสิ้นสุดเป็น url slack สำหรับเหตุการณ์ “บันทึกใหม่ในคลาส todo ” ขั้นตอนที่ 10 – สำรวจแผงผู้ดูแล back4app การ back4app admin app เป็นอินเทอร์เฟซการจัดการที่ใช้เว็บซึ่งออกแบบมาสำหรับผู้ใช้ที่ไม่ใช่เทคนิคเพื่อทำการดำเนินการ crud และจัดการงานข้อมูลประจำวันโดยไม่ต้องเขียนโค้ดใดๆ มันให้ model centric , user friendly อินเทอร์เฟซที่ช่วยให้การบริหารฐานข้อมูล การจัดการข้อมูลที่กำหนดเอง และการดำเนินงานในระดับองค์กรเป็นไปอย่างราบรื่น การเปิดใช้งาน admin app เปิดใช้งาน โดยไปที่ app dashboard > more > admin app และคลิกที่ “enable admin app ” สร้างผู้ใช้ admin คนแรก , ซึ่งจะสร้างบทบาทใหม่โดยอัตโนมัติ ( b4aadminuser ) และคลาสที่เกี่ยวข้องในสคีมาของแอปของคุณ เลือก subdomain สำหรับการเข้าถึงอินเทอร์เฟซผู้ดูแลระบบและทำการตั้งค่าให้เสร็จสมบูรณ์ เข้าสู่ระบบ โดยใช้ข้อมูลประจำตัวผู้ดูแลระบบที่คุณสร้างขึ้นเพื่อเข้าถึงแดชบอร์ด admin app ใหม่ของคุณ เมื่อเปิดใช้งาน แอป back4app admin จะทำให้การดู แก้ไข หรือ ลบข้อมูลจากฐานข้อมูลของคุณเป็นเรื่องง่าย—โดยไม่ต้องใช้ parse dashboard หรือโค้ดด้านหลังโดยตรง บทสรุป โดยการติดตามบทแนะนำที่ครอบคลุมนี้ คุณได้ สร้างแบ็กเอนด์ที่ปลอดภัย สำหรับแอป macos บน back4app กำหนดค่าฐานข้อมูล ด้วยสคีมาของคลาส ประเภทข้อมูล และความสัมพันธ์ รวมการค้นหาแบบเรียลไทม์ (live queries) สำหรับการอัปเดตข้อมูลทันที ใช้มาตรการด้านความปลอดภัย โดยใช้ acls และ clps เพื่อปกป้องและจัดการการเข้าถึงข้อมูล นำ cloud code ฟังก์ชันมาใช้เพื่อรันตรรกะทางธุรกิจที่กำหนดเองในฝั่งเซิร์ฟเวอร์ ตั้งค่าการตรวจสอบสิทธิ์ผู้ใช้ โดยมีการสนับสนุนการตรวจสอบอีเมลและการรีเซ็ตรหัสผ่าน จัดการการอัปโหลดไฟล์ และการเรียกคืน โดยมีการควบคุมความปลอดภัยของไฟล์เป็นตัวเลือก กำหนดตารางงาน cloud jobs สำหรับงานพื้นหลังอัตโนมัติ ใช้ webhooks เพื่อรวมกับบริการภายนอก สำรวจ back4app admin panel สำหรับการจัดการข้อมูล ด้วยส่วนหน้าที่มั่นคงบน macos และส่วนหลังที่แข็งแกร่งจาก back4app ตอนนี้คุณมีความพร้อมในการพัฒนาแอปพลิเคชันเดสก์ท็อปที่มีฟีเจอร์ครบถ้วน ขยายขนาดได้ และปลอดภัย สำรวจฟังก์ชันที่ซับซ้อนมากขึ้น รวมถึงการรวมตรรกะทางธุรกิจของคุณ และใช้พลังของ back4app เพื่อประหยัดเวลาในการจัดการเซิร์ฟเวอร์และฐานข้อมูลอย่างมากมาย ขั้นตอนถัดไป สร้างแอป macos ที่พร้อมสำหรับการผลิต โดยการขยายส่วนหลังนี้เพื่อจัดการกับโมเดลข้อมูลที่ซับซ้อนมากขึ้น กลยุทธ์การแคช และการปรับแต่งประสิทธิภาพ รวมฟีเจอร์ขั้นสูง เช่น กระบวนการตรวจสอบสิทธิ์เฉพาะทาง การควบคุมการเข้าถึงตามบทบาท หรือ api ภายนอก (เช่น เกตเวย์การชำระเงิน) ตรวจสอบเอกสารทางการของ back4app สำหรับการเจาะลึกในด้านความปลอดภัยขั้นสูง การปรับแต่งประสิทธิภาพ และการวิเคราะห์บันทึก สำรวจบทเรียนอื่นๆ เกี่ยวกับการสื่อสารแบบเรียลไทม์ แดชบอร์ด iot หรือบริการที่อิงตามตำแหน่ง รวมเทคนิคที่เรียนรู้ที่นี่กับ api ของบุคคลที่สามเพื่อสร้างแอปพลิเคชันที่ซับซ้อนในโลกจริง