यदि आपके पास पहले से ही क्लासिक प्रोग्रामिंग या अन्य नो-कोड/लो-कोड प्लेटफ़ॉर्म का अनुभव है, तो बहुत सारी अवधारणाएँ परिचित होंगी।

अन्य नो-कोड और लो-कोड समाधानों की तुलना में, ऐपमास्टर को अनुप्रयोगों के निर्माण के लिए एक क्लासिक दृष्टिकोण के साथ बनाया गया है। AppMaster में मूल वस्तु एक प्रोजेक्ट है, अन्य प्लेटफ़ॉर्म की तरह कोई एप्लिकेशन नहीं। परियोजनाओं में कई बैकएंड, वेब और मोबाइल एप्लिकेशन शामिल हो सकते हैं। समाधान की वास्तुकला - क्लाइंट सर्वर (बबल या समान प्लेटफ़ॉर्म की तरह मोनोलिथ नहीं)।

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

शुरू कैसे करें?

अधिकांश परियोजनाओं के लिए, आपको बैकएंड और वेब, या बैकएंड और मोबाइल या यहां तक ​​कि सभी प्रकार के एप्लिकेशन बनाने की आवश्यकता होगी।

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

सबसे सीधा तरीका बैकएंड एप्लिकेशन बनाकर शुरुआत करना है।

बैकएंड अनुप्रयोग

बैकएंड चरण 1 . बैकएंड डेटा मॉडल डिज़ाइनर में अपने डेटा मॉडल को परिभाषित करें। आप प्रत्येक मॉडल को SQL डेटाबेस (संबंधों के साथ) में एक तालिका के रूप में सोच सकते हैं। ऐपमास्टर में डेटा मॉडल का उपयोग न केवल प्राथमिक डेटाबेस तालिकाओं को परिभाषित करने के लिए किया जाता है, बल्कि पूरे प्रोजेक्ट में संरचना घोषणा के रूप में भी किया जाता है। उदाहरण के लिए, यदि आपका तर्क डेटा मॉडल 'उपयोगकर्ता' का उपयोग करता है, तो आप निश्चिंत हो सकते हैं कि उस प्रकार की किसी भी संरचना में फ़ील्ड का समान सेट होगा।

एक नया मॉडल बनाने के लिए डेटा मॉडल डिज़ाइनर के कैनवास पर राइट क्लिक करें और संबंध बनाने के लिए एक मॉडल बॉर्डर से दूसरे मॉडल बॉर्डर तक खींचें। इसे संपादित करने के लिए संबंध या मॉडल फ़ील्ड पर क्लिक करें।

यूनिक, नॉट न्यूल या इंडेक्स जैसे फ़ील्ड गुणों से सावधान रहें: यदि आप खाली या डुप्लिकेट मानों के साथ मौजूदा डेटाबेस में नॉट न्यूल या यूनिक नीति लागू करते हैं, तो डीबी स्कीमा माइग्रेशन अंततः विफल हो जाएगा।

बैकएंड चरण 2 . अपने एप्लिकेशन के लिए व्यावसायिक प्रक्रियाएं बनाएं। ऐपमास्टर प्लेटफ़ॉर्म के संदर्भ में बिजनेस प्रोसेस (बीपी) क्लासिक प्रोग्रामिंग में एक फ़ंक्शन के लिए एक अनूठा शब्द है।

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

बीपी से डेटा वापस करने के लिए आप एंड ब्लॉक में वेरिएबल जोड़ सकते हैं (जैसे क्लासिक प्रोग्रामिंग से फ़ंक्शन में रिटर्न)।

बीपी ब्लॉक के बीच 2 प्रकार के कनेक्शन हैं:

  • ठोस नीली तीर रेखा जिसे फ़्लो कनेक्शंस कहा जाता है और ब्लॉक निष्पादन के क्रम को परिभाषित करता है (किस ब्लॉक को अगले निष्पादित किया जाना चाहिए)
  • कई रंगों की पतली रेखाएँ जिन्हें वेरिएबल कनेक्शंस कहा जाता है, जो डेटा बाइंडिंग को परिभाषित करती हैं (डेटा कहाँ से प्राप्त करें - बीपी ब्लॉक के बीच डेटा कनेक्शन)। प्रत्येक रंग एक अलग डेटा प्रकार है

