मैंने ऐसे डेवलपर्स को देखा है जो लंबे समय से सी के साथ काम कर रहे हैं, फिर भी एमएफसी (माइक्रोसॉफ्ट फाउंडेशन क्लासेस) के साथ विकास कर रहे हैं। कारण सरल है: C में UI के निर्माण के लिए कोई वास्तविक विकल्प नहीं हैं। जबकि Qt मौजूद है, इसे व्यावसायिक उपयोग के लिए वाणिज्यिक लाइसेंस की आवश्यकता होती है, जिससे MFC एकमात्र विकल्प बन जाता है।
एमएफसी बुनियादी यूआई घटक प्रदान करता है, लेकिन यह अभी भी सीएडी सॉफ्टवेयर या अस्पतालों के लिए एप्लिकेशन जैसे उत्पादन-स्तरीय कार्यक्रम बनाने में सक्षम है।
जावास्क्रिप्ट पारिस्थितिकी तंत्र की वर्तमान स्थिति काफी समान है।
ऐसा कोई ढांचा नहीं है जो विशेष रूप से एचपीएसई के लक्ष्यों को संबोधित करने के लिए बनाया गया हो। जबकि बेबीलोन.जेएस जैसे गेम इंजन हैं, ये केवल 3डी ग्राफिक्स के लिए सुविधाएं प्रदान करते हैं और रिएक्ट जैसी व्यापक संरचना प्रदान नहीं करते हैं।
तो, अंत में, यह सब वेनिला जावास्क्रिप्ट और टाइपस्क्रिप्ट पर वापस आ जाता है। ऐसा नहीं है कि डेवलपर्स वेनिला जावास्क्रिप्ट का उपयोग इसलिए करते हैं क्योंकि वे इसे पसंद करते हैं; वे इसका उपयोग करते हैं क्योंकि कोई अन्य विकल्प नहीं है। ठीक उसी तरह जैसे शुरुआती दिनों में जब वाणिज्यिक ढांचे की कमी के कारण डेवलपर्स को सी में सब कुछ खरोंच से बनाना पड़ता था, अब हम जावास्क्रिप्ट में भी उसी स्थिति का सामना कर रहे हैं। ऐसा कोई मौजूदा ढांचा नहीं है जो एचपीएसई की मांगों को पूरी तरह से पूरा करता हो, इसलिए हमें वेनिला जावास्क्रिप्ट के साथ मैन्युअल रूप से विकसित करने के लिए छोड़ दिया गया है।
और स्पष्ट रूप से, यह केवल जावास्क्रिप्ट के लिए नहीं है। यह अधिकांश अन्य भाषाओं के लिए भी सत्य है।
एक कहावत है, "मुफ़्त लंच जैसी कोई चीज़ नहीं होती।"
कई कार्यक्रम जो नई सीमाओं को तोड़ने की भव्य महत्वाकांक्षाओं के साथ शुरू हुए थे, वे सीधे प्रोग्रामिंग भाषा के भीतर निर्मित कस्टम सुविधाओं पर बहुत अधिक निर्भर हो गए हैं। एचपीएसई की शुरुआत भी ब्राउज़र में एक दिन देशी प्रोग्राम चलाने की दृष्टि से हुई थी, और अभी के लिए, इसे वेनिला जावास्क्रिप्ट में टुकड़े-टुकड़े करके लिखा जाना चाहिए।
कुछ लोग तर्क दे सकते हैं, "क्यों न सिर्फ जावास्क्रिप्ट को छोड़ दिया जाए और WebAssembly (WASM) मॉड्यूल बनाने के लिए C या रस्ट का उपयोग किया जाए और इसके बजाय इसे ब्राउज़र में चलाया जाए?"
एक अच्छी कहानी है जो इस प्रश्न का उत्तर देती है।
Babylon.js और three.js के नेताओं से एक बार एक टिप्पणी में पूछा गया था कि क्या WASM तकनीक उनके इंजनों का भविष्य होगी। उनका उत्तर था "नहीं।"
कारण सरल है: सी/रस्ट कोड सीधे वेब वातावरण में नहीं चलता है, जिससे डिबगिंग अधिक कठिन हो जाती है। और V8 इंजन की प्रगति के लिए धन्यवाद, जावास्क्रिप्ट अब उच्च प्रदर्शन प्राप्त कर सकता है। जावास्क्रिप्ट एक स्क्रिप्टिंग भाषा है जो सीधे ब्राउज़र में चलती है और उच्च उत्पादकता प्रदान करती है—इन शक्तियों को छोड़ने की कोई आवश्यकता नहीं है।
अतीत में, प्रोग्रामर अपने स्वयं के ऑपरेटिंग सिस्टम विकसित करके प्रतिस्पर्धा करते थे। लेकिन विंडोज़, मैक और लिनक्स के मानक बनने के बाद, ध्यान इस बात पर केंद्रित हो गया कि इन प्रणालियों के शीर्ष पर चलने वाले प्रोग्राम कैसे बनाए जाएं। इसी तरह, ब्राउज़र आज एक ऐसे बिंदु पर विकसित हो गए हैं जहां यह सोचना उचित है कि उनके भीतर चलने वाले प्रोग्राम कैसे बनाएं।
यदि इस बारे में स्पष्ट रेखाएं होती कि जावास्क्रिप्ट का उपयोग किस लिए किया जाना चाहिए और क्या नहीं, और यदि उच्च-स्तरीय कार्य वास्तव में जावास्क्रिप्ट के लिए अनुपयुक्त थे, तो Microsoft ने कभी भी बेबीलोन.जेएस प्रोजेक्ट शुरू नहीं किया होता, और थ्री.जेएस कभी भी नहीं होता बनाए गए हैं. यही बात WebGPU के लिए भी लागू होती है, जिसे एक नए वेब मानक के रूप में स्थापित किया जा रहा है।
हाल ही में, मैं एक डेवलपर के रूप में अपनी पहचान पर विचार कर रहा हूं, यह सवाल कर रहा हूं कि वास्तव में "फ्रंटएंड" का क्या अर्थ है और क्या यह शब्द वास्तव में वेब क्लाइंट विकास के दायरे को शामिल कर सकता है।
मुझे यकीन है कि मेरे विचारों में बहुत सारी गलत सूचनाएं हैं, लेकिन मैं जो सोच रहा हूं उसे समेकित करने के लिए इसे अपनी पहली ब्लॉग प्रविष्टि के रूप में पोस्ट करूंगा।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3