'फ्रंट-एंड' शब्द 'क्लाइंट-साइड' का पर्याय है? यदि हां, तो क्या हमेशा ऐसा ही होता है?


19

एक अपेक्षाकृत नए (स्व-सिखाया) वेब डेवलपर के रूप में, मैंने फ्रंट-एंड , क्लाइंट-साइड , बैक-एंड , और सर्वर-साइड को काफी बार सुना है । मेरे लिए, फ्रंट-एंड और बैक-एंड क्रमशः क्लाइंट-साइड और सर्वर-साइड के साथ समानार्थक थे।

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

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

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


1
मैंने एक आदमी के साथ काम किया है जिसने "फ्रंट एंड" और "बैक एंड" का मतलब "फ्रंट फेसिंग" और "बैक फेसिंग" से किया है। वह "सही" था या नहीं, यह एक और सवाल है।
user16764

हमें इसके बजाय "पीछे" शब्द का उपयोग करना चाहिए। मजाक। काश इसके लिए एक और मुहावरा होता। "बैक एंड" के समानार्थी उत्साहजनक नहीं हैं।
एरिक एरोनिटी

जवाबों:


17

मेरा मानना ​​है कि उन शर्तों के लिए एक औपचारिक परिभाषा है, और जैसा कि आपने उल्लेख किया है कि कुछ मामलों में ओवरलैप है।

front-endऔर client-sideओवरलैप करें।
server-sideऔर back-endओवरलैप भी।

यदि मुझे बाल विभाजित करने थे, तो मैं इन खुरदरी सीमाओं की पेशकश करूंगा:

  • client-sideएक एप्लिकेशन है जो उपयोगकर्ताओं के कंप्यूटर पर चलता है। यह एक स्टैंड-अलोन एप्लिकेशन (अधिक बार) हो सकता है या यह वेब ब्राउज़र आधारित इंटरफ़ेस (कम संभावना) का उल्लेख कर सकता है।
  • front-endअंत-उपयोगकर्ता का भी सामना करता है और आम तौर पर एक वेब ब्राउज़र आधारित इंटरफ़ेस में चलता है। मैंने मोटे ग्राहकों को ए के रूप में संदर्भित किए जाने के बारे में नहीं सुना है front-end
  • back-endउन प्रक्रियाओं और सेवाओं को संदर्भित करता है जो किसी अन्य सर्वर पर या उपयोगकर्ताओं के कंप्यूटर की पृष्ठभूमि में चल रहे हैं। अधिक बार नहीं, यह उन प्रक्रियाओं को संदर्भित करता है जो अंत उपयोगकर्ताओं के कंप्यूटर पर नहीं हैं । लेकिन कुंजी, जैसा कि आपने उल्लेख किया है, यह है कि अंतिम उपयोगकर्ता आवश्यक रूप से चलने वाली प्रक्रियाओं से अवगत नहीं है।
  • server-sideका एक विस्तार है, back-endलेकिन इस तथ्य को स्पष्ट रूप से पुष्ट करता है कि प्रक्रियाएं कहीं और चल रही हैं और अंत उपयोगकर्ताओं के कंप्यूटरों पर नहीं।

उदाहरण के माध्यम से, और शर्तों के बीच भ्रम को उजागर करने के लिए, मैं एक उदाहरण के रूप में Minecraft का उपयोग करूंगा।

Minecraft है एक

  • client-side आवेदन जब आप अपने स्वयं के JVM के साथ स्थानीय रूप से जार फ़ाइलों को चलाते हैं।
  • front-end यदि आप अपने वेब ब्राउज़र में क्लाइंट एप्लिकेशन को चलाना चुनते हैं
  • back-end यदि आप स्टैंड-अलोन मोड में हैं तो प्रक्रिया स्थानीय रूप से आपकी मशीन पर चल सकती है
  • server-side यदि आप Minecraft सर्वर एप्लिकेशन को होस्ट करने वाले सर्वर में लॉग इन करना चुनते हैं तो प्रक्रिया करें।

यदि आप कुछ Minecraft के आंकड़ों में खोदते हैं, तो आप देखेंगे कि वे खेल के लिए केवल एक clientऔर serverघटक नामित करते हैं; वे आवश्यक रूप से परवाह नहीं करते हैं कि उन घटकों को कहाँ चलाया जाता है।


अपने सवालों के सीधे जवाब देने के लिए:

'फ्रंट-एंड' शब्द 'क्लाइंट-साइड' का पर्याय है?

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

यदि हां, तो क्या हमेशा ऐसा ही होता है?

वेब दुनिया में, मैं हां कहूंगा। अन्य क्षेत्रों में, मैं नहीं कहूंगा कि मेरे द्वारा पेश की गई किसी न किसी परिभाषा में बताया गया है।


यही मैंने सोचा था। मेरे सिर में यह स्पष्ट करने में मेरी मदद करने के लिए धन्यवाद।
DC_

2
Backend का उपयोग अक्सर किसी वेबसाइट / एप्लिकेशन के क्लाइंट साइड एडमिनिस्ट्रेशन भाग के लिए किया जाता है।
फ्लोरियन मार्गाइन

20

सर्वर-साइड सर्वर पर चलता है। क्लाइंट-साइड क्लाइंट पर चलता है। बैक-एंड क्रंचिंग डेटा है। फ्रंट-एंड इसे प्रदर्शित कर रहा है।