आमतौर पर, फ्लो या वेरिएबल कनेक्शन के लिए बीपी ब्लॉक में स्थानों को कनेक्टर कहा जाता है। ब्लॉक के बाईं ओर सभी कनेक्टर इन कनेक्टर हैं (फ्लो या डेटा प्राप्त करते हैं), और दाईं ओर आउट कनेक्टर हैं (फ्लो या डेटा को आगे भेजते हैं)।

कनेक्शन बनाने के लिए, आपको एक कनेक्टर से दूसरे कनेक्टर तक खींचना होगा (उन ब्लॉकों के बीच खींचें जिन्हें आपको कनेक्ट करने की आवश्यकता है)।

आप चाहे किसी भी तरफ से खींचना शुरू करें, कनेक्शन बन ही जाएगा.

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

आप एक बीपी को दूसरे से कॉल कर सकते हैं - बस बाएं पैनल से उपयुक्त ब्लॉक को खींचें और छोड़ें। हम तर्क जटिलता को कम करने और प्रोजेक्ट में एक ही तर्क को कई बार पुन: उपयोग करने के लिए अक्सर इस दृष्टिकोण का उपयोग करते हैं।

बैकएंड एप्लिकेशन में 2 प्रकार के वेरिएबल होते हैं जिन्हें आप डेटा को अस्थायी रूप से संग्रहीत करने के लिए बीपी में रख सकते हैं:

  • स्थानीय चर - वर्तमान बीपी के जीवनचक्र के दौरान डेटा संग्रहीत करने के लिए (सबसे कुशल, केवल मेमोरी में)
  • ग्लोबल वेरिएबल्स - बैकएंड एप्लिकेशन के जीवनचक्र के दौरान आपके डेटा को संग्रहीत करेगा (केवल मेमोरी में भी, ऐप पुनरारंभ होने पर रीसेट हो जाएगा)

इससे पहले कि आप ग्लोबल वेरिएबल को बीपी एडिटर के बाएं पैनल से खींचकर उपयोग कर सकें, आपको बैकएंड लॉजिक के एक अनुभाग का उपयोग करके एक बनाना होगा।

यदि आपके बीपी को एपीआई के माध्यम से किसी बाहरी स्रोत से कॉल करने की आवश्यकता है (आपके वेब, मोबाइल से, पोस्टमैन/कर्ल का उपयोग करके, किसी बाहरी सिस्टम से), तो आपको बीपी को एंडपॉइंट पर संलग्न करना होगा।

बैकएंड चरण 3. एंडपॉइंट बनाएं। AppMaster में हम एंडपॉइंट के लिए उसी क्लासिक REST API दृष्टिकोण का उपयोग करते हैं। जबकि AppMaster न केवल REST API एंडपॉइंट्स बल्कि WebHooks और WSS एंडपॉइंट्स का भी समर्थन करता है, हम पहले प्रकार पर ध्यान केंद्रित करेंगे।

एंडपॉइंट बनाते समय, कृपया तरीकों (GET, POST, PUT, PATCH, DELETE), पेलोड (JSON का उपयोग करें), और URL (कोई गैर-ASCII वर्ण, कोई रिक्त स्थान नहीं, एक के साथ शुरू और समाप्त होता है) के संदर्भ में REST API मानक का पालन करें स्लैश)।

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

