फ्रंटएंड और बैकएंड: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Presentation and data access aspecs in software architecture}} [[सॉफ़्टवेयर इंजीनियरिंग]] में, शब...")
 
No edit summary
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Short description|Presentation and data access aspecs in software architecture}}
{{Short description|Presentation and data access aspecs in software architecture}}
[[[[ सॉफ़्टवेयर ]] इंजीनियरिंग]] में, शब्द दृश्यपटल और बैकएंड (कभी-कभी बैकएंड या बैकएंड के रूप में लिखा जाता है) प्रस्तुति परत (''फ्रंटएंड''), और [[डेटा एक्सेस परत]] (''बैकएंड'') के बीच चिंताओं को अलग करने का संदर्भ देता है। सॉफ्टवेयर का एक टुकड़ा, या भौतिक बुनियादी ढांचा या [[हार्डवेयर (कंप्यूटर)]]क्लाइंट-सर्वर मॉडल में, [[क्लाइंट (कंप्यूटिंग)]] को आमतौर पर फ्रंटएंड माना जाता है और [[सर्वर (कंप्यूटिंग)]] को आमतौर पर बैकएंड माना जाता है, तब भी जब कुछ [[प्रेजेंटेशन लेयर]] काम वास्तव में सर्वर पर ही किया जाता है।
[[ सॉफ़्टवेयर |सॉफ़्टवेयर]] इंजीनियरिंग में, शब्द '''फ्रंटएंड''' और '''बैकएंड''' (कभी-कभी '''बैकएंड''' या '''बैक-एंड''' के रूप में लिखा जाता है) प्रस्तुति परत (फ्रंटएंड) और सॉफ्टवेयर के [[डेटा एक्सेस परत]] (बैकएंड) के मध्य चिंताओं को भिन्न करने का संदर्भ देता है। इस प्रकार सॉफ्टवेयर का टुकड़ा या भौतिक अवसंरचना या [[हार्डवेयर (कंप्यूटर)]] क्लाइंट-सर्वर मॉडल में, [[क्लाइंट (कंप्यूटिंग)]] को सामान्यतः फ्रंटएंड माना जाता है और [[सर्वर (कंप्यूटिंग)]] को सामान्यतः बैकएंड माना जाता है, तब भी जब कुछ [[प्रेजेंटेशन लेयर|प्रस्तुति परत]] कार्य वास्तव में सर्वर पर ही किया जाता है।


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


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


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


