मोबाइल ऐप के लिए बैकएंड कैसे बनाएं?

इस लेख में, आप जानेंगे कि मोबाइल ऐप के लिए बैकएंड क्या होता है और अपना बैकएंड बनाने के लिए आपको क्या-क्या जानना ज़रूरी है।

हम एक बैकएंड और एक फ्रंटएंड के बीच के अंतर, विभिन्न बैकएंड प्रकारों पर चर्चा करेंगे, मोबाइल बैकएंड कार्यक्षमताओं और बैकएंड विकसित करने की लागत के बारे में जानेंगे।

अंत में, हम Back4app पर एक सरल मोबाइल एप्लिकेशन के लिए बैकएंड कैसे बनाएं, यह सीखेंगे – जो कि सबसे अच्छे MBaaS प्रदाताओं में से एक है।

Contents

फ्रंटएंड और बैकएंड के बीच अंतर

फ्रंटएंड और बैकएंड शब्द प्रस्तुति परत और डेटा एक्सेस परत के बीच के मामलों के पृथक्करण को संदर्भित करते हैं।

उनके अंतर को समझने का सबसे आसान तरीका है एक हिमखंड की कल्पना करना। फ्रंटएंड पानी की सतह के ऊपर है और वह सब कुछ है जिसे एक उपयोगकर्ता देख और इंटरैक्ट कर सकता है। दूसरी ओर, बैकएंड हिमखंड का वह हिस्सा है जो पानी के नीचे है। यह वह आधारभूत तर्क है जो व्यवसाय को शक्ति प्रदान करता है।

Frontend versus Backend visualization

फ्रंटएंड

फ्रंटएंड एक वेबसाइट, मोबाइल ऐप या किसी अन्य प्रकार के क्लाइंट का ग्राफिकल यूजर इंटरफ़ेस है जिससे उपयोगकर्ता इंटरैक्ट कर सकता है। फ्रंटएंड में एक एप्लिकेशन के सभी दृश्य पहलू शामिल होते हैं जैसे कि डिज़ाइन, मेनू, पाठ, छवियां, वीडियो आदि। अधिकांश परियोजनाओं में, यह कुल प्रयास का लगभग 20% हिस्सा होता है और दोहरावदार नहीं होता।

फ्रंटएंड डेवलपर्स को इन बातों का ध्यान रखना होता है:

  • उत्तरदायी डिजाइन
  • एप्लिकेशन प्रदर्शन
  • क्रॉस-ब्राउज़र संगतता
  • एक्सेसिबिलिटी की चिंताएं
  • SEO अनुकूलन

वेब फ्रंटएंड आमतौर पर HTML, CSS, JavaScript, और WebAssembly जैसे उपकरणों से लागू किए जाते हैं। नेटिव एंड्रॉइड ऐप्स Java/Kotlin में लिखे जाते हैं, जबकि नेटिव iOS Objective-C और Swift का उपयोग करता है।

हाल के वर्षों में कई फ्रंटएंड डेवलपर्स ने React Native, Vue, और Svelte Native जैसे उपकरणों को अपनाया ताकि विकास प्रक्रिया को और सरल बनाया जा सके और एक ही कोडबेस को विभिन्न प्लेटफार्मों पर काम करने योग्य बनाया जा सके।

फ्रंटएंड को Google Play, App Store, Vercel, Netlify जैसी सेवाओं पर “तैनात” किया जा सकता है।

बैकएंड

बैकएंड या सर्वर-साइड डेवलपमेंट डेटा एक्सेस परत के विकास का अभ्यास है। बैकएंड डेटाबेस और फ्रंटएंड के बीच कनेक्शन है। अधिकांश बैकएंड एक एप्लिकेशन परत इंटरफ़ेस (API) प्रदान करते हैं, जिसका उपयोग फ्रंटएंड डेटा प्राप्त करने और स्टोर करने के लिए कर सकता है।

डेटा आमतौर पर JSON या GraphQL प्रारूप में आदान-प्रदान किया जाता है। एक बैकएंड आमतौर पर काम का लगभग 80% हिस्सा होता है और दोहरावदार होता है। उदाहरण के लिए, लगभग हर परियोजना में प्रमाणीकरण, अधिकृतकरण, डेटाबेस प्रबंधन आदि की आवश्यकता होती है।

बैकएंड डेवलपर्स की जिम्मेदारियाँ:

  • डेटाबेस प्रबंधन
  • एप्लिकेशन बिजनेस लॉजिक
  • स्केलेबिलिटी, उच्च उपलब्धता
  • सुरक्षा चिंताएँ और बैकअप