एक बार जब डेटा मॉडल, व्यावसायिक प्रक्रियाएं और समापन बिंदु तैयार हो जाएं, तो प्रकाशित करने का समय आ गया है - प्रकाशित बटन दबाएं! आमतौर पर, 30 सेकंड से कम समय में ऐपमास्टर प्लेटफ़ॉर्म आपके सभी ब्लूप्रिंट ले लेगा (हां, वास्तव में, आपने जो कुछ भी किया है वह भविष्य के सॉफ़्टवेयर के लिए ब्लूप्रिंट बनाया गया है), स्रोत कोड उत्पन्न करेगा, संकलित करेगा, डॉकर छवि पर पैक करेगा और ऐपमास्टर क्लाउड पर तैनात करेगा। जब प्रकाशन की प्रक्रिया समाप्त हो जाती है, तो आप REST API दस्तावेज़ (ओपनएपीआई/स्वैगर) खोल सकते हैं और स्वैगर अंतर्निहित अनुरोधों के साथ या पोस्टमैन या इनसोम्निया जैसे तृतीय पक्ष टूल का उपयोग करके अपने एंडपॉइंट का परीक्षण कर सकते हैं।

महत्वपूर्ण . यदि आप लर्न एंड एक्सप्लोर सब्सक्रिप्शन के साथ चल रहे हैं, तो स्टूडियो में आपकी निष्क्रियता के 30 मिनट के बाद हमारा रिसोर्स सेविंग डेमॉन आपके एप्लिकेशन कंटेनर को बंद कर देगा। दोबारा चलाने के लिए - डिप्लॉय प्लान टॉगल पर क्लिक करें या एक बार फिर से प्रकाशित करें।

वेब अनुप्रयोग

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

वेबऐप चरण 1 । यदि आपके पास प्रोजेक्ट में कोई वेब एप्लिकेशन नहीं है तो एक वेब एप्लिकेशन बनाएं। अभी तक, हमारे पास 2 प्रकार के वेब एप्लिकेशन डिज़ाइनर हैं: वर्तमान और नए (बीटा में)। मुख्य अंतर अनुकूलन की मात्रा है. वर्तमान पीढ़ी के वेबएप डिज़ाइनर के पास बहुत सीमित यूआई अनुकूलन क्षमताएं हैं, लेकिन व्यवस्थापक पैनल और ग्राहक पोर्टल के मानक यूआई इंटरफेस बनाना सरल और आसान है। नए (वर्तमान में बीटा में) में यूआई लुक और फिल का पूर्ण अनुकूलन है - एसपीए (व्यू, रिएक्ट वे) से लेआउट के साथ एक फ्लेक्सबॉक्स दृष्टिकोण। दोनों डिज़ाइनरों के पास अंतर्निहित व्यावसायिक प्रक्रियाएं हैं, जिनमें ट्रिगर और उपयोगी ब्लॉकों का एक समूह शामिल है।

वेबऐप चरण 2 । शीर्ष पैनल (वर्तमान डिजाइनर) या बाएं पैनल (नए डिजाइनर) से यूआई तत्वों को खींचकर और छोड़ कर अपने वेब एप्लिकेशन के यूआई को डिजाइन करना शुरू करें। कुछ तत्वों के लिए जिनके अंदर गणना है (जैसे तालिकाएं और सूचियां), आपको तत्व को स्वचालित रूप से समायोजित करने के लिए प्रारंभिक ड्रॉप चरण के दौरान डेटा मॉडल का चयन करना होगा।

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

महत्वपूर्ण . कृपया याद रखें कि बैकएंड बीपी बैकएंड एप्लिकेशन के अंदर चलेगा, वेब ऐप बीपी उपयोगकर्ताओं के ब्राउज़र में चलेगा, और वेब वर्कलोड को कम करना उपयोगकर्ता अनुभव के लिए फायदेमंद होगा।

कुछ बहुत ही महत्वपूर्ण एप्लिकेशन-स्तरीय ट्रिगर हैं। उदाहरण के लिए, ऐप ऑनलॉन्च तब सक्रिय होता है जब ब्राउज़र में कोई एप्लिकेशन अभी लॉन्च होता है। यह जांचने के लिए सबसे अच्छी जगह है कि आपका उपयोगकर्ता प्रमाणित है या नहीं, और यदि नहीं, तो सही पृष्ठ पर रीडायरेक्ट करें (यदि आपको प्रमाणीकरण की आवश्यकता है)।

