Quickstarters
Feature Overview
How to Build a Backend for NativeScript?
44 นาที
บทนำ ในบทเรียนนี้ คุณจะได้เรียนรู้ วิธีการสร้างแบ็คเอนด์สำหรับ nativescript โดยใช้ back4app ซึ่งเป็นแพลตฟอร์มโอเพนซอร์สที่ทำให้การพัฒนาแบ็คเอนด์สำหรับแอปมือถือเป็นเรื่องง่ายขึ้น เราจะเดินผ่านการรวมฟีเจอร์สำคัญของ back4app—เช่น การจัดการฐานข้อมูล, ฟังก์ชัน cloud code, จุดสิ้นสุด api rest และ graphql, การตรวจสอบสิทธิ์ผู้ใช้, และการสอบถามแบบเรียลไทม์ (live queries)—เพื่อสร้างแบ็คเอนด์ที่ปลอดภัยและสามารถขยายได้สำหรับแอป nativescript ของคุณ คุณจะได้ค้นพบว่า back4app ช่วยลดเวลาการตั้งค่าได้อย่างมากเมื่อเปรียบเทียบกับการกำหนดค่าของเซิร์ฟเวอร์และฐานข้อมูลด้วยตนเอง เราจะสำรวจกลไกความปลอดภัยขั้นสูง, การกำหนดตารางงานด้วย cloud jobs, และการใช้เว็บฮุคเพื่อติดต่อกับบริการของบุคคลที่สาม เมื่อสิ้นสุดคู่มือนี้ คุณจะมีแบ็กเอนด์ที่ยืดหยุ่นซึ่งใช้ประโยชน์จาก nativescript core ซึ่งเป็นตัวขับเคลื่อนโซลูชันมือถือข้ามแพลตฟอร์มของ nativescript ด้วยพื้นฐานนี้ คุณจะพร้อมที่จะรวมตรรกะที่กำหนดเองหรือ api ภายนอกตามที่ต้องการ นี่จะเป็นก้าวสำคัญในการพัฒนาแอป nativescript ที่พร้อมสำหรับการผลิต ข้อกำหนดเบื้องต้น บัญชี back4app และโครงการ back4app ใหม่ เริ่มต้นใช้งาน back4app https //www back4app com/docs/get started/new parse app หากคุณไม่มีบัญชี คุณสามารถสร้างบัญชีได้ฟรี ทำตามคู่มือนี้เพื่อเตรียมโครงการของคุณ สภาพแวดล้อมการพัฒนา nativescript พื้นฐาน คุณสามารถตั้งค่านี้ได้โดยใช้ nativescript cli หรือเวิร์กโฟลว์ที่คุณชื่นชอบอื่น ๆ คู่มือเริ่มต้นใช้งาน nativescript https //docs nativescript org/environment setup ติดตั้ง node js (เวอร์ชัน 14 หรือสูงกว่า) คุณจะต้องใช้ node js สำหรับการติดตั้งแพ็คเกจ npm และการเรียกใช้ nativescript cli ติดตั้ง node js https //nodejs org/en/download/ ความคุ้นเคยกับ javascript และ nativescript core เอกสารทางการของ nativescript https //docs nativescript org/ หากคุณเป็นมือใหม่ใน nativescript ให้ตรวจสอบเอกสารทางการหรือบทแนะนำสำหรับผู้เริ่มต้นก่อนเริ่ม ตรวจสอบให้แน่ใจว่าคุณมีข้อกำหนดเบื้องต้นทั้งหมดนี้ก่อนที่คุณจะเริ่ม การมีโครงการ back4app ของคุณตั้งค่าและสภาพแวดล้อม nativescript ในเครื่องของคุณพร้อมจะช่วยให้คุณติดตามได้ง่ายขึ้น ขั้นตอนที่ 1 – การตั้งค่าโปรเจกต์ back4app สร้างโปรเจกต์ใหม่ ขั้นตอนแรกในการสร้างแบ็กเอนด์ nativescript ของคุณบน back4app คือการสร้างโปรเจกต์ใหม่ หากคุณยังไม่ได้ทำตามขั้นตอนเหล่านี้ เข้าสู่ระบบบัญชี back4app ของคุณ คลิกที่ปุ่ม “แอปใหม่” ในแดชบอร์ด back4app ของคุณ ตั้งชื่อแอปของคุณ (เช่น “nativescript backend tutorial”) หลังจากสร้างโปรเจกต์แล้ว คุณจะเห็นโปรเจกต์นั้นในแดชบอร์ด back4app ของคุณ โปรเจกต์นี้จะเป็นพื้นฐานสำหรับการตั้งค่าแบ็กเอนด์ทั้งหมดที่ครอบคลุมในบทเรียนนี้ เชื่อมต่อกับ parse sdk back4app ใช้แพลตฟอร์ม parse เพื่อจัดการข้อมูลของคุณ ฟังก์ชันเรียลไทม์ การตรวจสอบสิทธิ์ผู้ใช้ และอื่นๆ เพื่อเชื่อมต่อแอป nativescript ของคุณกับ back4app ให้ติดตั้ง parse npm package และเริ่มต้นด้วยข้อมูลประจำตัวที่คุณได้รับจากแดชบอร์ด back4app ของคุณ ดึงคีย์ parse ของคุณ ในแดชบอร์ด back4app ของคุณ ไปที่ส่วน “การตั้งค่าแอป” หรือ “ความปลอดภัย & คีย์” มองหาค่า application id , javascript key , และ parse server url (ในรูปแบบ https //parseapi back4app com ) ติดตั้ง parse sdk npm install parse จากนั้น เริ่มต้น parse ในไฟล์การกำหนดค่าหรือไฟล์เริ่มต้นหลักของคุณ (เช่น app js ) ตัวอย่างเช่น คุณอาจสร้างไฟล์ชื่อ parseconfig js ในโปรเจกต์ที่ใช้ nativescript src/parseconfig js import parse from 'parse'; // replace the placeholders with your back4app credentials parse initialize('your application id', 'your javascript key'); parse serverurl = 'https //parseapi back4app com'; export default parse; เมื่อใดก็ตามที่คุณต้องการเข้าถึง parse ในแอป nativescript ของคุณ เพียงแค่นำเข้าไฟล์นี้ โดยการทำขั้นตอนนี้ คุณได้สร้างการเชื่อมต่อที่ปลอดภัยระหว่างส่วนหน้า nativescript ของคุณและส่วนหลัง back4app ทำให้การดำเนินการข้อมูลง่ายขึ้น ขั้นตอนที่ 2 – การตั้งค่าฐานข้อมูล การบันทึกและการค้นหาข้อมูล เมื่อโปรเจกต์ back4app ของคุณพร้อมและได้รวม parse sdk แล้ว คุณสามารถบันทึกและค้นหาข้อมูลจากแอป nativescript ของคุณ ด้านล่างนี้คือตัวอย่างการใช้ parse object คลาสในการบันทึกและดึงรายการ // example create a task item import parse from ' /parseconfig'; async function createtaskitem(title, iscompleted) { const task = parse object extend('task'); const task = new task(); task set('title', title); task set('iscompleted', iscompleted); try { const savedtask = await task save(); console log('task saved successfully ', savedtask); return savedtask; } catch (error) { console error('error saving task ', error); } } // example query all task items async function fetchtasks() { const task = parse object extend('task'); const query = new parse query(task); try { const results = await query find(); console log('fetched task items ', results); return results; } catch (error) { console error('error fetching tasks ', error); } } คุณยังสามารถใช้ rest api ของ back4app หากคุณต้องการการเรียก http โดยตรง 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 supplies", "iscompleted" false}' \\ https //parseapi back4app com/classes/task หรือใช้ graphql mutation { createtask(input { fields { title "clean the house" iscompleted false } }) { task { objectid title iscompleted } } } ความยืดหยุ่นนี้ทำให้สะดวกในการสร้างฟีเจอร์แบ็คเอนด์สำหรับแอป nativescript ของคุณผ่าน parse sdk, rest, หรือ graphql api endpoints การออกแบบสคีมาและประเภทข้อมูล โดยค่าเริ่มต้น parse สามารถสร้างสคีมาโดยอัตโนมัติได้ หรือคุณสามารถกำหนดคลาสและประเภทข้อมูลของคุณในแดชบอร์ด back4app ไปที่ส่วน “ฐานข้อมูล” ในแดชบอร์ด back4app ของคุณ สร้างคลาสใหม่ (เช่น “task”) และเพิ่มคอลัมน์เช่น title (string) และ iscompleted (boolean) back4app รองรับประเภทข้อมูลเช่น string , number , boolean , object , date , file , pointer , array , relation , geopoint , และ polygon คุณสามารถให้ parse สร้างคอลัมน์เหล่านี้เมื่อคุณบันทึกวัตถุครั้งแรกหรือกำหนดพวกเขาเพื่อควบคุมมากขึ้น การใช้ ai agent ของ back4app ยังช่วยให้คุณสร้าง schema โดยอัตโนมัติ เปิด ai agent ในแดชบอร์ดแอปของคุณ อธิบายโมเดลข้อมูลที่คุณต้องการ (เช่น “กรุณาสร้างคลาส task ใหม่สำหรับแอปมือถือที่มีฟิลด์ iscompleted และ duedate ”) ให้ตัวแทนสร้าง schema โดยอัตโนมัติ ข้อมูลเชิงสัมพันธ์ หากคุณต้องการข้อมูลเชิงสัมพันธ์—เช่น วัตถุประเภท ที่ชี้ไปยังหลาย รายการงาน —ให้ใช้ pointers หรือ relations ใน parse // linking a task to a category with a pointer async function createtaskforcategory(categoryobjectid, title) { const task = new parse object('task'); const categorypointer = new parse object('category'); categorypointer id = categoryobjectid; task set('title', title); task set('category', categorypointer); try { return await task save(); } catch (err) { console error('error creating task with category relationship ', err); } } // including the pointer data in a query const query = new parse query('task'); query include('category'); const taskswithcategory = await query find(); วิธีนี้ช่วยให้คุณดึงข้อมูลทั้งหมดสำหรับ task และ category ที่เกี่ยวข้องในคำค้นหาเดียว การค้นหาสด สำหรับการอัปเดตแบบเรียลไทม์ ให้เปิดใช้งาน live queries ใน การตั้งค่าเซิร์ฟเวอร์ ในแดชบอร์ด back4app นักพัฒนา nativescript สามารถสมัครรับการเปลี่ยนแปลงในคลาสเฉพาะ อัปเดตการตั้งค่า parse ของคุณเพื่อรวม url เซิร์ฟเวอร์ live query src/parseconfig js import parse from 'parse'; // replace the placeholders with your back4app credentials parse initialize('your application id', 'your javascript key'); parse serverurl = 'https //parseapi back4app com'; parse livequeryserverurl = 'wss\ //your subdomain here b4a io'; export default parse; จากนั้นสมัครสมาชิกเพื่อรับเหตุการณ์แบบเรียลไทม์ import parse from ' /parseconfig'; async function subscribetotasks(callback) { const query = new parse query('task'); const subscription = await query subscribe(); subscription on('create', (newtask) => { console log('new task created ', newtask); callback('create', newtask); }); subscription on('update', (updatedtask) => { console log('task updated ', updatedtask); callback('update', updatedtask); }); subscription on('delete', (deletedtask) => { console log('task deleted ', deletedtask); callback('delete', deletedtask); }); return subscription; } การสมัครสมาชิกนี้จะอัปเดต ui ของคุณโดยอัตโนมัติเมื่อมีการเพิ่ม แก้ไข หรือ ลบ task —เหมาะสำหรับแอป nativescript ที่ทำงานร่วมกันแบบสด ขั้นตอนที่ 3 – การใช้ความปลอดภัยด้วย acls และ clps กลไกความปลอดภัยของ back4app back4app รวม access control lists (acls) และ class level permissions (clps) เพื่อปกป้องข้อมูลของคุณ โมเดลความปลอดภัยเหล่านี้ช่วยให้คุณควบคุมการเข้าถึงการอ่าน/เขียนทั้งในระดับคลาสและระดับวัตถุ access control lists (acls) acl กำหนดสิทธิ์สำหรับแต่ละวัตถุ ตัวอย่างเช่น เพื่อให้เจ้าของเท่านั้นที่มีสิทธิ์อ่านและเขียน async function createprivatetask(title, owneruser) { const task = parse object extend('task'); const task = new task(); task set('title', title); const acl = new parse acl(owneruser); acl setpublicreadaccess(false); acl setpublicwriteaccess(false); task setacl(acl); try { return await task save(); } catch (err) { console error('error saving private task ', err); } } สิ่งนี้ทำให้แน่ใจว่าผู้ใช้ที่ระบุเท่านั้นที่สามารถแก้ไขหรืออ่านวัตถุได้ การอนุญาตระดับคลาส (clps) clps กำหนดการอนุญาตเริ่มต้นสำหรับทั้งคลาส เปิดฐานข้อมูล ใน back4app และเลือกคลาสที่เกี่ยวข้อง เข้าถึงการอนุญาตระดับคลาส แท็บ ปรับการอนุญาตสำหรับสาธารณะ ผู้ใช้ที่ได้รับการตรวจสอบ หรือบทบาทเฉพาะตามที่ต้องการ การรวม acls และ clps จะเสนอโมเดลความปลอดภัยที่แข็งแกร่งสำหรับแอป nativescript สำหรับข้อมูลเพิ่มเติม โปรดดู แนวทางความปลอดภัยของแอป https //www back4app com/docs/security/parse security ขั้นตอนที่ 4 – การเขียนและการปรับใช้ฟังก์ชันคลาวด์ cloud code ช่วยให้คุณสามารถรันโค้ด javascript ที่กำหนดเองบนฝั่งเซิร์ฟเวอร์ได้ ดังนั้นคุณจึงไม่จำเป็นต้องดูแลโครงสร้างพื้นฐานด้วยตนเอง สิ่งนี้เหมาะสำหรับการเพิ่มตรรกะขั้นสูงหรือการรวมเฉพาะเซิร์ฟเวอร์ในแบ็กเอนด์ nativescript ของคุณ มันทำงานอย่างไร คุณมักจะวางโค้ด cloud ของคุณ (ฟังก์ชัน javascript, ทริกเกอร์ และโมดูล npm ที่จำเป็น) ใน main js ไฟล์ จากนั้นคุณจะนำไปใช้งานที่ back4app และมันจะทำงานในสภาพแวดล้อมของ parse server โดยไม่ต้องมีการกำหนดค่าของเซิร์ฟเวอร์เพิ่มเติม โครงสร้าง main js ตัวอย่าง const axios = require('axios'); parse cloud define('fetchexternaldata', async (request) => { const url = request params url; if (!url) { throw new error('url parameter is required'); } const response = await axios get(url); return response data; }); parse cloud beforesave('task', (request) => { const task = request object; if (!task get('title')) { throw new error('task must have a title'); } }); คุณสามารถติดตั้งและใช้แพ็คเกจ npm เช่น axios สำหรับการร้องขอ http วิธีนี้ช่วยให้สามารถรวมระบบได้หลากหลาย ตั้งแต่เกตเวย์การชำระเงินไปจนถึง api ภายนอก ทั้งหมดอยู่ภายใต้ความปลอดภัยของแอป back4app ของคุณ กรณีการใช้งานทั่วไป ตรรกะทางธุรกิจ การคำนวณอัตโนมัติ การแปลงข้อมูล หรือการอัปเดตสถานะ การตรวจสอบข้อมูล ตรวจสอบให้แน่ใจว่าฟิลด์ที่จำเป็นมีอยู่ก่อนที่จะบันทึก ทริกเกอร์ รันโค้ดเมื่อมีการสร้าง อัปเดต หรือลบข้อมูล การรวมระบบ เชื่อมต่อกับบริการภายนอกสำหรับการชำระเงิน การวิเคราะห์ หรือการส่งข้อความ การบังคับใช้ความปลอดภัย ตรวจสอบข้อมูลที่เข้ามาหรือบทบาทของผู้ใช้ก่อนดำเนินการ นำฟังก์ชันของคุณไปใช้งาน นี่คือฟังก์ชันง่ายๆ ที่คำนวณความยาวของข้อความ main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); การปรับใช้ผ่าน https //www back4app com/docs/local development/parse cli ติดตั้ง cli curl https //raw\ githubusercontent com/back4app/parse cli/back4app/installer sh | sudo /bin/bash สำหรับ windows ให้ดาวน์โหลด b4a exe https //github com/back4app/parse cli/releases/download/release 3 3 1/b4a exe ไฟล์จาก หน้าการเผยแพร่ https //github com/back4app/parse cli/releases กำหนดค่าคีย์บัญชีของคุณ b4a configure accountkey ปรับใช้โค้ดคลาวด์ของคุณ b4a deploy การปรับใช้ผ่านแดชบอร์ด ไปที่ cloud code > functions ในแดชบอร์ดของคุณ วางโค้ดฟังก์ชันของคุณลงใน main js คลิก deploy เรียกใช้ฟังก์ชันของคุณ จากแอป nativescript ของคุณโดยใช้ parse sdk import parse from ' /parseconfig'; async function gettextlength(text) { try { const result = await parse cloud run('calculatetextlength', { text }); console log('text length ', result length); } catch (err) { console error('error calling cloud function ', err); } } คุณยังสามารถเรียกใช้มันโดยใช้ rest หรือ graphql curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"text" "hello back4app"}' \\ https //parseapi back4app com/functions/calculatetextlength mutation { calculatetextlength(input { text "hello graphql" }) { result } } นี่ให้วิธีที่ยืดหยุ่นในการรวมตรรกะฝั่งเซิร์ฟเวอร์เข้ากับแอปมือถือที่ใช้ nativescript ของคุณ ขั้นตอนที่ 5 – การกำหนดค่าการตรวจสอบสิทธิ์ผู้ใช้ การตรวจสอบผู้ใช้ใน back4app back4app ใช้ parse user คลาสในการจัดการการตรวจสอบผู้ใช้ ซึ่งรวมถึงการเข้ารหัสรหัสผ่าน โทเค็นเซสชัน และอื่นๆ ซึ่งช่วยลดความซับซ้อนที่เกี่ยวข้องกับการจัดการบัญชีผู้ใช้ได้มาก การตั้งค่าการตรวจสอบผู้ใช้ ในแอป nativescript ของคุณ คุณสามารถสร้างผู้ใช้ใหม่ได้ import parse from ' /parseconfig'; async function signupuser(username, password, email) { const user = new parse user(); user set('username', username); user set('password', password); user set('email', email); try { await user signup(); console log('user signed up successfully!'); } catch (error) { console error('error signing up user ', error); } } async function loginuser(username, password) { try { const user = await parse user login(username, password); console log('user logged in ', user); } catch (error) { console error('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 จะมอบ โทเค็นเซสชัน ให้กับผู้ใช้ เพื่อเช็คผู้ใช้ที่เข้าสู่ระบบอยู่ในขณะนี้ const currentuser = parse user current(); if (currentuser) { console log('logged in user ', currentuser getusername()); } else { console log('no user is logged in'); } การออกจากระบบนั้นง่าย await parse user logout(); การรวมเข้าสู่ระบบด้วยโซเชียล parse ยังรวมเข้ากับผู้ให้บริการ oauth เช่น google หรือ facebook การตั้งค่าจะแตกต่างกันไปตามผู้ให้บริการ ดังนั้นโปรดดูที่ ลงชื่อเข้าใช้ด้วย apple และอื่นๆ https //www back4app com/docs/platform/sign in with apple เพื่อดูรายละเอียด ตัวอย่างเช่น กับ facebook const facebooklogin = async () => { try { const user = await parse facebookutils login('email'); console log(user existed() ? 'user logged in' 'user signed up and logged in'); } catch (error) { console error('error logging in with facebook ', error); } }; การตรวจสอบอีเมลและการรีเซ็ตรหัสผ่าน เปิดใช้งานฟีเจอร์เหล่านี้ในแดชบอร์ด back4app ของคุณ ไปที่การตั้งค่าอีเมล ในแอป back4app ของคุณ เปิดใช้งานการตรวจสอบอีเมล และ การรีเซ็ตรหัสผ่าน กำหนดค่าเทมเพลตอีเมลและที่อยู่ “จาก” ของคุณ ขั้นตอนที่ 6 – การจัดการการจัดเก็บไฟล์ การอัปโหลดและเรียกคืนไฟล์ back4app รองรับการจัดการไฟล์ผ่านคลาส parse file ใน nativescript คุณสามารถอัปโหลดภาพหรือเอกสารได้ในลักษณะเดียวกัน import parse from ' /parseconfig'; async function uploadimage(file) { const name = file name; const parsefile = new parse file(name, file); try { const savedfile = await parsefile save(); console log('file saved ', savedfile url()); return savedfile url(); } catch (err) { console error('error uploading file ', err); } } async function createphotoobject(file) { const photo = parse object extend('photo'); const photo = new photo(); const parsefile = new parse file(file name, file); photo set('imagefile', parsefile); return await photo save(); } คุณสามารถเรียกคืน url ของไฟล์จากวัตถุที่บันทึก const imagefile = photo get('imagefile'); const imageurl = imagefile url(); // use imageurl in your nativescript ui components ความปลอดภัยของไฟล์ parse server ช่วยให้คุณกำหนดค่าความปลอดภัยในการอัปโหลดไฟล์ { "fileupload" { "enableforpublic" true, "enableforanonymoususer" true, "enableforauthenticateduser" true } } สิ่งนี้ช่วยให้คุณสามารถจำกัดหรืออนุญาตการอัปโหลดไฟล์ตามความชอบด้านความปลอดภัยของคุณ ขั้นตอนที่ 7 – การกำหนดตารางงานด้วย cloud jobs งานคลาวด์ งานคลาวด์ ช่วยให้คุณสามารถทำงานอัตโนมัติในกิจกรรมประจำ เช่น การลบระเบียนที่ไม่ใช้แล้วหรือการส่งการแจ้งเตือน ตัวอย่างเช่น // main js parse cloud job('cleanupoldtasks', async (request) => { const task = parse object extend('task'); const query = new parse query(task); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); try { const oldtasks = await query find({ usemasterkey true }); await parse object destroyall(oldtasks, { usemasterkey true }); return `deleted ${oldtasks length} old tasks `; } catch (err) { throw new error('cleanup error ' + err message); } }); ปรับใช้ งานนี้ผ่าน cli หรือแดชบอร์ด ใน แดชบอร์ด back4app > การตั้งค่าเซิร์ฟเวอร์ > งานพื้นหลัง , กำหนดให้ทำงานทุกวันหรือในช่วงเวลาที่คุณเลือก ขั้นตอนที่ 8 – การรวม webhooks webhooks ช่วยให้คุณส่งคำขอ http ไปยังบริการภายนอกเมื่อเกิดเหตุการณ์บางอย่างในแอปของคุณ เช่น ระเบียนใหม่หรือการลงทะเบียนผู้ใช้ ซึ่งสามารถใช้เพื่อรวมกับ slack, เกตเวย์การชำระเงิน หรือแพลตฟอร์มการวิเคราะห์ ไปที่การกำหนดค่า webhooks ในแดชบอร์ด back4app ของคุณและเลือก เพิ่ม webhook เพิ่ม url จุดสิ้นสุดของคุณ (เช่น https //your service com/webhook ) กำหนดค่า triggers สำหรับคลาสหรือเหตุการณ์เฉพาะ คุณยังสามารถกำหนด webhooks ใน cloud code หรือเรียกใช้ api ภายนอกโดยตรงใน triggers เช่น beforesave หรือ aftersave ขั้นตอนที่ 9 – สำรวจแผงผู้ดูแลระบบ back4app แอป back4app admin app เป็นอินเทอร์เฟซที่มุ่งเน้นโมเดลและใช้งานง่ายสำหรับการจัดการข้อมูล ช่วยให้ทีมงานหรือผู้ใช้ที่ไม่ใช่เทคนิคสามารถดำเนินการ crud สร้างแดชบอร์ดที่กำหนดเอง และจัดการงานในระดับองค์กรโดยไม่ต้องเขียนโค้ด การเปิดใช้งานแอปผู้ดูแลระบบ ใน แดชบอร์ดแอป , คลิก เพิ่มเติม > แอปผู้ดูแลระบบ เปิดใช้งานแอปผู้ดูแลระบบ สร้างผู้ใช้ผู้ดูแลระบบคนแรก (ชื่อผู้ใช้/รหัสผ่าน) การตั้งค่านี้จะเพิ่ม b4aadminuser และคลาสที่เกี่ยวข้อง ( b4asetting , b4amenuitem , ฯลฯ) ลงในสคีมา เลือกซับโดเมน จากนั้นเข้าสู่ระบบด้วยข้อมูลประจำตัวผู้ดูแลระบบใหม่ของคุณ พอร์ทัลนี้ช่วยให้การจัดการข้อมูลได้อย่างรวดเร็วโดยไม่ต้องออกจากอินเทอร์เฟซกราฟิก—เป็นโซลูชันที่ยอดเยี่ยมสำหรับการทำงานร่วมกับสมาชิกในทีมที่อาจไม่คุ้นเคยกับการเขียนโค้ด บทสรุป โดยการทำตามคู่มือนี้ คุณได้เรียนรู้ วิธีการสร้างแบ็คเอนด์สำหรับ nativescript โดยใช้ back4app และ สร้างแบ็คเอนด์ที่ปลอดภัย สำหรับแอป nativescript ของคุณ กำหนดค่าฐานข้อมูล ด้วยคลาส สคีมา และความสัมพันธ์ ดำเนินการค้นหาข้อมูลแบบเรียลไทม์ สำหรับการอัปเดตสด รักษาความปลอดภัยข้อมูลของคุณ ด้วย acls และ clps ขยายฟังก์ชันการทำงานด้วย cloud code ตั้งค่าการตรวจสอบสิทธิ์ สำหรับการลงทะเบียนผู้ใช้ การเข้าสู่ระบบ และโทเค็นเซสชัน จัดการการอัปโหลดไฟล์ และการเรียกคืนผ่าน parse file กำหนดตารางงาน cloud jobs สำหรับงานอัตโนมัติและเป็นระยะ สร้าง webhooks สำหรับการรวมกับบุคคลที่สาม ใช้ back4app admin panel สำหรับการจัดการข้อมูลโดยไม่ต้องเขียนโค้ด ขั้นตอนเหล่านี้สร้างพื้นฐานที่แข็งแกร่งสำหรับการสร้างแอปมือถือแบบโอเพ่นซอร์สและข้ามแพลตฟอร์มด้วย nativescript core สำรวจฟีเจอร์ขั้นสูงต่อไป รวมถึงการรวมจุดสิ้นสุด api เพิ่มเติม หรือรวมตรรกะที่กำหนดเองของคุณเพื่อปรับแต่งแบ็คเอนด์ให้ตรงตามความต้องการของแอปของคุณอย่างแม่นยำ ขั้นตอนถัดไป ปรับขนาดแอป nativescript ของคุณ โดยการเพิ่มประสิทธิภาพ ประหยัดข้อมูล และกฎความปลอดภัย สำรวจการจัดการผู้ใช้ขั้นสูง เช่น การอนุญาตตามบทบาท ตรวจสอบเอกสารทางการของ back4app สำหรับคู่มือเชิงลึกเกี่ยวกับความปลอดภัย บันทึก และประสิทธิภาพ ทดลองกับการรวมจริง เช่น การชำระเงินหรือเครื่องมือวิเคราะห์ ขอให้สนุกกับการเขียนโค้ด และเพลิดเพลินกับกระบวนการพัฒนาที่ราบรื่นที่ back4app มอบให้!