बैकएंड डेवलपर्स आमतौर पर Python, JavaScript (Node.js), Ruby, C#, Java और Go जैसी प्रोग्रामिंग भाषाओं के साथ काम करते हैं। लेखन के समय सबसे लोकप्रिय बैकएंड आर्किटेक्चर मॉडल-व्यू-कंट्रोलर (MVC) है, जिसे Django और Laravel जैसी कई वेब फ्रेमवर्क द्वारा अपनाया गया है।

बैकएंड का सबसे महत्वपूर्ण घटक इसका डेटाबेस है। हमारे पास विभिन्न प्रकार के डेटाबेस हैं जिन्हें हम तीन सामान्य श्रेणियों में विभाजित कर सकते हैं:

  • SQL डेटाबेस
  • NoSQL डेटाबेस
  • मल्टी-पैराडाइम डेटाबेस

इनमें से प्रत्येक के अपने फायदे और नुकसान हैं, जिन पर परियोजना शुरू करते समय विचार किया जाना चाहिए।

एक बैकएंड को वांछित अमूर्तता स्तर के आधार पर विभिन्न प्लेटफार्मों पर तैनात किया जा सकता है। उदाहरण के लिए, आप अपना खुद का सर्वर, IaaS (AWS, GCE, Azure), PaaS (Heroku, Digital Ocean App Service) या BaaS (Back4app, Firebase, AWS Amplify) का उपयोग कर सकते हैं।

मोबाइल ऐप बैकएंड विकास के बारे में और जानने के लिए पढ़ते रहें।

मोबाइल ऐप के लिए बैकएंड क्या है?

मोबाइल एप्लिकेशन के लिए बैकएंड ऐप का वह हिस्सा है जो डिवाइस पर नहीं बल्कि एक सर्वर पर चलता है। बैकएंड उन कार्यक्षमताओं को प्रदान करता है जो ऐप को डेटा संग्रहित करने और प्रबंधित करने, उपयोगकर्ताओं को प्रमाणित करने, डेटा संसाधित और विश्लेषण करने, और अन्य प्रणालियों या सेवाओं के साथ संवाद करने के लिए आवश्यक हैं।

एक बैकएंड कई रूप ले सकता है, जैसे कि क्लाउड सेवा पर चलने वाला सर्वर, एक डेटाबेस, या एक API। यह आवश्यक बुनियादी ढांचा और उपकरण प्रदान करता है जो ऐप को सही ढंग से काम करने के लिए चाहिए और उपयोगकर्ता को एक समृद्ध और आकर्षक अनुभव प्रदान करने में सक्षम बनाता है।

मोबाइल बैकएंड क्या कार्य प्रदान करता है?

मोबाइल ऐप के लिए बैकएंड आमतौर पर निम्नलिखित कार्यक्षमताएँ प्रदान करता है:

  • डेटा संग्रहित करना और प्रबंधित करना
  • डेटा संसाधित और विश्लेषण करना
  • प्रमाणीकरण और अधिकृतकरण
  • कई डिवाइसों के बीच सिंक्रोनाइज़ेशन
  • अन्य प्रणालियों और सेवाओं के साथ एकीकरण करने की क्षमता
  • सर्वर-साइड कार्यों का प्रबंधन
  • विश्लेषिकी और मॉनिटरिंग
  • पुश नोटिफिकेशन

क्या एक मोबाइल ऐप को बैकएंड की आवश्यकता है?

संक्षेप में: यदि आपका ऐप स्थानीय रूप से काम करता है (बिना इंटरनेट कनेक्शन के), तो आमतौर पर आपको बैकएंड की आवश्यकता नहीं होती, लेकिन इसका यह मतलब नहीं है कि आपका ऐप बैकएंड से लाभ नहीं उठा सकता।

इस उत्तर को बेहतर ढंग से समझने के लिए, आइए रोजमर्रा की जिंदगी में उपयोग किए जाने वाले कुछ ऐप्स पर नज़र डालें।

ऐप्स जिन्हें बैकएंड की आवश्यकता नहीं है:

  • कैलकुलेटर
  • कैलेंडर और घड़ी
  • कैमरा और गैलरी
  • वॉइस रिकॉर्डर
  • सिंगल-प्लेयर गेम्स

ऐप्स जिन्हें बैकएंड की आवश्यकता है:

  • ई-कॉमर्स ऐप्स – इन्वेंटरी, आदेशों आदि का ट्रैक रखने के लिए बैकएंड की आवश्यकता होती है।
  • परिवहन ऐप्स – बैकएंड टिकट प्रसंस्करण, विलंबों की जानकारी, आदि की अनुमति देता है।
  • मैसेजिंग ऐप्स – एक डिवाइस से दूसरे डिवाइस तक संदेशों को स्थानांतरित करने के लिए बैकएंड का उपयोग किया जाता है
  • मौसम ऐप्स – वर्तमान मौसम की जानकारी प्राप्त करने के लिए बैकएंड की आवश्यकता होती है