परिवर्तन देखने के लिए अपने वेब एप्लिकेशन स्कीमा को सहेजना और अपना प्रोजेक्ट प्रकाशित करना न भूलें।

मोबाइल एप्लीकेशन

जब आपको एक मोबाइल एप्लिकेशन बनाने की आवश्यकता होती है, तो प्रक्रिया वेब एप्लिकेशन के समान होती है: स्क्रीन बनाएं, यूआई तत्व रखें, यूआई तत्व ट्रिगर बनाएं, ऐप ऑनलॉन्च ट्रिगर समायोजित करें और आप जाने के लिए तैयार हैं। AppMaster मोबाइल एप्लिकेशन के लिए कोई वेब पूर्वावलोकन नहीं है, लेकिन आप BLE, NFC और आदि जैसी सभी हार्डवेयर-संबंधित सुविधाओं के साथ अपने ऐप्स का लाइव पूर्वावलोकन करने के लिए Android और IOS के लिए AppMaster डेवलपर मोबाइल एप्लिकेशन इंस्टॉल कर सकते हैं।

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

सारांश

ऐपमास्टर एक बड़ी आईडीई है जहां आप डेटा मॉडल डिज़ाइनर, बिजनेस प्रोसेस एडिटर, वेब और मोबाइल डिज़ाइनर में उन्नत ब्लूप्रिंट के साथ अपने एप्लिकेशन की योजना बना सकते हैं।

सामान्य प्रश्न

हमें प्रति प्रोजेक्ट एकाधिक ऐप्स वाले प्रोजेक्ट की आवश्यकता क्यों है?

ऐपमास्टर क्लाइंट-सर्वर आर्किटेक्चर का उपयोग करता है न कि मोनोलिथ का। ऐसे कई मामले हैं जब आपको सुविधाओं को अलग करने की आवश्यकता होने पर प्रति प्रोजेक्ट कई ऐप्स की आवश्यकता हो सकती है:

  • जटिल परियोजनाएँ: टैक्सी की तरह जब एक ऐप यात्रियों के लिए और एक समान बैकएंड के साथ काम करने वाले ड्राइवरों के लिए
  • कार्यभार को संतुलित करने और परिवर्तनों को आसान और कम जोखिम भरा बनाने के लिए एकाधिक बैकएंड एप्लिकेशन बनाएं

जबकि आप पहले से ही प्रति प्रोजेक्ट कई वेब और मोबाइल ऐप बना सकते हैं, हम अभी भी प्रति प्रोजेक्ट कई बैकएंड एप्लिकेशन पेश करने पर काम कर रहे हैं।

जनरेट किए गए एप्लिकेशन के लाभ और कमियां क्या हैं?

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

सबसे आम कमियां यह हैं कि हर बार जब आप अपने ब्लूप्रिंट में बदलाव करते हैं तो ऐप को दोबारा बनाने और बनाने की आवश्यकता होती है और मध्यम आकार की परियोजनाओं के लिए इसमें आमतौर पर औसतन 35-45 सेकंड लगते हैं। इसके अलावा, कुछ अतिरिक्त जटिलताएं और लागतें भी हैं क्योंकि हमें अपने क्लाउड में ऐप्स चलाने की आवश्यकता होती है: डॉकटर कंटेनर में हम जो भी ऐप चलाते हैं वह सीपीयू और रैम की खपत करता है (भले ही निष्क्रिय हो), और डीबी स्कीमा माइग्रेशन की आवश्यकता होती है (हम इसे स्वचालित रूप से करते हैं)।

लेकिन सामान्य तौर पर, कोड-जनरेटेड एप्लिकेशन उतने ही अच्छे काम करते हैं जितने क्लासिक प्रोग्रामिंग के साथ बनाए गए होते हैं।

वेब अनुप्रयोगों में किस तकनीक का उपयोग किया जाता है?