इस वेब पेज को देखें। डेटाबेस से सभी टिप्पणियों को खींचना सर्वर-साइड, बैक-एंड काम है। उस डेटा को एक टेम्पलेट में रखना, फ्रंट-एंड, सर्वर-साइड काम है। AJAX वोटिंग विजेट और फैंसी टेक्स्ट इनपुट बॉक्स फ्रंट-एंड, क्लाइंट-साइड हैं।


4
+1 सामने के छोर / बैक-एंड कॉन्सेप्ट और क्लाइंट-साइड / सर्वर-साइड कॉन्सेप्ट के बीच ऑर्थोगोनलिटी को इंगित करने के लिए
फ्रांसेस्को फेल्ट्रिनाली

1

मैं आमतौर पर विकास का वर्णन करने के लिए क्लाइंट-साइड और सर्वर-साइड का उपयोग करता हूं / डेवलपर्स कम अस्पष्ट है। क्लाइंट साइड का वह हिस्सा जहां हम डेटा की बाजीगरी / प्रारूपण कर रहे हैं, बैक-एंड घटक के रूप में देखा जा सकता है। फ्लिप-साइड पर वे सभी टेम्प्लेटिंग हैं जो पीछे के छोर पर होते हैं, जो "फ्रंट एंड के लिए" होने के कारण उन लोगों के बारे में सामने वाले जावा या सी # विकास के रूप में बात करते हैं। यह दुर्लभ है, लेकिन मैंने इसे नौकरी के विवरण में देखा है।

लेकिन हां, आम तौर पर सामने वाला अंत बोलना वह हिस्सा है जहां बातचीत होती है। पीछे का भाग वह हिस्सा है जहाँ वह सभी बातचीत कुछ उपयोगी में बदल जाती है।


0

यह सवाल कुछ हद तक पुराना है लेकिन मुझे अपना 2c जोड़ने दें:

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

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

पुनश्च: अच्छा, हो सकता है कि मैं भी अब अपना उपनाम बदलकर "client_dev" करूँ;)


0

वेब एप्लिकेशन में क्लाइंट का पक्ष उपयोगकर्ता / ग्राहक के नियंत्रण में होता है, सर्वर साइड डेवलपर के नियंत्रण में होता है। यह एक कारण है कि किसी को सर्वर पर डेटा सत्यापन क्यों करना चाहिए।

मामले सामने अंत और वापस अंत अक्सर के लिए पर्याय उपयोग किया जाता है क्लाइंट पक्ष और सर्वर साइड और कई मामलों में यह ठीक है। हालांकि, महत्वपूर्ण काउंटर-उदाहरण भी हैं। करने के लिए मुझे , सामने अंत कुछ भी है कि पता चलता है उपयोगकर्ता के लिए कुछ है।

निम्नलिखित छवि में, आप विशिष्ट प्रौद्योगिकियों / अवधारणाओं को देख सकते हैं और वे कैसे (सामने के छोर, पीछे के छोर) / (क्लाइंट साइड, सर्वर साइड) क्वाड्रंट में फिट होते हैं।

यहाँ छवि विवरण दर्ज करें

फ्रंट एंड और बैक एंड डेवलपर्स

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

और यद्यपि मैं "क्लाइंट-साइड बैकएंड" क्वाड्रंट में वेब एसक्यूएल डेटाबेस और इंडेक्सेड डेटाबेस एपीआई जैसी तकनीकों को डालूँगा, जो कि आम तौर पर इसके बारे में जानने वाली भूमिका फ्रंट-एंड डेवलपर भूमिका है।

  • सीमांत डेवलपर्स को HTML, CSS, DOM और सामान्य ब्राउज़र क्षमताओं (जैसे caniuse ) के बारे में पता होना चाहिए । आमतौर पर वे कुछ jQuery या प्रतिक्रिया को जानते हैं। यद्यपि यह मेरी परिभाषा के अनुसार बैकएंड है, मैं ग्राहकों से साइड स्टोरेज के बारे में जानने के लिए फ्रंटएंड डेवलपर्स की अपेक्षा करूंगा
  • बैकएंड डेवलपर्स को वेब सर्वरों जैसे कि नगीनक्स, जोंकॉर्न, अपाचे या नोड.जे के बारे में जानना चाहिए उन्हें कम से कम एक SQL डेटाबेस (Postgres, MariaDB / MySQL, ...), की-वैल्यू स्टोर (Redis), API डेवेलपमेंट (REST और ग्राफकॉक) पता होना चाहिए। LAMP कुछ समय पहले एक विशिष्ट स्टैक था। मैं ब्राउज़रों के बारे में कुछ भी जानने के लिए बैकएंड डेवलपर की उम्मीद नहीं करूंगा!

यूआई डिजाइनर बनाम फ्रंट एंड डेवलपर

दो अन्य भूमिकाएं यूआई डिजाइनर और फ्रंटएंड डेवलपर हैं। इसलिए एक अंतर यह है कि एक डिजाइनर है और एक डेवलपर है।

उद्देश्य:

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

उपकरण:

  • UI डिज़ाइनर ज्यादातर Adobe Photoshop / Illustrator / Sketch / Balsamiq / Invision का उपयोग करते हैं।
  • फ्रंट एंड डेवलपर्स रिएक्ट, वीयू, कोणीय का उपयोग करते हैं

APIs: REST और GraphQL

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.