आम तौर पर, किसी भी निश्चित रूप से आकार की वेब प्रोजेक्ट लगभग पांच भाषाओं का उपयोग करेगी: एचटीएमएल, सीएसएस, जावास्क्रिप्ट, किसी प्रकार का सर्वर-साइड "चीजें हो रही है" भाषा (एएसपी, जेएसपी, पर्ल, पीएचपी आदि के साथ सीजीआई स्क्रिप्ट) , और डेटाबेस कनेक्टिविटी के लिए एसक्यूएल के कुछ संस्करण।
(यह निश्चित रूप से एचटीएमएल और सीएसएस प्रोग्रामिंग भाषाओं के रूप में गिनती है या नहीं, इस बारे में तर्क को दूर करना - मैं हूं "वे हैं, लेकिन सिर्फ ट्यूरिंग-पूर्ण भाषा नहीं" शिविर, लेकिन यह एक है पूरे अन्य धागा)
कैसे उन सभी एक साथ काम के कुछ उदाहरण:।
आप सर्वोत्तम प्रथाओं मार्ग जा रहे हैं, एक वेब पेज की संरचना HTML में है, और कैसे प्रदर्शित करने के लिए निर्देश यह सीएसएस में है - जो एक ही फाइल में हो सकता है, लेकिन ऐसा नहीं होना चाहिए। सीएसएस में कक्षाओं का एक समूह होता है, जिसे HTML संदर्भित करता है, और यह ब्राउज़र पर निर्भर करता है कि यह पता लगाने के लिए कि उन्हें एक साथ कैसे क्लिक करें।
यह सब कुछ एक कदम आगे लेते हुए, उस पृष्ठ पर किसी भी जावास्क्रिप्ट स्क्रिप्ट्स मौजूद एचटीएमएल/सीएसएस को बदल सकते हैं (एचटीएमएल इकाइयों की सामग्री बदलें, एक सीएसएस वर्ग को दूसरे के लिए स्वैप करें, सीएसएस के व्यवहार को बदलें, और इसी तरह।) यह दस्तावेज़ ऑब्जेक्ट मॉडल नामक किसी चीज़ के माध्यम से करता है, जो अनिवार्य रूप से एक भाषा और मंच-स्वतंत्र एपीआई है जो एचटीएमएल पृष्ठों को ऑब्जेक्ट-जैसी तरीके से छेड़छाड़ करने के लिए है (जिस बिंदु पर मैं धीरे-धीरे वापस आऊंगा और केवल एक प्रदान करूंगा relevant wiki article से लिंक करें।)
लेकिन फिर, सभी HTML/CSS/जावास्क्रिप्ट कहां से आते हैं? सर्वर-साइड भाषा यही है। सबसे सरल रूप में, सेरर-साइड भाषा एक ऐसा प्रोग्राम है जो एक HTML स्ट्रिंग को अपने आउटपुट के रूप में रखते हुए एक विशाल स्ट्रिंग देता है। यह स्पष्ट रूप से, अधिक जटिल हो सकता है: एचटीएमएल फॉर्म और क्वेरी स्ट्रिंग पैरामीटर हमारे सर्वर साइड प्रोग्राम के लिए इनपुट के रूप में उपयोग किए जा सकते हैं, और फिर आपके पास पूरी AJAX चीज है जहां जावास्क्रिप्ट सीधे सर्वर भाषा में डेटा भेजता है। आप कल्पना भी प्राप्त कर सकते हैं जहां सर्वर भाषा एचटीएमएल, सीएसएस, और जावास्क्रिप्ट को अनुकूलित कर सकती है जो थूक जाती है - अनिवार्य रूप से, आपके पास एक भाषा में एक प्रोग्राम है जो किसी अन्य भाषा में प्रोग्राम लिखता है।
एसक्यूएल कनेक्शन के लिए सर्वर-साइड भाषा बहुत समान काम करती है। इसे और अधिक जटिल और सुरक्षित बनाने के कई तरीके हैं, लेकिन सबसे सरल तरीका यह है कि आपकी सर्वर भाषा गतिशील रूप से एक एसक्यूएल कमांड के साथ एक स्ट्रिंग बनाने के लिए है, किसी भी प्रकार के कनेक्टर के माध्यम से डेटाबेस को सौंपें, और वापस आएं एक परिणाम सेट। (यह एक मामले में जहां आप वास्तव में एक समारोह है कि someValue = database.executeThisSQLCommand (SQLString) करने पर निर्भर करता है है।)
तो इस मामले में यह ऊपर विभिन्न भाषाओं लपेट, या तो वास्तव में एक दूसरे में कार्यक्रमों लिख कर बातचीत करने के लिए , या प्रारूपों को पार्स करने के लिए बहुत आसान आसान डेटा को सौंपकर जो सभी समझ सकते हैं। (स्ट्रिंग्स, मुख्य रूप से।)
क्या मैं पूछ सकता हूं कि 'मूल COM घटक' क्या हैं? – Dan
क्या यह बड़ी परियोजना में सी # कोड से पायथन स्क्रिप्ट को कॉल करने का एक अच्छा अभ्यास है? – amrit
@amrit: यह पूरी तरह से निर्भर करता है। बेशक, एक परियोजना में प्रौद्योगिकियों को मिलाकर हमेशा एक निश्चित लागत के साथ आता है, लेकिन मौजूदा लागत को कार्यान्वित करने की लागत (फिर से) की लागत से यह लागत आसानी से अधिक हो सकती है। इसलिए मौजूदा पायथन पुस्तकालयों को सी # कोडबेस में एकीकृत करना पूरी तरह से उचित हो सकता है। –