हम टाइपस्क्रिप्ट (टीएस) के साथ Vue3 फ्रेमवर्क का उपयोग करके वेब एप्लिकेशन तैयार करते हैं। वेब एप्लिकेशन एसपीए और एसएसजी मोड के संयोजन में काम करते हैं। सर्वर-साइड रेंडरिंग (एसएसआर) बाद में और केवल नए वेब ऐप डिज़ाइनर के लिए जोड़ा जाएगा।

मोबाइल एप्लिकेशन में किस तकनीक का उपयोग किया जाता है?

हमारे मोबाइल एप्लिकेशन एक घोषणात्मक बैकएंड-संचालित दृष्टिकोण का उपयोग करके बनाए गए हैं: हम आईओएस, कोटलिन और एंड्रॉइड के लिए जेटपैक कंपोज़ के लिए स्विफ्ट और स्विफ्टयूआई के पूर्ण देशी (सबसे मूल) कोडबेस का उपयोग करते हैं। तकनीकी रूप से मोबाइल एप्लिकेशन अधिकतम प्रदर्शन के लिए JSON और Protobuf का उपयोग करके नेटवर्क ऑन डिमांड के माध्यम से कॉन्फ़िगरेशन और स्क्रीन लोड करते हैं। इस दृष्टिकोण के कई लाभ हैं: आप ऐपस्टोर या प्ले मार्केट में एप्लिकेशन के अद्यतन संस्करणों को प्रकाशित करने की आवश्यकता के बिना वास्तविक समय में एप्लिकेशन बदल सकते हैं, पूरी तरह ऑफ़लाइन काम कर सकते हैं, और सभी हार्डवेयर सुविधाओं तक पहुंच प्राप्त कर सकते हैं। हम अपने मोबाइल एप्लिकेशन में HTML/JS/ReactNative या PWA तकनीक का उपयोग नहीं करते हैं। ऐपमास्टर में बनाए गए मोबाइल ऐप्स को ऐपस्टोर, प्ले मार्केट या किसी अन्य वितरण प्लेटफ़ॉर्म के माध्यम से वितरित करने की आवश्यकता है (तकनीकी रूप से, आप एंड्रॉइड के लिए एपीके/एएबी फ़ाइलें साझा कर सकते हैं, लेकिन इसमें बहुत मेहनत लगती है)।

आप डिफ़ॉल्ट रूप से एप्लिकेशन कहां होस्ट करते हैं?

हमने अपने ग्राहकों को सबसे विश्वसनीय और स्केलेबल सेवा प्रदान करने के लिए AWS बुनियादी ढांचे के शीर्ष पर ऐपमास्टर क्लाउड बनाया। डिफ़ॉल्ट रूप से, किसी भी सदस्यता वाले ग्राहक 3 मुख्य क्षेत्रों में से एक का उपयोग कर सकते हैं: उत्तरी अमेरिका (यूएस), यूरोप (जर्मनी), एशिया। समर्पित होस्टिंग योजनाओं के लिए हमारे पास अधिकांश AWS क्षेत्र उपलब्ध हैं (मुख्य स्थानों से परे)। यदि आपको अपने एप्लिकेशन को होस्ट करने के लिए किसी विशिष्ट देश की आवश्यकता है - तो हमें बताएं।

मैं अपने एप्लिकेशन का एप्लिकेशन बंडल, बाइनरी, या स्रोत कोड कैसे प्राप्त कर सकता हूं?