अब, आइए सोचें कि ऊपर सूचीबद्ध ऐप्स में बैकएंड कैसे सुधार ला सकता है:

  • कैलकुलेटर – जटिल गणनाओं को दूरदराज के सर्वर पर ऑफलोड करने के लिए बैकएंड का उपयोग कर सकता है
  • कैलेंडर और घड़ी – घटनाओं को डेटाबेस में संग्रहीत कर सकती है और उन्हें डिवाइसों के बीच सिंक कर सकती है
  • कैमरा – विरूपण, प्रकाश आदि को ठीक करने के लिए बैकएंड सेवा का उपयोग कर सकता है।
  • वॉइस रिकॉर्डर – शोर को दबाने के लिए बैकएंड सेवा का उपयोग कर सकता है
  • सिंगल-प्लेयर गेम्स – उपयोगकर्ता के स्कोर को डेटाबेस में संग्रहीत कर सकता है और लीडरबोर्ड प्रदर्शित कर सकता है

बैकएंड द्वारा प्रदान किए जाने वाले महान लाभों के कारण लगभग हर मोबाइल एप्लिकेशन का एक बैकएंड होता है। डेटा संग्रहित करने के अलावा, बैकएंड मोबाइल अनुप्रयोगों को विश्लेषिकी एकत्र करने, पुश नोटिफिकेशन भेजने, ऐप्स की निगरानी करने, क्रैश रिपोर्ट एकत्र करने, और अधिक करने की अनुमति देता है। यदि आप सफल होना चाहते हैं, तो आपको बड़े पैमाने पर एक बैकएंड की आवश्यकता होगी।

बैकएंड प्रकार क्या हैं?

आपके एप्लिकेशन के प्रकार के आधार पर आपके पास चुनने के लिए कई बैकएंड प्रकार होते हैं। सामान्य रूप से, हम उन्हें उनके अमूर्तता स्तर के आधार पर तीन समूहों में विभाजित कर सकते हैं:

  1. सॉफ़्टवेयर एज अ सर्विस (SaaS) या तृतीय-पक्ष सेवाएँ
  2. मोबाइल बैकएंड एज अ सर्विस (MBaaS)
  3. कस्टम बैकएंड्स

आइए इनमें से प्रत्येक पर नज़र डालते हैं।

सॉफ़्टवेयर एज अ सर्विस (SaaS) या तृतीय-पक्ष सेवाएँ

सॉफ़्टवेयर एज अ सर्विस (SaaS) एक सॉफ़्टवेयर डिलीवरी मॉडल है जिसमें एक सॉफ़्टवेयर एप्लिकेशन को तीसरे पक्ष के प्रदाता द्वारा होस्ट किया जाता है और इंटरनेट के माध्यम से ग्राहकों के लिए उपलब्ध कराया जाता है।

SaaS समाधानों में आमतौर पर उनके ग्राहकों से मासिक या वार्षिक आधार पर सदस्यता शुल्क लिया जाता है। यह बैकएंड प्रकार उपयोग करने में सबसे आसान है और आपको कुछ क्लिक में अपना बैकएंड सेटअप करने की अनुमति देता है।

इस बैकएंड प्रकार का नुकसान यह है कि संभवतः आपको ऐसा कोई SaaS नहीं मिलेगा जो आपकी परियोजना की सभी आवश्यकताओं को पूरा करे। एक वास्तविक दुनिया का बैकएंड बनाने के लिए आपको शायद कई SaaS समाधानों को संयोजित करना होगा।

SaaS के कुछ उदाहरण:

  • WordPress (सामग्री प्रबंधन प्रणाली)
  • Mailchimp (प्रबंधन सॉफ़्टवेयर और ईमेल मार्केटिंग)
  • Salesforce (ग्राहक संबंध प्रबंधन सॉफ़्टवेयर)
  • Shopify (ई-कॉमर्स प्लेटफ़ॉर्म)
  • Dropbox (फ़ाइल होस्टिंग)

मोबाइल बैकएंड एज अ सर्विस (MBaaS)

बैकएंड एज अ सर्विस (BaaS) एक ऐसा प्लेटफ़ॉर्म है जो विकास के बैकएंड हिस्से को स्वचालित करता है और क्लाउड बुनियादी ढांचे का ध्यान रखता है।

