फ्रंटएंड और बैकएंड

From Vigyanwiki

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

परिचय

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

दूरसंचार में, सामने वाले भाग को उपकरण या सेवा माना जा सकता है, जबकि पीछे वाला भाग अवसंरचना होता है जो सेवा के प्रावधान का समर्थन करता है।

सामान्य नियम यह है कि क्लाइंट-साइड (या "फ्रंटएंड") उपयोगकर्ता द्वारा हेरफेर किया गया कोई भी घटक होता है। इस प्रकार सर्वर-साइड (या "बैकएंड") कोड सामान्यतः सर्वर (कंप्यूटिंग) पर रहता है, जो अधिकांशतः उपयोगकर्ता से भौतिक रूप से दूर होता है।

सॉफ्टवेयर परिभाषाएँ

सामग्री प्रबंधन प्रणालियों में, फ्रंटएंड और बैकएंड शब्द क्रमशः सीएमएस के अंतिम उपयोगकर्ता के सामने आने वाले विचारों और प्रशासनिक विचारों को संदर्भित कर सकते हैं।[1][2]

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

संकलनकर्ता में, फ्रंटएंड अनुवादक (कम्प्यूटिंग) कंप्यूटर प्रोग्रामिंग स्रोत कोड को मध्यवर्ती प्रतिनिधित्व में अनुवादित करता है और बैकएंड कंप्यूटर आउटपुट भाषा में कोड का उत्पादन करने के लिए मध्यवर्ती प्रतिनिधित्व के साथ कार्य करता है। इस प्रकार बैकएंड सामान्यतः तेजी से चलने वाले कोड का उत्पादन करने के लिए कार्यक्रम अनुकूलन फ्रंटएंड / बैकएंड भेद पदच्छेद अनुभाग को भिन्न कर सकता है जो सोर्स कोड और बैकएंड कोड जनरेशन (संकलक) से संबंधित होता है। अतः कुछ डिज़ाइन, जैसे जीएनयू कंपाइलर संग्रह, अनेक फ्रंटएंड (विभिन्न स्रोत प्रोग्रामिंग भाषा पार्सिंग) या बैकएंड (विभिन्न लक्ष्य सेंट्रल प्रोसेसिंग यूनिट के लिए कोड उत्पन्न करना) के मध्य विकल्प प्रदान करते हैं।[4]

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

उदाहरण के रूप में वेब विकास

सामान्यतः दोनों के मध्य के अंतर को समझने की दूसरी विधि फ्रंटएंड बनाम बैकएंड सॉफ्टवेयर डेवलपर के लिए आवश्यक ज्ञान को समझना होता है। ओस प्रकार नीचे दी गई सूची उदाहरण के रूप में वेब विकास पर केंद्रित होती है।

दोनों

फ्रंटएंड केंद्रित

बैकएंड केंद्रित

ध्यान दीजिए कि संभवतः उत्पाद पर कार्य करने के अतिरिक्त दोनों स्थितियों में कौशल का अधिक भिन्न समूह होता है।

एपीआई

फ्रंटएंड एपीआई के माध्यम से बैकएंड के साथ संचार करता है। चूँकि वेब एपीआई और मोबाइल फ्रंटएंड के स्थितियों में, एपीआई अधिकांशतः एचटीटीपी अनुरोध/प्रतिक्रिया पर आधारित होता है। इस प्रकार एपीआई को कभी-कभी बैकएंड के लिए फ्रंटएंड (बीएफएफ) क्रम का उपयोग करके डिज़ाइन किया जाता है, जो फ्रंटएंड साइड पर प्रसंस्करण को सरल बनाने के लिए प्रतिक्रियाएं प्रदान करता है।[5]

हार्डवेयर परिभाषाएँ

नेटवर्क कंप्यूटिंग में, फ्रंटएंड किसी भी नेटवर्किंग हार्डवेयर को संदर्भित कर सकता है, जो नेटवर्क ट्रैफ़िक को अनुकूलित या संरक्षित करता है।[6] इसे एप्लिकेशन फ्रंट-एंड हार्डवेयर कहा जाता है जिससे कि इसे नेटवर्क के बाहरी-सामने वाले फ्रंटएंड या सीमा पर रखा जाता है। इस प्रकार नेटवर्क ट्रैफ़िक नेटवर्क में प्रवेश करने से पूर्व फ्रंट-एंड हार्डवेयर से होकर गुजरता है।

सामान्यतः प्रोसेसर डिजाइन में, फ़्रंटएंड डिज़ाइन वेरिलॉग जैसी हार्डवेयर विवरण भाषा में परिपथ के व्यवहार का प्रारंभिक विवरण होता है, जबकि बैकएंड डिज़ाइन डाई पर भौतिक ट्रांजिस्टर के लिए व्यवहार को मानचित्र करने की प्रक्रिया होती है।[7]

यह भी देखें

संदर्भ

  1. "Front End vs Back End of Your Website: Everything You Need to Know". DOJO Creative. 7 February 2020. Retrieved 31 August 2022.
  2. Thapliyal, Vimal. "Difference Between Frontend and Backend MVC – Joomlatuts". joomlatuts.net. Archived from the original on 30 December 2016. Retrieved 30 December 2016.
  3. Gutierrez--Osuna, Ricardo. "L18: Speech synthesis (backend)" (PDF). tamu.edu. Texas A&M University. Retrieved 29 December 2016.
  4. Bin Muhammad, Rashid. "ऑपरेटिंग सिस्टम नोट्स". www.personal.kent.edu. Kent State University. Retrieved 30 December 2016.
  5. Wickramarachchi, Viduni (24 February 2021). "The BFF Pattern (Backend for Frontend): An Introduction". Bits and pieces. Retrieved 13 November 2021.
  6. O'Dell, Mike. "Network Front-End Processors, Yet Again | June 2009 | Communications of the ACM". cacm.acm.org. Retrieved 2016-12-30.
  7. "Front-End Design | Online Documentation for Altium Products". techdocs.altium.com. Retrieved 2016-12-30.