बाइनरी फ़ाइलें या बंडल प्राप्त करने के लिए, आपके पास कम से कम एक व्यावसायिक सदस्यता होनी चाहिए। बैकएंड एप्लिकेशन को आर्टिफैक्ट स्टोर से बाइनरी फ़ाइलों के रूप में डाउनलोड किया जा सकता है या हमारी रजिस्ट्री (जैसे डॉकर हब) से डॉकर पुल के माध्यम से खींचा जा सकता है। मोबाइल और वेब बंडल को आर्टिफैक्ट स्टोर से भी डाउनलोड किया जा सकता है। आप लर्न एंड एक्सप्लोर को छोड़कर किसी भी सदस्यता के साथ मोबाइल ऐप बंडल डाउनलोड कर सकते हैं। एप्लिकेशन का स्रोत कोड प्राप्त करने के लिए, आपके पास एंटरप्राइज़ सदस्यता होनी चाहिए। एंटरप्राइज़ सदस्यता के साथ, आपको बैकएंड और वेब एप्लिकेशन का संपूर्ण स्रोत कोड मिलेगा लेकिन मोबाइल ऐप्स का सीमित कोड आधार मिलेगा क्योंकि हम वहां बैकएंड-संचालित दृष्टिकोण का उपयोग करते हैं।

मॉडल और वर्चुअल मॉडल के बीच क्या अंतर है?

हम मॉडल शब्द का उपयोग उस संरचना को इंगित करने के लिए करते हैं जिसके लिए हम डेटाबेस में तालिकाएँ बनाएंगे और उस डेटाबेस तालिका पर खोज, रिकॉर्ड बनाने और आदि जैसे बुनियादी संचालन करने के लिए स्वचालित रूप से डीबी ब्लॉक बना देंगे। वर्चुअल मॉडल समान हैं, सिवाय इसके कि हम करेंगे तालिकाएँ न बनाएँ और कोई DB ब्लॉक नहीं होंगे। वर्चुअल मॉडल अधिकांश डेवलपर्स द्वारा सर्वाधिक वांछित सुविधाओं में से एक था। वर्चुअल मॉडल के लिए सबसे अधिक उपयोग का मामला तब होता है जब आपको एक संरचना (जैसे जेएस या जेएसओएन में ऑब्जेक्ट) बनाने की आवश्यकता होती है और इसे बाहरी अनुरोधों, यूआई तत्वों या एंडपॉइंट के लिए उपयोग करना होता है। यह दिलचस्प है कि बैकएंड एप्लिकेशन में परिभाषित मॉडल स्वचालित रूप से वेब और मोबाइल ऐप्स में वर्चुअल के रूप में दिखाई देते हैं: वेब और मोबाइल ऐप्स में आपको काम करने में सक्षम होने के लिए किसी भी डेटा संरचना के बारे में जानना होगा।

मैं व्यावसायिक प्रक्रियाओं में मॉडलों के साथ कैसे काम कर सकता हूँ? फ़ील्ड आदि कैसे निकालें

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

मैं स्थानीय या वैश्विक चर के लिए मूल्य कैसे निर्धारित कर सकता हूं?

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

मैं किसी बाहरी सिस्टम पर एपीआई कॉल कैसे कर सकता हूं?

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

  • HTTP रिक्वेस्ट ब्लॉक का उपयोग करना सबसे आसान तरीका है, आप इसे किसी भी बैकएंड बीपी में उपयोग कर सकते हैं
  • पहले अनुरोध बनाने के लिए बाहरी एपीआई डिज़ाइनर का उपयोग करना और फिर अपने बीपी के अंदर तैयार किए गए ब्लॉक का उपयोग करना।

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

बाहरी सिस्टम को कॉल करते समय किस प्रकार के अनुरोध और प्रोटोकॉल समर्थित हैं?

अभी तक, हम JSON या XML पेलोड, सादे पाठ या बाइनरी पेलोड के साथ REST API अनुरोधों का समर्थन करते हैं। जीआरपीसी अभी तक समर्थित नहीं है, लेकिन हम अपने बिल्कुल नए एक्सटर्नल एपीआई डिज़ाइनर के साथ अगले महीनों में इसे पेश करने पर सक्रिय रूप से काम कर रहे हैं।

क्या AppMaster-निर्मित एप्लिकेशन WebSockets का समर्थन करते हैं?

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

मैं वेब या मोबाइल एप्लिकेशन से बैकएंड एंडपॉइंट को कैसे कॉल कर सकता हूं?

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

क्या मैं कस्टम प्रमाणीकरण और साइनअप बना सकता हूँ?

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