इसके अलावा, यह उपयोगकर्ता प्रबंधन, ईमेल सूचनाएं, पुश सूचनाएं, क्लाउड कोड फ़ंक्शन, सोशल मीडिया एकीकरण, फ़ाइल संग्रहण और भुगतान जैसी सुविधाएँ प्रदान करता है।

इससे डेवलपर्स को कोर व्यवसाय और फ्रंटएंड बनाने पर ध्यान केंद्रित करने की अनुमति मिलती है, बिना इसके कि वे अंतर्निहित बैकएंड और बुनियादी ढांचे की चिंता करें। फ्रंटएंड आमतौर पर BaaS विक्रेता द्वारा प्रदान किए गए विशिष्ट APIs और SDKs के माध्यम से विकसित किया जाता है। इससे ऐप्स कम जटिल और बनाए रखने में आसान हो जाते हैं।

Backend as a Service का उपयोग करने के लाभों में तेज़ विकास गति, कम इंजीनियरिंग लागत और कोर व्यवसाय पर ध्यान शामिल है।

BaaS के कुछ उदाहरण:

BaaS और MBaaS के बारे में अधिक जानना चाहते हैं? BaaS क्या है? देखें

कस्टम बैकएंड

एक कस्टम बैकएंड सबसे शक्तिशाली और लचीला विकल्प है। यह आपको पूर्ण नियंत्रण प्रदान करता है और आपको ऐसी सुविधाओं को लागू करने की अनुमति देता है जो किसी SaaS या MBaaS समाधान से संभव नहीं हैं।

इसका सबसे बड़ा नुकसान इसकी लागत और निर्माण में लगने वाला समय है। इस दृष्टिकोण का उपयोग करके, आप अपने बैकएंड के प्रदर्शन और सुरक्षा के लिए पूरी तरह जिम्मेदार होंगे।

कस्टम बैकएंड बनाना आमतौर पर महीनों का काम लेता है और इसके लिए एक कुशल बैकएंड डेवलपर या यहां तक कि बैकएंड डेवलपर्स की टीम की आवश्यकता होती है।

कस्टम बैकएंड बनाने के लिए लोकप्रिय फ्रेमवर्क:

बैकएंड फ्रेमवर्क्स के बारे में अधिक जानकारी के लिए देखें शीर्ष 10 बैकएंड फ्रेमवर्क्स

मोबाइल ऐप बैकएंड बनाने की लागत कितनी है?

मोबाइल ऐप बैकएंड की लागत निकालने का कोई सरल सूत्र नहीं है। लागत ऐप की जटिलता, विशेषताओं की संख्या, इसकी स्केलेबिलिटी, प्रदर्शन आदि पर निर्भर करती है।

SaaS लागत

SaaS आमतौर पर सबसे सस्ता विकल्प है जिसे आप चुन सकते हैं। SaaS उत्पाद आमतौर पर मासिक या वार्षिक सदस्यता शुल्क के साथ एक सीधी मूल्य निर्धारण मॉडल का पालन करते हैं। कुछ SaaS प्रदाता आपके व्यवसाय के आकार के आधार पर विभिन्न मूल्य निर्धारण श्रेणियां भी प्रदान करते हैं।

MBaaS लागत

कस्टम बैकएंड की तुलना में MBaaS का उपयोग करके बैकएंड बनाना वास्तव में सस्ता है। यह आपको विकास लागत को काफी कम करने की अनुमति देता है और बुनियादी ढांचा या विशिष्ट बैकएंड इंजीनियरों की टीम रखने की चिंता नहीं करनी पड़ती। इससे आपको बहुत पैसा बचता है!

अधिकांश MBaaS प्रदाता आपके ऐप के आकार के आधार पर विभिन्न मूल्य निर्धारण श्रेणियां प्रदान करते हैं। MBaaS का उपयोग करके, आप प्रति माह $15 से $500 तक का भुगतान करने की उम्मीद कर सकते हैं।

कस्टम बैकएंड लागत

कस्टम बैकएंड डेवलपमेंट सबसे महंगा विकल्प है। इस विकल्प को चुनने पर आपको कुशल डेवलपर्स की एक टीम एकत्र करनी होगी और अपने बैकएंड के बुनियादी ढांचे का ध्यान रखना होगा।

कस्टम बैकएंड बनाने की कीमतें आमतौर पर आपके प्रोजेक्ट की आवश्यकताओं के आधार पर कुछ हज़ार डॉलर से लेकर दसियों हज़ार डॉलर तक जाती हैं।

चूंकि कस्टम बैकएंड को लागू करना एक कठिन कार्य है, कंपनियां आमतौर पर इसे सॉफ़्टवेयर विकास में विशेषज्ञ कंपनियों को आउटसोर्स करती हैं।