== सॉफ्टवेयर परिभाषाएँ ==
== सॉफ्टवेयर परिभाषाएँ ==
{{prose|section|date=September 2020}}
सामग्री प्रबंधन प्रणालियों में, फ्रंटएंड और बैकएंड शब्द क्रमशः सीएमएस के अंतिम उपयोगकर्ता के सामने आने वाले विचारों और प्रशासनिक विचारों को संदर्भित कर सकते हैं।<ref>{{Cite web|url=https://letsgodojo.com/front-end-vs-back-end/|title=Front End vs Back End of Your Website: Everything You Need to Know|website=DOJO Creative|date=7 February 2020|access-date=31 August 2022}}</ref><ref>{{Cite web|url=http://joomlatuts.net/joomla-2-5/87-how-backend-model-view-controller-mvc-works-in-joomla/98-difference-between-frontend-and-backend-mvc|title=Difference Between Frontend and Backend MVC – Joomlatuts|last=Thapliyal|first=Vimal|website=joomlatuts.net|access-date=30 December 2016|archive-url=https://web.archive.org/web/20161230230237/http://joomlatuts.net/joomla-2-5/87-how-backend-model-view-controller-mvc-works-in-joomla/98-difference-between-frontend-and-backend-mvc|archive-date=30 December 2016|url-status=dead}}</ref>
सामग्री प्रबंधन प्रणालियों में, फ्रंटएंड और बैकएंड शब्द क्रमशः एंड-यूज़र फेसिंग सीएमएस और प्रशासनिक विचारों को संदर्भित कर सकते हैं।<ref>{{Cite web|url=https://letsgodojo.com/front-end-vs-back-end/|title=Front End vs Back End of Your Website: Everything You Need to Know|website=DOJO Creative|date=7 February 2020|access-date=31 August 2022}}</ref><ref>{{Cite web|url=http://joomlatuts.net/joomla-2-5/87-how-backend-model-view-controller-mvc-works-in-joomla/98-difference-between-frontend-and-backend-mvc|title=Difference Between Frontend and Backend MVC – Joomlatuts|last=Thapliyal|first=Vimal|website=joomlatuts.net|access-date=30 December 2016|archive-url=https://web.archive.org/web/20161230230237/http://joomlatuts.net/joomla-2-5/87-how-backend-model-view-controller-mvc-works-in-joomla/98-difference-between-frontend-and-backend-mvc|archive-date=30 December 2016|url-status=dead}}</ref>
[[ भाषा संकलन ]] में, फ्रंटएंड सिंथेसिस सिस्टम के उस हिस्से को संदर्भित करता है जो इनपुट टेक्स्ट को [[प्रतीक]]ात्मक ध्वन्यात्मक प्रतिनिधित्व में परिवर्तित करता है, और बैकएंड प्रतीकात्मक ध्वन्यात्मक प्रतिनिधित्व को वास्तविक ध्वनियों में परिवर्तित करता है।<ref>{{Cite web|url=http://research.cs.tamu.edu/prism/lectures/sp/l18.pdf|title=L18: Speech synthesis (backend)|last=Gutierrez--Osuna|first=Ricardo|website=tamu.edu|publisher=Texas A&M University|access-date=29 December 2016}}</ref>
[[ संकलनकर्ता ]] में, फ्रंटएंड [[ अनुवादक (कम्प्यूटिंग) ]] एक कंप्यूटर प्रोग्रामिंग स्रोत कोड को एक [[मध्यवर्ती प्रतिनिधित्व]] में, और बैकएंड एक कंप्यूटर आउटपुट भाषा में कोड का उत्पादन करने के लिए मध्यवर्ती प्रतिनिधित्व के साथ काम करता है। बैकएंड आमतौर पर तेजी से चलने वाले कोड का उत्पादन करने के लिए [[कार्यक्रम अनुकूलन]] फ्रंटएंड / बैकएंड भेद [[ पदच्छेद ]] सेक्शन को अलग कर सकता है जो [[सोर्स कोड]] और बैकएंड से संबंधित है जो [[कोड जनरेशन (संकलक)]]कंपाइलर) है। कुछ डिज़ाइन, जैसे जीएनयू कंपाइलर संग्रह, कई फ्रंटएंड (विभिन्न स्रोत [[प्रोग्रामिंग भाषा]] पार्सिंग) या बैकएंड (विभिन्न लक्ष्य [[सेंट्रल प्रोसेसिंग यूनिट]] के लिए कोड उत्पन्न करना) के बीच विकल्प प्रदान करते हैं।<ref>{{Cite web|url=http://www.personal.kent.edu/~rmuhamma/Compilers/MyCompiler/phase.htm|title=ऑपरेटिंग सिस्टम नोट्स|last=Bin Muhammad|first=Rashid|website=www.personal.kent.edu|publisher=Kent State University|access-date=30 December 2016}}</ref>
[[डेस्कटॉप वातावरण]] में चलने वाले कुछ [[ग्राफिकल यूज़र इंटरफ़ेस]] (GUI) एप्लिकेशन को अंतर्निहित [[कमांड लाइन इंटरफेस]] (CLI) प्रोग्राम के लिए पतले फ्रंटएंड के रूप में लागू किया जाता है, ताकि उपयोगकर्ता को विशेष शब्दावली सीखने और [[कमांड (कंप्यूटिंग)]] को याद रखने से बचाया जा सके।


=== एक उदाहरण के रूप में [[वेब विकास]] ===
[[ भाषा संकलन |भाषा संकलन]] में, फ्रंटएंड संश्लेषण प्रणाली के उस भाग को संदर्भित करता है जो इनपुट टेक्स्ट को [[प्रतीक|प्रतीकात्मक]] ध्वन्यात्मक प्रतिनिधित्व में परिवर्तित करता है और बैकएंड प्रतीकात्मक ध्वन्यात्मक प्रतिनिधित्व को वास्तविक ध्वनियों में परिवर्तित करता है।<ref>{{Cite web|url=http://research.cs.tamu.edu/prism/lectures/sp/l18.pdf|title=L18: Speech synthesis (backend)|last=Gutierrez--Osuna|first=Ricardo|website=tamu.edu|publisher=Texas A&M University|access-date=29 December 2016}}</ref>
दोनों के बीच के अंतर को समझने का एक और तरीका है, फ्रंटएंड बनाम बैकएंड [[सॉफ्टवेयर डेवलपर]] के लिए आवश्यक ज्ञान को समझना। नीचे दी गई सूची एक उदाहरण के रूप में वेब विकास पर केंद्रित है।
 
[[ संकलनकर्ता |संकलनकर्ता]] में, फ्रंटएंड [[ अनुवादक (कम्प्यूटिंग) |अनुवादक (कम्प्यूटिंग)]] कंप्यूटर प्रोग्रामिंग स्रोत कोड को [[मध्यवर्ती प्रतिनिधित्व]] में अनुवादित करता है और बैकएंड कंप्यूटर आउटपुट भाषा में कोड का उत्पादन करने के लिए मध्यवर्ती प्रतिनिधित्व के साथ कार्य करता है। इस प्रकार बैकएंड सामान्यतः तेजी से चलने वाले कोड का उत्पादन करने के लिए [[कार्यक्रम अनुकूलन]] फ्रंटएंड / बैकएंड भेद [[ पदच्छेद |पदच्छेद]] अनुभाग को भिन्न कर सकता है जो [[सोर्स कोड]] और बैकएंड [[कोड जनरेशन (संकलक)]] से संबंधित होता है। अतः कुछ डिज़ाइन, जैसे जीएनयू कंपाइलर संग्रह, अनेक फ्रंटएंड (विभिन्न स्रोत [[प्रोग्रामिंग भाषा]] पार्सिंग) या बैकएंड (विभिन्न लक्ष्य [[सेंट्रल प्रोसेसिंग यूनिट]] के लिए कोड उत्पन्न करना) के मध्य विकल्प प्रदान करते हैं।<ref>{{Cite web|url=http://www.personal.kent.edu/~rmuhamma/Compilers/MyCompiler/phase.htm|title=ऑपरेटिंग सिस्टम नोट्स|last=Bin Muhammad|first=Rashid|website=www.personal.kent.edu|publisher=Kent State University|access-date=30 December 2016}}</ref>
 
[[डेस्कटॉप वातावरण]] में चलने वाले कुछ [[ग्राफिकल यूज़र इंटरफ़ेस|ग्राफिकल यूज़र अंतराफलक]] (जीयूआई) एप्लिकेशन को उपयोगकर्ता को विशेष शब्दावली सीखने और [[कमांड (कंप्यूटिंग)]] को स्मरण रखने से बचाने के लिए अंतर्निहित [[कमांड लाइन इंटरफेस|कमांड लाइन अंतराफलक]] (सीएलआई) प्रोग्राम के लिए पतले फ्रंटएंड के रूप में कार्यान्वित किया जाता है।
 
=== उदाहरण के रूप में [[वेब विकास]] ===
सामान्यतः दोनों के मध्य के अंतर को समझने की दूसरी विधि फ्रंटएंड बनाम बैकएंड [[सॉफ्टवेयर डेवलपर]] के लिए आवश्यक ज्ञान को समझना होता है। ओस प्रकार नीचे दी गई सूची उदाहरण के रूप में वेब विकास पर केंद्रित होती है।


==== दोनों ====
==== दोनों ====
* [[संस्करण नियंत्रण]] उपकरण जैसे [[Git]], [[Mercurial]], या [[Apache Subversion]]
* [[संस्करण नियंत्रण]] उपकरण जैसे [[Git|गिट]], [[Mercurial|मर्क्यूरियल]], या [[Apache Subversion|अपाचे सबवर्जन]]
* फ़ाइल स्थानांतरण उपकरण और प्रोटोकॉल जैसे [[FTP]] या [[rsync]]
* फ़ाइल स्थानांतरण उपकरण और प्रोटोकॉल जैसे [[FTP|एफटीपी]] या [[rsync|आरएसवाईएनसी]]


==== दृश्यपटल केंद्रित ====
==== फ्रंटएंड केंद्रित ====
* मार्कअप और वेब भाषाएँ जैसे कि [[HTML]], [[CSS]], [[जावास्क्रिप्ट]], और सहायक पुस्तकालय जो आमतौर पर उन भाषाओं में उपयोग किए जाते हैं जैसे Sass (स्टाइलशीट भाषा) या [[jQuery]]
* मार्कअप और वेब भाषाएँ जैसे कि [[HTML|एचटीएमएल]], [[CSS|सीएसएस]], [[जावास्क्रिप्ट]] और सहायक पुस्तकालय जो सामान्यतः उन भाषाओं जैसे सस्स (स्टाइलशीट भाषा) या [[jQuery|जेक्वेरी]] में उपयोग की जाती हैं।
* अतुल्यकालिक I/O अनुरोध हैंडलिंग और [[अजाक्स (प्रोग्रामिंग)]]
* अतुल्यकालिक आई/अनुरोध हैंडलिंग और [[अजाक्स (प्रोग्रामिंग)]]
* [[एक पेज का आवेदन]] ([[ प्रतिक्रिया (जावास्क्रिप्ट पुस्तकालय) ]], एंगुलर (वेब ​​​​फ्रेमवर्क) या Vue.js जैसे फ्रेमवर्क के साथ)
* [[एक पेज का आवेदन|एकल-पृष्ठ का आवेदन]] ([[ प्रतिक्रिया (जावास्क्रिप्ट पुस्तकालय) ]], एंगुलर (वेब ​​​​फ्रेमवर्क) या वुए.जेएस जैसे फ्रेमवर्क के साथ)
* [[वेब प्रदर्शन]] (सबसे बड़ा कंटेंटफुल पेंट, इंटरेक्टिव के लिए समय, 60 [[फ्रेम रेट]] एनिमेशन और इंटरैक्शन, मेमोरी उपयोग, आदि)
* [[वेब प्रदर्शन]] (सबसे बड़ा कंटेंटफुल पेंट, इंटरेक्टिव के लिए समय, 60 [[फ्रेम रेट|एफपीएस]] एनिमेशन और इंटरैक्शन, मेमोरी उपयोग, आदि)
* [[प्रतिक्रियात्मक वेब डिज़ाइन]]
* [[प्रतिक्रियात्मक वेब डिज़ाइन]]
* [[क्रॉस ब्राउज़र]] संगतता समस्याएँ और समाधान
* [[क्रॉस ब्राउज़र]] संगतता समस्याएँ और समाधान
* [[ सॉफ़्टवेयर परीक्षण ]] | [[ नेतृत्वहीन ब्राउज़र ]] के साथ एंड-टू-एंड टेस्टिंग
* [[ नेतृत्वहीन ब्राउज़र |नेतृत्वहीन ब्राउज़र]] के साथ एंड-टू-एंड परीक्षण
* [[वेबपैक]] और गुल.जेएस जैसे टूल का उपयोग करके जावास्क्रिप्ट फ़ाइलों को बदलने और बंडल करने के लिए स्वचालन बनाएं, छवि आकार और अन्य प्रक्रियाओं को कम करें
* [[वेबपैक]] और गुलप.जेएस जैसे टूल का उपयोग करके जावास्क्रिप्ट फ़ाइलों को परिवर्तित करके और बंडल करने, छवि आकार और अन्य प्रक्रियाओं को कम करने के लिए स्वचालन का निर्माण करते है।
* [[सर्च इंजन अनुकूलन]]
* [[सर्च इंजन अनुकूलन]]
* [[वेब पहुंच]] संबंधी चिंताएं
* [[वेब पहुंच|अभिगम्यता]] संबंधी चिंताएँ
* [[GIMP]] या [[Adobe Photoshop]] जैसे छवि संपादन टूल का मूल उपयोग
* [[GIMP|जीआईएमपी]] या [[Adobe Photoshop|एडोब फोटोशॉप]] जैसे छवि संपादन टूल का मूल उपयोग
* [[प्रयोक्ता इंटरफ़ेस]]
* [[प्रयोक्ता इंटरफ़ेस|प्रयोक्ता अंतराफलक]]


==== बैकएंड केंद्रित ====
==== बैकएंड केंद्रित ====
* [[PHP]], Python (प्रोग्रामिंग भाषा), [[रूबी (प्रोग्रामिंग भाषा)]], [[Perl]], Node.js जैसी स्क्रिप्टिंग भाषाएँ, या C Sharp (प्रोग्रामिंग भाषा)|C#, Java (प्रोग्रामिंग भाषा) या Go (प्रोग्रामिंग भाषा) जैसी [[संकलित भाषा]]एँ।
* [[PHP|पीएचपी]], पाइथन (प्रोग्रामिंग भाषा), [[रूबी (प्रोग्रामिंग भाषा)]], [[Perl|पर्ल]], नोड.जेएस जैसी स्क्रिप्टिंग भाषाएँ, या सी शार्प (प्रोग्रामिंग भाषा), जावा (प्रोग्रामिंग भाषा) या गो (प्रोग्रामिंग भाषा) जैसी [[संकलित भाषा]]एँ।
* इस्तेमाल की जा रही भाषा के लिए [[स्वचालित परीक्षण ढांचा]]
* उपयोग की जा रही भाषा के लिए [[स्वचालित परीक्षण ढांचा]]
* [[एप्लिकेशन डेटा एक्सेस]]
* [[एप्लिकेशन डेटा एक्सेस]]
* [[आवेदन व्यापार तर्क]]
* [[आवेदन व्यापार तर्क|अनुप्रयोग व्यवसाय तर्क]]
* [[डेटाबेस प्रशासक]]
* [[डेटाबेस प्रशासक]]
* मापनीयता
* मापनीयता
* [[उच्च उपलब्धता]]
* [[उच्च उपलब्धता]]
* सुरक्षा चिंताओं, [[प्रमाणीकरण]] और प्राधिकरण
* सुरक्षा संबंधी चिंताएँ, [[प्रमाणीकरण]] और प्राधिकरण
* [[सॉफ़्टवेयर वास्तुशिल्प]]
* [[सॉफ़्टवेयर वास्तुशिल्प]]
* [[डेटा परिवर्तन]]
* [[डेटा परिवर्तन]]
* [[बैकअप]] तरीके और सॉफ्टवेयर
* [[बैकअप]] विधि और सॉफ्टवेयर
ध्यान दें कि संभवतः एक उत्पाद पर काम करने के बावजूद दोनों स्थितियों में कौशल का एक बहुत अलग सेट है।
ध्यान दीजिए कि संभवतः उत्पाद पर कार्य करने के अतिरिक्त दोनों स्थितियों में कौशल का अधिक भिन्न समूह होता है।


=== [[एपीआई]] ===
=== [[एपीआई]] ===


दृश्यपटल एक एपीआई के माध्यम से बैकएंड के साथ संचार करता है। [[वेब एपीआई]] और मोबाइल फ्रंटएंड के मामले में, एपीआई अक्सर [[HTTP]] अनुरोध/प्रतिक्रिया पर आधारित होता है। एपीआई को कभी-कभी बैकएंड फॉर फ्रंटएंड (बीएफएफ) पैटर्न का उपयोग करके डिज़ाइन किया जाता है, जो फ्रंटएंड साइड पर प्रसंस्करण को आसान बनाने के लिए प्रतिक्रियाएं प्रदान करता है।<ref>{{cite web | last=Wickramarachchi | first=Viduni | title=The BFF Pattern (Backend for Frontend): An Introduction | website=Bits and pieces | date=24 February 2021 | url=https://blog.bitsrc.io/bff-pattern-backend-for-frontend-an-introduction-e4fa965128bf | access-date=13 November 2021}}</ref>
फ्रंटएंड एपीआई के माध्यम से बैकएंड के साथ संचार करता है। चूँकि [[वेब एपीआई]] और मोबाइल फ्रंटएंड के स्थितियों में, एपीआई अधिकांशतः [[HTTP|एचटीटीपी]] अनुरोध/प्रतिक्रिया पर आधारित होता है। इस प्रकार एपीआई को कभी-कभी बैकएंड के लिए फ्रंटएंड (बीएफएफ) क्रम का उपयोग करके डिज़ाइन किया जाता है, जो फ्रंटएंड साइड पर प्रसंस्करण को सरल बनाने के लिए प्रतिक्रियाएं प्रदान करता है।<ref>{{cite web | last=Wickramarachchi | first=Viduni | title=The BFF Pattern (Backend for Frontend): An Introduction | website=Bits and pieces | date=24 February 2021 | url=https://blog.bitsrc.io/bff-pattern-backend-for-frontend-an-introduction-e4fa965128bf | access-date=13 November 2021}}</ref>
 
 
== हार्डवेयर परिभाषाएँ ==
== हार्डवेयर परिभाषाएँ ==
[[ संगणक संजाल ]] में, फ्रंटएंड किसी भी [[नेटवर्किंग हार्डवेयर]] को संदर्भित कर सकता है जो [[प्रसार यातायात]] का अनुकूलन या सुरक्षा करता है।<ref>{{Cite web|url=http://cacm.acm.org/magazines/2009/6/28494-network-front-end-processors-yet-again/fulltext|title=Network Front-End Processors, Yet Again {{!}} June 2009 {{!}} Communications of the ACM|last=O'Dell|first=Mike|website=cacm.acm.org|access-date=2016-12-30}}</ref> इसे एप्लिकेशन फ्रंट-एंड हार्डवेयर कहा जाता है क्योंकि इसे नेटवर्क के DMZ (कंप्यूटिंग) | आउटवर्ड-फेसिंग फ्रंटएंड या सीमा पर रखा जाता है। नेटवर्क ट्रैफ़िक नेटवर्क में प्रवेश करने से पहले फ्रंट-एंड हार्डवेयर से होकर गुजरता है।
[[ संगणक संजाल |नेटवर्क कंप्यूटिंग]] में, फ्रंटएंड किसी भी [[नेटवर्किंग हार्डवेयर]] को संदर्भित कर सकता है, जो [[प्रसार यातायात|नेटवर्क ट्रैफ़िक]] को अनुकूलित या संरक्षित करता है।<ref>{{Cite web|url=http://cacm.acm.org/magazines/2009/6/28494-network-front-end-processors-yet-again/fulltext|title=Network Front-End Processors, Yet Again {{!}} June 2009 {{!}} Communications of the ACM|last=O'Dell|first=Mike|website=cacm.acm.org|access-date=2016-12-30}}</ref> इसे एप्लिकेशन फ्रंट-एंड हार्डवेयर कहा जाता है जिससे कि इसे नेटवर्क के बाहरी-सामने वाले फ्रंटएंड या सीमा पर रखा जाता है। इस प्रकार नेटवर्क ट्रैफ़िक नेटवर्क में प्रवेश करने से पूर्व फ्रंट-एंड हार्डवेयर से होकर गुजरता है।
 
[[प्रोसेसर डिजाइन]] में, ''फ़्रंटएंड डिज़ाइन'' [[Verilog]] जैसी [[हार्डवेयर विवरण भाषा]] में एक सर्किट के व्यवहार का प्रारंभिक विवरण होगा, जबकि ''बैकएंड डिज़ाइन'' एक पर भौतिक ट्रांजिस्टर के व्यवहार को मैप करने की प्रक्रिया होगी। डाई (इंटीग्रेटेड सर्किट)|डाई।<ref>{{Cite web|url=http://techdocs.altium.com/display/ADOH/Front-End+Design|title=Front-End Design {{!}} Online Documentation for Altium Products|website=techdocs.altium.com|access-date=2016-12-30}}</ref>
 


सामान्यतः [[प्रोसेसर डिजाइन]] में, फ़्रंटएंड डिज़ाइन [[Verilog|वेरिलॉग]] जैसी [[हार्डवेयर विवरण भाषा]] में परिपथ के व्यवहार का प्रारंभिक विवरण होता है, जबकि बैकएंड डिज़ाइन डाई पर भौतिक ट्रांजिस्टर के लिए व्यवहार को मानचित्र करने की प्रक्रिया होती है।<ref>{{Cite web|url=http://techdocs.altium.com/display/ADOH/Front-End+Design|title=Front-End Design {{!}} Online Documentation for Altium Products|website=techdocs.altium.com|access-date=2016-12-30}}</ref>
== यह भी देखें ==
== यह भी देखें ==
{{Columns-list|colwidth=30em|
{{Columns-list|colwidth=30em|
* [[Front-end web development]]
* [[फ्रंट-एंड वेब विकास]]
* [[Client–server model]]
* [[ग्राहक परिसेवक मॉडल]]
* [[Out-of-box experience]]
* [[आउट-ऑफ़-बॉक्स अनुभव]]
* [[Modular programming]]
* [[मॉड्यूलर प्रोग्रामिंग]]
* [[Observer pattern]]
* [[प्रेक्षक पैटर्न]]
* [[Publish–subscribe pattern]]
* [[प्रकाशित-सदस्यता पैटर्न]]
* [[Pull technology]]
* [[प्रौद्योगिकी खींच]]
* [[Push technology]]
* [[पुश तकनीक]]
* [[Remote procedure call]]
* [[सुदूर प्रणाली संदेश]]
* [[Application program interface]] (API)
* [[अनुप्रयोग प्रोग्राम अंतराफलक]] (एपीआई)
}}
}}


Line 79: Line 77:
{{Reflist|30em}}
{{Reflist|30em}}


{{DEFAULTSORT:Front And Back Ends}}[[Category: सॉफ़्टवेयर वास्तुशिल्प]] [[Category: सॉफ्टवेयर इंजीनियरिंग शब्दावली]]
{{DEFAULTSORT:Front And Back Ends}}
 
 


[[Category: Machine Translated Page]]
[[Category:Created On 16/06/2023|Front And Back Ends]]
[[Category:Created On 16/06/2023]]
[[Category:Lua-based templates|Front And Back Ends]]
[[Category:Machine Translated Page|Front And Back Ends]]
[[Category:Multi-column templates|Front And Back Ends]]
[[Category:Pages using div col with small parameter|Front And Back Ends]]
[[Category:Pages with script errors|Front And Back Ends]]
[[Category:Templates Vigyan Ready|Front And Back Ends]]
[[Category:Templates that add a tracking category|Front And Back Ends]]
[[Category:Templates that generate short descriptions|Front And Back Ends]]
[[Category:Templates using TemplateData|Front And Back Ends]]
[[Category:Templates using under-protected Lua modules|Front And Back Ends]]
[[Category:Wikipedia fully protected templates|Div col]]
[[Category:सॉफ़्टवेयर वास्तुशिल्प|Front And Back Ends]]
[[Category:सॉफ्टवेयर इंजीनियरिंग शब्दावली|Front And Back Ends]]

Latest revision as of 11:32, 2 July 2023

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

परिचय

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

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

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

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

सामग्री प्रबंधन प्रणालियों में, फ्रंटएंड और बैकएंड शब्द क्रमशः सीएमएस के अंतिम उपयोगकर्ता के सामने आने वाले विचारों और प्रशासनिक विचारों को संदर्भित कर सकते हैं।[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.