क्या विश्वसनीय काउंटरों और अन्य ऑर्डर किए गए निष्पादन मामलों के लिए थ्रेड-सुरक्षित संचालन बनाने का कोई तरीका है?

ऐपमास्टर व्यवसाय प्रक्रिया निष्पादन के लिए एकल-थ्रेड मोड का समर्थन करता है जब व्यवसाय प्रक्रिया की सभी कॉल एक समय में एक सख्त क्रम में निष्पादित की जाती हैं। इस मोड में उच्च कार्यभार स्थितियों के लिए प्रदर्शन दंड हो सकता है, लेकिन ज्यादातर मामलों में, यह किसी भी महत्वपूर्ण प्रदर्शन में गिरावट का कारण नहीं बनता है। कृपया ध्यान दें कि इस मोड का कॉल स्टैक (कतार) सीमित है।

एसएमएस, ईमेल या ओटीपी के साथ 2FA?

हाँ, आप 2FA विधियों को शामिल करने के लिए अपने प्रमाणीकरण तर्क को समायोजित कर सकते हैं। एसएमएस या ईमेल का उपयोग करने के लिए, आपको ट्विलियो जैसे बाहरी प्रदाता से जुड़ना होगा। सबसे आसान तरीका सत्रों को बढ़ाना है और सत्र में 2एफए को नियंत्रित करने के लिए अतिरिक्त फ़ील्ड शामिल करना है। Q3 2023 में, हम एक समय-आधारित ओटीपी मॉड्यूल पेश करेंगे जो Google और Microsoft प्रमाणक के साथ काम करेगा।

क्या मैं अन्य वेब या मोबाइल एप्लिकेशन के साथ ऐपमास्टर-जनरेटेड बैकएंड का उपयोग कर सकता हूं?

हाँ, AppMaster-जनरेटेड बैकएंड एप्लिकेशन में मानक REST API एंडपॉइंट होते हैं। प्रत्येक एप्लिकेशन के लिए, REST API दस्तावेज़ (ओपनएपीआई/स्वैगर) स्वचालित रूप से उत्पन्न होता है और एक अलग एंडपॉइंट पर परोसा जाता है।

क्या मैं प्रोजेक्ट या एप्लिकेशन बनाने के लिए टेम्प्लेट का उपयोग कर सकता हूं?

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

AppMaster किस प्रकार के डेटाबेस का समर्थन करता है?

AppMaster-जनरेटेड बैकएंड एप्लिकेशन PG12 से शुरू होने वाले किसी भी PostgreSQL-संगत डेटाबेस के साथ काम करता है, लेकिन हम PostgreSQL DB के नवीनतम उपलब्ध संस्करण (इस दस्तावेज़ के समय 15.3) का उपयोग करने की सलाह देते हैं। MSSQL, MariaDB, MySQL और SQLite समर्थन की योजना बनाई गई है और इसे 2023 के अंत/2024 की शुरुआत में जोड़ा जाएगा।

मैं रिकॉर्ड्स को संपादित करने के लिए डेटाबेस तक सीधे कैसे पहुंच सकता हूं?

AppMaster, AppMaster क्लाउड में होस्ट किए गए एप्लिकेशन के लिए सीधे DB एक्सेस का समर्थन नहीं करता है। यदि आप ऑन-प्रिमाइस होस्टिंग का उपयोग करते हैं, तो आप PGAdmin जैसे किसी विज़ुअल टूल का उपयोग करके या pgsql कमांड-लाइन टूल का उपयोग करके DB तक पहुंच सकते हैं। भविष्य में, हम ग्राहकों को सीधे डीबी संपादित करने की सुविधा देने के लिए एक सुविधा जोड़ेंगे।

क्या कोई वास्तविक समय सहयोग है? क्या हम एक ही प्रोजेक्ट पर एक टीम के रूप में काम कर सकते हैं?