MBaaS का उपयोग करके मोबाइल ऐप के लिए बैकएंड कैसे बनाएं?

इस ट्यूटोरियल के इस भाग में, हम Back4app का उपयोग करके मोबाइल ऐप के लिए बैकएंड विकसित करने के बारे में जानेंगे।

Back4app क्या है?

Back4app बाजार में सबसे अच्छे ओपन-सोर्स Backend as a Service (BaaS) समाधानों में से एक है। यह अपने उपयोगकर्ताओं को वेब और मोबाइल अनुप्रयोगों को तेज़ी से बनाने के लिए सुविधाओं और फायदों की एक विस्तृत श्रृंखला प्रदान करता है।

Back4app का उपयोग करके आप बैकएंड या अंतर्निहित बुनियादी ढांचे की चिंता किए बिना कोर व्यवसाय पर ध्यान केंद्रित कर सकेंगे।

यह समाधान एक फीचर-रिच और उपयोग में आसान डैशबोर्ड और एक कमांड लाइन इंटरफ़ेस (CLI) के साथ आता है। वे SDKs भी प्रदान करते हैं, जैसे कि Flutter, React Native, Node.js, Angular, Android, iOS आदि!

Back4app की मुख्य विशेषताएँ शामिल हैं:

  • स्प्रैडशीट-जैसा डेटाबेस
  • REST और GraphQL APIs
  • लाइव क्वेरीज़
  • प्रमाणीकरण (सामाजिक प्रमाणीकरण सहित)
  • स्केलेबल होस्टिंग
  • पुश और ईमेल नोटिफिकेशन

उनकी सुविधाओं के बारे में अधिक जानकारी के लिए देखें Back4app सुविधाएँ

Back4app एक सरल और सीधा मूल्य मॉडल अपनाता है जो किसी भी आकार के ऐप के अनुकूल हो सकता है। वे उदार मुफ्त योजना (कोई क्रेडिट कार्ड आवश्यक नहीं) प्रदान करते हैं जो प्रोटोटाइप बनाने और मंच का परीक्षण करने के लिए शानदार है। इसमें शामिल है:

  • 25k अनुरोध
  • 250 MB डेटा स्टोरेज
  • 1 GB ट्रांसफर
  • 1 GB फ़ाइल स्टोरेज

Back4app की कीमतों के बारे में अधिक जानकारी के लिए मूल्य निर्धारण पृष्ठ देखें।

प्रोजेक्ट परिचय

हम एक सरल समाचार ऐप के लिए बैकएंड बना रहे हैं। यह ऐप संपादकों को लेख बनाने, अपडेट करने और हटाने की अनुमति देगा। प्रशासन को यथासंभव आसान बनाने के लिए, हम Back4app का एडमिन ऐप सक्षम करेंगे।

हम बैकएंड सुरक्षा का ध्यान रखेंगे और बैकएंड के REST API का उपयोग कैसे करें यह दिखाएंगे। बैकएंड न्यूनतम कोड के साथ बनाया जाएगा।

पूर्वापेक्षाएँ:

  • Backend as a Service (BaaS) की बुनियादी समझ
  • डेटाबेस की बुनियादी समझ (और मॉडलों के बीच संबंध)
  • HTTP अनुरोधों और प्रतिक्रियाओं की बुनियादी समझ
  • JSON सिंटैक्स की समझ

उद्देश्य:

इस ट्यूटोरियल के अंत तक, आप सक्षम होंगे:

  • Back4app पर एक सरल बैकएंड बनाना और तैनात करना
  • अपने स्वयं के डेटाबेस को संरचित कर सकेंगे
  • Parse Platform सुरक्षा की मूल बातें समझना
  • REST API के माध्यम से CRUD ऑपरेशन्स कैसे करें यह जानना

ऐप बनाएं

निम्नलिखित चरणों के लिए आपको Back4app खाता होना आवश्यक होगा। यदि आपके पास पहले से है तो लॉग इन करें अन्यथा आगे बढ़ें और मुफ्त खाता साइन अप करें।

Back4app के साथ काम करने के लिए हमें पहले एक ऐप बनाना होगा। जैसे ही आप अपने डैशबोर्ड में लॉग इन करते हैं, आप अपने ऐप्स की सूची देखेंगे। एक नया ऐप बनाने के लिए “Build a new app” पर क्लिक करें।

Back4app Create App

इसे एक कस्टम नाम दें और फिर “Continue” पर क्लिक करें।

