बैक एंड के लिए उपयोग की जाने वाली भाषाओं में लिखा गया फ्रंट एंड! [बन्द है]


10

वेब विकास में अपने अनुभव से, मुझे पता है कि PHP, Java, Python..etc जैसी भाषाओं का उपयोग बैकएंड डेवलपमेंट स्टफ (सॉफ़्टवेयर जो सर्वर पर चल रहा है) के लिए किया जाता है, और फ्रंट एंड भाषाओं के लिए, JS / HTML / CSS का उपयोग किया जाता है।

लेकिन मैं कई कंपनियों को कहता हूं कि वे उपयोग करते हैं, उदाहरण के लिए, फ्रंट-एंड डेवलपमेंट के लिए PHP, और बैक-एंड के लिए अजगर।

क्या इसका मतलब है कि PHP REST, RPC ..etc के माध्यम से अन्य भाषाओं में लिखी गई अन्य सेवाओं को कॉल करने के लिए फ्रंट-एंड है?


3
यह पोस्ट पढ़ना मुश्किल है (पाठ की दीवार)। क्या आप इसे बेहतर आकार में संपादित करेंगे ?
gnat

जवाबों:


36

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

एक वेब एप्लिकेशन में, क्लाइंट (उपयोगकर्ता का ब्राउज़र), उन वेब पेजों को एक्सेस करता है जो "फ्रंट-एंड" प्रौद्योगिकियों द्वारा "सर्वर-साइड" संग्रहीत या गतिशील रूप से उत्पन्न होते हैं। वे फ्रंट-एंड घटक, "बैक-एंड" घटकों से डेटा या अन्य जानकारी खींच सकते हैं। तो PHP में लिखा एक वेब एप्लिकेशन "फ्रंट-एंड" होगा लेकिन "सर्वर-साइड" होगा। हालाँकि, यदि वेब पृष्ठों में उपयोगकर्ता के ब्राउज़र द्वारा निष्पादित की जाने वाली कोई जावास्क्रिप्ट होती है, तो उस जावास्क्रिप्ट कोड को "क्लाइंट-साइड" निष्पादित किया जाएगा।

उम्मीद है कि मैंने कुछ भ्रम को दूर किया है, लेकिन अब मैं कुछ और बनाने का जोखिम उठाता हूं।

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

दूसरी बात कि जावास्क्रिप्ट केवल क्लाइंट-साइड उपयोग तक ही सीमित नहीं है। यह एक "सर्वर-साइड" भाषा के रूप में तेजी से लोकप्रिय हो गया है ( एक उदाहरण के लिए नोड.जेएस देखें )। इस तरह, इसका सबसे आम उपयोग सिर्फ उस तरह की इंटरनेट-फेसिंग सेवाओं के लिए है जिसे मैंने पूर्ववर्ती पैराग्राफ में वर्णित किया था।

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

(ओह, और आप अगर है पीएचपी उपयोग करने के लिए, कृपया इसे सामने के छोर पर रहते हैं। यह जोरदार ढंग से है नहीं , एक अच्छा बैक-एंड प्रौद्योगिकी। और अगर आप कभी एक ब्राउज़र है कि PHP क्लाइंट साइड कार्यान्वित बनाने किसी को खोजने के गोली मार उन्हें।)


आपके अंतिम वाक्य को देखते हुए, आप code.google.com/p/php-to-js :-P
Andrea

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

7

मुझे लगता है कि आपका प्रश्न PHP के लिए वास्तव में काफी विशिष्ट हो सकता है, क्योंकि मैं आपके द्वारा उपयोग की जा रही अन्य किसी भी बैक-एंड तकनीकों को नहीं देख सकता।

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

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

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

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

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

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

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

इसके अलावा, मुझे भी लगता है कि बहुत कम परिदृश्य हैं जो इस तरह के मध्यस्थ स्टैक को वारंट करते हैं; अधिकांश बैक-एंड भाषाएं / रूपरेखाएं फ्रंट-एंड के लिए आवश्यक मार्क-अप जनरेट करने में पूरी तरह से सक्षम हैं। हालांकि मैं वहां सही होने के लिए खड़ा हूं।

* हालांकि, यह आपके सवाल को चालू करने के लिए है कि .. जावास्क्रिप्ट का उपयोग करके निर्मित बैक-एंड सिस्टम के बारे में क्या? (नोड.ज।)

संपादित करें:

@Itsbruce द्वारा एक टिप्पणी पढ़ने के बाद, मैंने स्पष्ट करने का फैसला किया है कि मेरे "फ्रंट-एंड" / "बैक-एंड" शब्दावली की अस्पष्टता से मेरा क्या मतलब है।

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

यह डेटा प्रोसेसिंग क्लाइंट-साइड की एक उचित मात्रा में करने के लिए स्वीकार्य हो रहा है (बस वर्तमान में ट्रेंड कर रहे कुछ जावास्क्रिप्ट फ्रेमवर्क को देखें), फिर भी क्या यह वास्तव में फ्रंट-एंड है? उपयोगकर्ता इसे नहीं देखता है, वे इसके परिणामों को देखते हैं - और पारंपरिक मानदंडों से जिन्हें आमतौर पर "बैक-एंड" के रूप में देखा जाता है; लेकिन यह अब ब्राउज़र में हो रहा है ..

इसी तरह, और इस सवाल के लिए अविश्वसनीय रूप से प्रासंगिक है, क्या PHP में मार्क-अप का निर्माण वास्तव में एक फ्रंट-एंड कार्य है? मुझे संदेह है, नौकरी बोर्डों का एक त्वरित ब्राउज़ कुछ फ्रंट-एंड डेवलपर पदों को दिखाता है जो PHP के अनुभव या ज्ञान की उम्मीद करते हैं; अभी तक अंतर्ज्ञान सुझाव देगा कि इंटरफ़ेस के लिए मार्क-अप स्वाभाविक रूप से फ्रंट-एंड है।

यह तथ्य कि यह सवाल मौजूद है कि " फ्रंट-एंड " और " बैक-एंड " किस तरह से अस्पष्ट हैं, और उदाहरण के लिए काम करता है।

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


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

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

जरूरी नहीं - मैं एक वेब-सर्वर भाषा को क्लाइंट का हिस्सा मानता हूं (यह देखते हुए कि आजकल वेबसर्वर को कितनी बार हैक किया जाता है, इसे 1 दिन से समझौता माना जाना चाहिए) इसलिए सर्वर-साइड भाषाओं को अलग करने की आवश्यकता है जो प्रस्तुति का हिस्सा हैं सर्वर-साइड भाषाओं से टियर जो एप्लिकेशन-टियर सेवाएं प्रदान करती हैं। इसलिए PHP को "फ्रंट-एंड, सर्वर-साइड" भाषा माना जा सकता है।
gbjbaanb
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.