हमारे पास केवल नए वेब डिज़ाइनर में वास्तविक समय का सहयोग है। नया वेब डिज़ाइनर (बीटा) सभी उपयोग के मामलों को कवर करने और राज्य प्रबंधन (Ctrl + Z, ऑपरेशन रोलबैक) देने के लिए संघर्ष-मुक्त रेप्लिकेटेड डेटा टाइप प्रोटोकॉल (CRDT) के साथ नेटवर्क ड्राफ्ट का उपयोग करता है। हम भविष्य में चरण दर चरण सीआरडीटी को धीरे-धीरे बीपी एडिटर और डेटा मॉडल डिज़ाइनर में रोल करेंगे। यदि आपको एक टीम के रूप में काम करने की आवश्यकता है, तो कृपया डेटा मॉडल स्कीमा, वही बीपी, या वही वेब/मोबाइल ऐप संपादित न करें क्योंकि इससे डेटा हानि हो सकती है।

AppMaster में किन महत्वपूर्ण सुविधाओं की कमी हो सकती है?

  • विज़ुअल SQL डिज़ाइनर । जबकि अधिकांश बुनियादी ऑपरेशन जैसे फ़िल्टर और जॉइन के साथ खोज, आईडी द्वारा एक रिकॉर्ड प्राप्त करना, अपडेट, पैच, डिलीट और सॉफ्ट डिलीट समर्थित हैं, लेकिन बेहतर लचीलेपन और प्रदर्शन के लिए, हम विज़ुअल एसक्यूएल डिज़ाइनर पर काम कर रहे हैं और इसे अक्टूबर में जारी किया जाएगा। 2023.
  • बैकएंड माइक्रोसर्विसेज । हम प्रति प्रोजेक्ट एकाधिक बैकएंड एप्लिकेशन लागू करने पर सक्रिय रूप से काम कर रहे हैं। अभी तक, आप प्रति प्रोजेक्ट केवल एक बैकएंड ऐप बना सकते हैं।
  • वेब अनुप्रयोगों के लिए अभी तक कोई SSR नहीं है । सबसे अधिक अनुकूलित वेब अनुप्रयोगों और वेबसाइटों के लिए, SSR SEO के लिए अतिरिक्त लाभ जोड़ता है। ईटीए नवंबर-2023।
  • बाहरी एपीआई अनुरोधों के लिए जीआरपीसी समर्थन । हम सिस्टम के बीच इंटरकनेक्शन की संभावनाओं को बढ़ाने के लिए प्रोटोबफ पेलोड और संपीड़न विकल्पों के साथ जीआरपीसी जोड़ने की योजना बना रहे हैं।
  • परियोजनाओं, वेब और मोबाइल एप्लिकेशन के टेम्पलेट । हम टेम्प्लेट पेश करने पर काम कर रहे हैं। हम सितंबर 2023 में पहले चरण के रूप में वेब ऐप टेम्प्लेट जोड़ेंगे। पूरे प्रोजेक्ट टेम्प्लेट में अभी तक कोई ईटीए नहीं है।
Was this article helpful?

AppMaster.io 101 क्रैश कोर्स

10 मॉड्यूल
2 सप्ताह

निश्चित नहीं हूं कि कहां से शुरुआत की जाए? शुरुआती लोगों के लिए हमारे क्रैश कोर्स के साथ आगे बढ़ें और ऐपमास्टर को ए से ज़ेड तक एक्सप्लोर करें।

कोर्स शुरू करें
Development it’s so easy with AppMaster!

और अधिक मदद की आवश्यकता है?

हमारे विशेषज्ञों की मदद से किसी भी मुद्दे को हल करें। समय बचाएं और अपने एप्लिकेशन बनाने पर ध्यान दें।

headphones

सहयोग टीम से संपर्क करें

हमें अपनी समस्या के बारे में बताएं, और हम आपको समाधान ढूंढेंगे।

message

सामुदायिक चैट

हमारे चैट में अन्य उपयोगकर्ताओं के साथ प्रश्नों पर चर्चा करें।

समुदाय में शामिल हों