Back4app आपके ऐप के लिए आवश्यक सब कुछ तैयार करने में कुछ क्षण लेगा जैसे कि डेटाबेस, एप्लिकेशन परत, स्केलिंग, बैकअप और सुरक्षा।

एक बार जब आपका एप्लिकेशन तैयार हो जाएगा तो आपको आपके ऐप के डैशबोर्ड पर पुनर्निर्देशित कर दिया जाएगा।

Back4app App Dashboard

डेटाबेस

इस ट्यूटोरियल के इस भाग में, हम सभी आवश्यक डेटाबेस मॉडल बनाएंगे।

जैसा कि परियोजना परिचय में उल्लेख किया गया है, हम एक सरल समाचार ऐप बनाने जा रहे हैं। हमारा डेटाबेस निम्नलिखित मॉडलों से मिलकर बना होगा:

  • Article एक समाचार लेख का प्रतिनिधित्व करता है।
  • ArticleCategory एक लेख श्रेणी का प्रतिनिधित्व करता है (जैसे, खेल, मनोरंजन)। एक लेख एक श्रेणी से संबंधित हो सकता है।
  • ArticleTag एक लेख हैशटैग का प्रतिनिधित्व करता है (जैसे, सौंदर्य प्रसाधन, स्वास्थ्य, सुंदरता)। एक लेख में कई हैशटैग हो सकते हैं।

यह डेटाबेस संरचना हमें बाद में श्रेणियों या टैग्स के आधार पर लेखों को फ़िल्टर करने की अनुमति देगी। मॉडलों के बीच संबंधों को बेहतर ढंग से समझने के लिए चलिए एक एंटिटी रिलेशनशिप आरेख (ERD) बनाते हैं:

Database Entity Relationship Diagram

अब, आइए वास्तव में मॉडल बनाएं।

ArticleCategory मॉडल बनाने से शुरू करें। स्क्रीन के ऊपर बाएं कोने में “Create a class” पर क्लिक करें, इसका नाम ArticleCategory रखें और निम्नलिखित फ़ील्ड जोड़ें:

+-----------------------------+-------------+---------------+----------+
| Data type                   | Name        | Default value | Required |
+-----------------------------+-------------+---------------+----------+
| String                      | name        | <leave blank> | yes      |
+-----------------------------+-------------+---------------+----------+
| String                      | description | <leave blank> | no       |
+-----------------------------+-------------+---------------+----------+
| Pointer -> User             | author      | <leave blank> | yes      |
+-----------------------------+-------------+---------------+----------+

इसके बाद, ArticleTag नामक एक और क्लास बनाएं और निम्नलिखित विवरण जोड़ें:

+-----------------------------+-------------+---------------+----------+
| Data type                   | Name        | Default value | Required |
+-----------------------------+-------------+---------------+----------+
| String                      | name        | <leave blank> | yes      |
+-----------------------------+-------------+---------------+----------+
| Pointer -> User             | author      | <leave blank> | yes      |
+-----------------------------+-------------+---------------+----------+

अंत में, Article नामक एक और क्लास बनाएं और निम्नलिखित फ़ील्ड जोड़ें:

+-----------------------------+-------------+---------------+----------+
| Data type                   | Name        | Default value | Required |
+-----------------------------+-------------+---------------+----------+
| String                      | title       | <leave blank> | yes      |
+-----------------------------+-------------+---------------+----------+
| String                      | description | <leave blank> | no       |
+-----------------------------+-------------+---------------+----------+
| String                      | content     | <leave blank> | yes      |
+-----------------------------+-------------+--------------+-----------+
| Pointer -> ArticleCategory  | category    | <leave blank> | no       |
+-----------------------------+-------------+---------------+----------+
| Relation -> ArticleTag      | tags        | <leave blank> | no       |
+-----------------------------+-------------+---------------+----------+
| Pointer -> User             | author      | <leave blank> | yes      |
+-----------------------------+-------------+---------------+----------+

डेटाबेस आर्किटेक्चर के लिए इतना ही पर्याप्त है। अब आइए कुछ नमूना डेटा जोड़ें।

काज को थोड़ा आसान बनाने के लिए, मैंने कुछ डेटा जनरेट किया है जिसे आप आयात कर सकते हैं। डेटासेट आयात करने के लिए स्क्रीन के बाएं ओर कक्षा चुनें और फिर दाएँ ओर तीन बिंदुओं पर क्लिक करें। “Import” > “Class Data” चुनें और उपयुक्त फ़ाइल का चयन करें।

Back4app Data Import

JSON डेटासेट डाउनलोड करने के लिए back4app-mobile GitHub रिपॉजिटरी पर जाएं, “Code” पर क्लिक करें और फिर “Download ZIP” चुनें।

JSON फ़ाइलों को निम्नानुसार आयात करें:

  1. User
  2. ArticleCategory
  3. ArticleTag
  4. Article

ऐडमिन पैनल

प्रशासन को थोड़ा आसान बनाने के लिए हम एडमिन ऐप को सक्षम करेंगे। एडमिन ऐप एक वेब ब्राउज़र-आधारित उपकरण है जिसे गैर-तकनीकी यूज़र इंटरफ़ेस का उपयोग करके ऐप डेटा प्रबंधित करने के लिए डिजाइन किया गया है।

अपने ऐप डैशबोर्ड पर जाएं, “More” > “Admin App” पर क्लिक करें और फिर “Enable Admin App” बटन पर क्लिक करें।

Back4app Enable Admin Panel

एक उपयोगकर्ता नाम और पासवर्ड चुनें। मैं निम्न का उपयोग करूँगा:

Username: admin
Password: complexpassword123

फिर एक डोमेन नाम चुनें जिसका उपयोग आप अपने एडमिन पैनल तक पहुँचने के लिए करना चाहेंगे। मैं इस विकल्प का चयन करता हूँ:

mobile-backend.admin.back4app.com

शानदार, अब आप चयनित डोमेन पर अपने एडमिन डैशबोर्ड में लॉग इन कर सकते हैं।

Back4app एडमिन ऐप के बारे में अधिक जानने के लिए आधिकारिक दस्तावेज़ देखें।

ऐप को सुरक्षित बनाना

अपने ऐप को सुरक्षित बनाने के लिए हमें निम्नलिखित करना होगा:

  1. क्लाइंट्स को डेटाबेस कक्षाएं बनाने से अस्वीकृत करें।
  2. User मॉडल की क्लास लेवल परमिशन्स (CLPs) को संशोधित करें।
  3. हमारे द्वारा बनाए गए प्रत्येक मॉडल के लिए CLPs संशोधित करें।

क्लाइंट क्लास निर्माण अस्वीकृत करें

क्लाइंट क्लास निर्माण अस्वीकृत करने के लिए अपने “App Settings” > “Server Settings” > “Core Settings” > “Edit” पर जाएं, पृष्ठ के नीचे स्क्रॉल करें, और “Allow Client Class Creation” का चयन हटा दें।

User मॉडल CLPs संशोधित करें

“Database” टैब के भीतर अपने User मॉडल को चुनें, और स्क्रीन के दाईं ओर तीन बिंदुओं पर क्लिक करें > “Security” > “Class Level Permissions”। फिर गियर आइकन पर क्लिक करें और इसे “Advanced” में बदल दें। सब कुछ अनटिक करें सिवाय Get और Create के:

Back4app User Model CLPs

हमारे द्वारा बनाए गए प्रत्येक मॉडल के लिए CLPs संशोधित करें

अपने सभी कस्टम मॉडलों (Article, ArticleCategory, और ArticleTag) के लिए भी ऐसा ही करें। इस बार Public समूह के लिए सब कुछ अक्षम कर दें सिवाय Read और Find के:

Back4app Other Model CLPs

इस तरह, अनधिकृत उपयोगकर्ता केवल लेखों को ढूंढ और पढ़ सकेंगे।

सुरक्षा के बारे में अधिक जानकारी के लिए देखें Parse सुरक्षा

API परीक्षण

इस ट्यूटोरियल के इस भाग में, हम इनबिल्ट API कंसोल का उपयोग करके अपने API का परीक्षण करेंगे।

REST API कंसोल खोलने के लिए, अपने ऐप के डैशबोर्ड पर जाएं। “API” सेक्शन में “Console” चुनें और फिर “REST” चुनें।

Back4app REST API Console

हमारे ACL/CLPs के कारण सुनिश्चित करें कि अनुरोधों को सफल बनाने के लिए “Use Master Key?” पर टिक लगाएं।

प्राप्त करना (Retrieve)

ऑब्जेक्ट्स को GET अनुरोध प्रकार के साथ प्राप्त किया जा सकता है। एंडपॉइंट के लिए classes/<your_class> का उपयोग करें, उदाहरण के लिए classes/Article और पृष्ठ के नीचे “Send Query” बटन पर क्लिक करें।

प्रतिक्रिया कुछ इस तरह दिखेगी:

{
    "results": [
        {
            "objectId": "oRwkdx7KgX",
            "title": "Voting 2022 has ended!",
            "description": "The voting for year 2022 has ended, the new major is...",
            "content": "Lorem ipsum dolor sit amet...",
            "category": {
                "__type": "Pointer",
                "className": "ArticleCategory",
                "objectId": "FYxzrBlCBC"
            },
            "author": {
                "__type": "Pointer",
                "className": "_User",
                "objectId": "UZ76K07znv"
            },
            "createdAt": "2022-12-13T09:09:04.845Z",
            "updatedAt": "2022-12-13T09:09:13.297Z",
            "tags": {
                "__type": "Relation",
                "className": "ArticleTag"
            }
        },
        ... more results ...
    ]
}

यदि आप किसी विशेष परिणाम को प्राप्त करना चाहते हैं या क्वेरीसेट को फ़िल्टर करना चाहते हैं तो दस्तावेज़ देखें।

बनाना (Create)

किसी मॉडल इंस्टेंस को बनाने के लिए POST अनुरोध चुनें और इसे classes/<your_class> पर भेजें, उदाहरण के लिए classes/ArticlePOST अनुरोधों के साथ आपको क्वेरी पैरामीटर्स प्रदान करने होंगे। उदाहरण के लिए:

{
   "title": "Another article",
   "content": "This is another test article added via the API",
   "category": {
      "__type": "Pointer",
      "className" :"ArticleCategory",
      "objectId": "pPGdxPAxQA"
   },
   "author": {
      "__type": "Pointer",
      "className": "_User",
      "objectId": "LFAf3yD8w0"
   }
}

प्रतिक्रिया:

{
    "objectId": "yAbmJ0sRZT",
    "createdAt": "2022-12-12T17:18:32.922Z"
}

अपडेट करना (Update)

किसी मॉडल को अपडेट करने के लिए PUT अनुरोध प्रकार चुनें और इसे classes/<your_class>/<object_id> पर सबमिट करें, उदाहरण के लिए classes/Article/oRwkdx7KgX। आपको उन क्वेरी पैरामीटर्स को प्रदान करना होगा जिन्हें आप बदलना चाहते हैं:

{"description": "Back4app is cool!"}

प्रतिक्रिया:

{
    "updatedAt": "2022-12-12T17:31:23.459Z"
}

हटाना (Delete)

किसी मॉडल इंस्टेंस को हटाने के लिए DELETE अनुरोध प्रकार चुनें और इसे classes/<your_class>/<object_id> पर सबमिट करें, उदाहरण के लिए classes/Article/oRwkdx7KgX

यदि अनुरोध सफल रहा तो एक खाली बॉडी लौटाया जाएगा।

Back4app के साथ REST अनुरोधों के बारे में अधिक जानने के लिए API संदर्भ देखें।

भविष्य के कदम

हमारा मोबाइल ऐप के लिए बैकएंड अब कम-से-कम पूर्ण हो चुका है। इसे अपने मोबाइल ऐप से जोड़ने के लिए आपको निम्नलिखित करना होगा:

  1. “App Settings” > “Security & Keys” से अपना Application ID और Client key प्राप्त करें।
  2. उपयुक्त ParseJS SDK (अपने प्लेटफ़ॉर्म के आधार पर) स्थापित करें।
  3. SDK का उपयोग करके Back4app से अपने क्रेडेंशियल्स का उपयोग करके कनेक्ट करें।
  4. SDK का उपयोग करके अनुरोध भेजें।

विस्तृत निर्देशों के लिए हमारे दस्तावेज़ देखें:

निष्कर्ष

फ्रंटएंड और बैकएंड शब्द प्रस्तुति परत और डेटा एक्सेस परत के बीच के मामलों के पृथक्करण को संदर्भित करते हैं।

इन दिनों लगभग हर मोबाइल एप्लिकेशन का अपना बैकएंड होता है क्योंकि बैकएंड प्रदान करने वाले सभी महान लाभों के कारण मोबाइल एप्लिकेशन विश्लेषिकी एकत्र करने, पुश नोटिफिकेशन भेजने, ऐप्स की निगरानी करने, क्रैश रिपोर्ट एकत्र करने और अधिक करने में सक्षम होते हैं।

बैकएंड बनाने के कई तरीके हैं। आप या तो:

  • कई SaaS उत्पादों को संयोजित करें
  • मोबाइल बैकएंड एज अ सर्विस (MBaaS) का उपयोग करें
  • कस्टम बैकएंड बनाएं

MBaaS का उपयोग करना एक शानदार विकल्प है क्योंकि यह कस्टम बैकएंड की तुलना में वास्तव में सस्ता है और बहुत लचीलापन प्रदान करता है। Back4app सबसे अच्छे MBaaS प्रदाताओं में से एक है जो आपको दिनों – या यहां तक कि घंटों में – में एक बैकएंड बनाने की अनुमति देता है।


Leave a reply

Your email address will not be published.