.NET फ्रेमवर्क क्या है? समझाएँ Archiटेक्चर और घटक

⚡ स्मार्ट सारांश

.NET फ्रेमवर्क एक है Microsoft निर्माण और संचालन के लिए प्लेटफ़ॉर्म Windows डेस्कटॉप, वेब और सेवा अनुप्रयोगों के लिए। यह कॉमन लैंग्वेज रनटाइम, एक साझा क्लास लाइब्रेरी और C# और VB.NET जैसी भाषाओं को एक प्रबंधित विकास वातावरण में समेकित करता है।

  • 🧩 परिभाषा: .NET फ्रेमवर्क एक है Windowsडेस्कटॉप और वेब ऐप्स के लिए टूल्स, भाषाओं और लाइब्रेरी का एकमात्र संग्रह।
  • Archiटेक्चर: कॉमन लैंग्वेज रनटाइम प्रबंधित कोड को निष्पादित करता है जबकि क्लास लाइब्रेरी पुन: प्रयोज्य, तैयार कार्यक्षमता प्रदान करती हैं।
  • ⚙️ प्रमुख घटक: CLR, क्लास लाइब्रेरी और समर्थित भाषाएँ मिलकर एप्लिकेशन को कंपाइल और रन करती हैं।
  • डिज़ाइन सिद्धांत: अंतरसंचालनीयता, सुवाह्यता, सुरक्षा, स्वचालित मेमोरी प्रबंधन और सरलीकृत परिनियोजन इस ढांचे को आकार देते हैं।
  • 🌐 आवेदन के प्रकार: WinForms डेस्कटॉप ऐप्स बनाता है, ASP.Net वेबसाइटों को शक्ति प्रदान करता है, और ADO.Net डेटाबेस से जुड़ता है।
  • 🤖 एआई की प्रासंगिकता: ML.NET और ONNX रनटाइम मशीन लर्निंग को जोड़ते हैं, जबकि GitHub Copilot .NET कोडिंग को गति देता है।

.NET फ्रेमवर्क क्या है?

.नेट फ्रेमवर्क क्या है?

. नेट फ्रेमवर्क द्वारा विकसित एक सॉफ्टवेयर विकास मंच है Microsoft निर्माण और चलाने के लिए Windows अनुप्रयोग। .Net फ्रेमवर्क में डेस्कटॉप और वेब अनुप्रयोग बनाने के लिए डेवलपर टूल, प्रोग्रामिंग भाषाएँ और लाइब्रेरी शामिल हैं। इसका उपयोग वेबसाइट, वेब सेवाएँ और गेम बनाने के लिए भी किया जाता है।

.Net फ्रेमवर्क का उद्देश्य ऐसे एप्लिकेशन बनाना था जो कंप्यूटर पर चल सकें। Windows प्लेटफ़ॉर्म. .Net फ़्रेमवर्क का पहला संस्करण वर्ष 2002 में जारी किया गया था। इस संस्करण को .Net फ़्रेमवर्क 1.0 कहा गया था। Microsoft तब से .Net फ्रेमवर्क ने काफी लंबा सफर तय किया है, और इसका नवीनतम संस्करण .Net फ्रेमवर्क 4.8.1 है।

RSI Microsoft .नेट फ्रेमवर्क का उपयोग दोनों प्रकार की रचनाएँ करने के लिए किया जा सकता है — फार्म के आधार पर और वेब आधारित अनुप्रयोगों. वेब सेवाओं .Net फ्रेमवर्क का उपयोग करके भी विकसित किया जा सकता है।

यह फ्रेमवर्क विभिन्न प्रोग्रामिंग भाषाओं जैसे कि Visual Basic और C# का भी समर्थन करता है। इसलिए डेवलपर्स आवश्यक एप्लिकेशन विकसित करने के लिए भाषा चुन सकते हैं और उसका चयन कर सकते हैं। इस अध्याय में, आप .Net फ्रेमवर्क की कुछ मूल बातें सीखेंगे।

. नेट फ्रेमवर्क Archiटेक्चर

. नेट फ्रेमवर्क Archiटेक्चर .Net प्लेटफ़ॉर्म के लिए एक प्रोग्रामिंग मॉडल है जो विभिन्न के सरल विकास और परिनियोजन के लिए एक निष्पादन वातावरण और विभिन्न प्रोग्रामिंग भाषाओं के साथ एकीकरण प्रदान करता है। Windows और डेस्कटॉप अनुप्रयोग। इसमें क्लास लाइब्रेरी और पुन: प्रयोज्य घटक शामिल हैं।

.Net फ्रेमवर्क की मूल संरचना नीचे दर्शाई गई है।

. नेट फ्रेमवर्क Archiटेक्चर आरेख

. नेट फ्रेमवर्क Archiटेक्चर आरेख

.NET घटक

.Net फ्रेमवर्क की संरचना निम्नलिखित प्रमुख घटकों पर आधारित है:

1. सामान्य भाषा रनटाइम

RSI सामान्य भाषा रनटाइम (सीएलआर) .Net आर्किटेक्चर में निष्पादन इंजन वह है जिस पर .Net प्रोग्राम चलाए जाते हैं।

सीएलआर की मुख्य विशेषताएं निम्नलिखित हैं:

उपवाद सम्भालना — अपवाद वे त्रुटियाँ हैं जो एप्लिकेशन के निष्पादन के दौरान उत्पन्न होती हैं। अपवादों के उदाहरण इस प्रकार हैं:

  • यदि कोई एप्लिकेशन स्थानीय मशीन पर फ़ाइल खोलने का प्रयास करता है, लेकिन फ़ाइल मौजूद नहीं है।
  • यदि एप्लिकेशन किसी फ़ाइल से कुछ रिकॉर्ड लाने का प्रयास करता है, तो डेटाबेस, लेकिन डेटाबेस से कनेक्शन वैध नहीं है.

कचरा इकठा करना — गार्बेज कलेक्शन वह प्रक्रिया है जिसके द्वारा अनावश्यक संसाधनों को तब हटाया जाता है जब उनकी आवश्यकता नहीं रह जाती है। गार्बेज कलेक्शन के उदाहरण हैं:

  • एक फ़ाइल हैंडल जिसकी अब आवश्यकता नहीं है। यदि एप्लिकेशन ने किसी फ़ाइल पर सभी ऑपरेशन पूरे कर लिए हैं, तो फ़ाइल हैंडल की अब आवश्यकता नहीं हो सकती है।
  • डेटाबेस कनेक्शन की अब आवश्यकता नहीं है। यदि एप्लिकेशन ने डेटाबेस पर सभी ऑपरेशन समाप्त कर दिए हैं, तो डेटाबेस कनेक्शन की अब आवश्यकता नहीं हो सकती है।

विभिन्न प्रोग्रामिंग भाषाओं के साथ काम करना जैसा कि पिछले अनुभाग में बताया गया है, एक डेवलपर विभिन्न प्रकार की .Net प्रोग्रामिंग भाषाओं में एक एप्लिकेशन विकसित कर सकता है।

  1. भाषा — पहला स्तर प्रोग्रामिंग भाषा का है; सबसे आम भाषाएँ VB.Net और C# हैं।
  2. संकलक — प्रत्येक प्रोग्रामिंग भाषा के लिए एक अलग कंपाइलर होता है। उदाहरण के लिए, VB.Net भाषा के लिए एक अलग VB.Net कंपाइलर होगा। इसी प्रकार, C# के लिए भी एक अलग कंपाइलर होगा।
  3. सामान्य भाषा रनटाइम — यह .Net की अंतिम परत है, जिसका उपयोग किसी भी भाषा में विकसित .Net प्रोग्राम को चलाने के लिए किया जाता है। प्रोग्रामिंग भाषाइसके बाद कंपाइलर प्रोग्राम को .Net एप्लिकेशन चलाने के लिए CLR लेयर को भेजता है।

.NET घटक

2. कक्षा पुस्तकालय

.NET फ्रेमवर्क में मानक क्लास लाइब्रेरीज़ का एक सेट शामिल है। क्लास लाइब्रेरी विधियों और फ़ंक्शन का एक संग्रह है जिसका उपयोग मुख्य उद्देश्य के लिए किया जा सकता है।

उदाहरण के लिए, एक क्लास लाइब्रेरी है जिसमें फ़ाइल-स्तर के सभी कार्यों को संभालने के लिए विधियाँ मौजूद हैं। इस प्रकार, एक विधि है जिसका उपयोग फ़ाइल से पाठ पढ़ने के लिए किया जा सकता है। इसी प्रकार, एक विधि है जिसका उपयोग फ़ाइल में पाठ लिखने के लिए किया जा सकता है।

अधिकांश विधियाँ या तो सिस्टम में विभाजित हैं.* या Microsoft.* नामस्थान। (तारांकन चिह्न * का अर्थ केवल उन सभी विधियों का संदर्भ है जो सिस्टम या के अंतर्गत आती हैं) Microsoft नेमस्पेस।)

नेमस्पेस विधियों का एक तार्किक विभाजन है जो संबंधित वर्गों को एक नाम के अंतर्गत समूहित करता है।

3। बोली

.Net फ्रेमवर्क में जिन प्रकार के एप्लिकेशन बनाए जा सकते हैं, उन्हें मोटे तौर पर निम्नलिखित श्रेणियों में वर्गीकृत किया गया है।

विनफॉर्म्स — इसका उपयोग विकास के लिए किया जाता हैping फॉर्म-आधारित एप्लिकेशन, जो अंतिम उपयोगकर्ता के कंप्यूटर पर चलते हैं। नोटपैड क्लाइंट-आधारित एप्लिकेशन का एक उदाहरण है।

ASP.Net — इसका उपयोग विकास के लिए किया जाता हैping वेब-आधारित एप्लिकेशन, जो इंटरनेट एक्सप्लोरर, क्रोम या किसी भी ब्राउज़र पर चलने के लिए बनाए गए हैं। Firefox.

  • वेब एप्लिकेशन को एक सर्वर पर प्रोसेस किया जाएगा, जिस पर इंटरनेट सूचना सेवाएं स्थापित होंगी।
  • इंटरनेट सूचना सेवाएँ, या आईआईएस, एक Microsoft वह घटक जिसका उपयोग किसी क्रिया को निष्पादित करने के लिए किया जाता है एएसपी.नेट आवेदन.
  • इसके बाद निष्पादन का परिणाम क्लाइंट मशीनों को भेजा जाता है, और आउटपुट ब्राउज़र में दिखाया जाता है।

एडीओ.नेट — इस तकनीक का उपयोग डेटाबेस के साथ इंटरैक्ट करने के लिए एप्लिकेशन विकसित करने में किया जाता है, जैसे कि Oracle or Microsoft एसक्यूएल सर्वर।

Microsoft हमेशा सुनिश्चित करें कि .Net फ्रेमवर्क सभी समर्थित मानकों के अनुरूप हैं Windows ऑपरेटिंग सिस्टम।

.नेट फ्रेमवर्क डिज़ाइन सिद्धांत

निम्नलिखित डिजाइन सिद्धांत ही .Net फ्रेमवर्क को .Net-आधारित एप्लिकेशन बनाने के लिए अत्यंत प्रासंगिक बनाते हैं।

1) अंतरसंचालनीयता — .Net फ्रेमवर्क बहुत अधिक बैकवर्ड सपोर्ट प्रदान करता है। मान लीजिए कि आपके पास एक एप्लिकेशन है जो .Net फ्रेमवर्क पर बना है। .Net फ्रेमवर्क का पुराना संस्करणमान लीजिए, 2.0। उसी एप्लिकेशन को उच्च संस्करण, जैसे 3.5, वाली मशीन पर चलाने पर भी वह काम करेगा। ऐसा इसलिए है क्योंकि प्रत्येक रिलीज़ के साथ, Microsoft यह सुनिश्चित करता है कि पुराने फ्रेमवर्क संस्करण नवीनतम संस्करण के साथ अच्छी तरह से मेल खाते हैं।

2) पोर्टेबिलिटी — .Net फ्रेमवर्क पर बने एप्लिकेशन किसी भी सिस्टम पर काम कर सकते हैं। Windows मंच। और अब हाल के दिनों में, Microsoft बनाने की परिकल्पना भी कर रहा है Microsoft उत्पाद अन्य प्लेटफ़ॉर्म पर काम करते हैं, जैसे कि iOS और Linux.

3) सुरक्षा — .NET फ्रेमवर्क में एक अच्छा सुरक्षा तंत्र है। अंतर्निहित सुरक्षा तंत्र अनुप्रयोगों के सत्यापन और प्रमाणीकरण दोनों में सहायक होता है। प्रत्येक अनुप्रयोग अपना सुरक्षा तंत्र स्पष्ट रूप से परिभाषित कर सकता है। प्रत्येक सुरक्षा तंत्र का उपयोग उपयोगकर्ता को कोड या चल रहे प्रोग्राम तक पहुंच प्रदान करने के लिए किया जाता है।

4) मेमोरी प्रबंधन — कॉमन लैंग्वेज रनटाइम (सीएलआर) यह सारा काम करता है स्मृति प्रबंधन.NET फ्रेमवर्क में यह क्षमता होती है कि वह चल रहे प्रोग्राम द्वारा उपयोग में न आने वाले संसाधनों को पहचान सके। इसके बाद, यह उन संसाधनों को आवश्यकतानुसार मुक्त कर देता है। यह कार्य "गार्बेज कलेक्टर" नामक प्रोग्राम द्वारा किया जाता है, जो .NET फ्रेमवर्क का एक हिस्सा है। गार्बेज कलेक्टर नियमित अंतराल पर चलता है और यह जाँचता रहता है कि कौन से सिस्टम संसाधन उपयोग में नहीं हैं, और उन्हें तदनुसार मुक्त कर देता है।

5) सरलीकृत परिनियोजन — .नेट फ्रेमवर्क में इस पर निर्मित अनुप्रयोगों को पैकेज करने के लिए उपकरण भी मौजूद हैं। इन पैकेजों को फिर क्लाइंट मशीनों पर वितरित किया जा सकता है, जहां वे स्वचालित रूप से एप्लिकेशन को इंस्टॉल कर लेते हैं।

अक्सर पूछे जाने वाले प्रश्न

.NET फ्रेमवर्क केवल निम्नलिखित पर चलता है Windows और अब यह संस्करण 4.8.1 पर रखरखाव मोड में है। आधुनिक .NET, जिसे पहले .NET Core कहा जाता था, क्रॉस-प्लेटफ़ॉर्म, ओपन सोर्स और सक्रिय रूप से विकसित किया जा रहा है, जो इसे नए प्रोजेक्ट्स के लिए अनुशंसित विकल्प बनाता है।

कॉमन लैंग्वेज रनटाइम (CLR) वह इंजन है जो प्रबंधित कोड को निष्पादित करता है और मेमोरी व अपवादों को संभालता है। कॉमन लैंग्वेज स्पेसिफिकेशन (CLS) नियमों का एक समूह है जिसका पालन प्रत्येक .NET भाषा करती है ताकि विभिन्न भाषाओं में लिखे गए घटक सुरक्षित रूप से परस्पर क्रिया कर सकें।

.NET फ्रेमवर्क कई भाषाओं को सपोर्ट करता है जो एक सामान्य मध्यवर्ती भाषा में कंपाइल होती हैं। इनमें से सबसे व्यापक रूप से उपयोग की जाने वाली भाषाएँ निम्नलिखित हैं: C# और VB.NET, साथ ही फंक्शनल प्रोग्रामिंग के लिए F#। इन सभी में एक ही रनटाइम, क्लास लाइब्रेरी और टूलिंग का उपयोग होता है।

नहीं। .NET फ्रेमवर्क है Windowsकेवल। लिनक्स को लक्षित करने के लिए या macOS आप आधुनिक .NET का उपयोग करते हैं, जिसे पहले .NET Core कहा जाता था, जो क्रॉस-प्लेटफ़ॉर्म है। पुराना मोनो प्रोजेक्ट भी अन्य ऑपरेटिंग सिस्टम पर कुछ .NET फ्रेमवर्क कोड चलाता था।

जी हां। .NET फ्रेमवर्क डाउनलोड और उपयोग करने के लिए निःशुल्क है, और यह पहले से ही मौजूद है। Windowsविजुअल स्टूडियो कम्युनिटी जैसे विकास उपकरण और Visual Studio Code ये व्यक्तिगत उपयोगकर्ताओं, छोटी टीमों और ओपन-सोर्स परियोजनाओं के लिए भी निःशुल्क हैं।

हाँ। संस्करण 4.8.1 को अभी भी समर्थन प्राप्त है। Windows घटक को सुरक्षा और विश्वसनीयता संबंधी सुधार प्राप्त होते हैं। हालाँकि, Microsoft यह फ्रेमवर्क आधुनिक .NET पर नए फीचर्स पर ध्यान केंद्रित करता है, इसलिए अधिकांश नए विकास अब फ्रेमवर्क के बजाय उस प्लेटफॉर्म को लक्षित करते हैं।

जी हां। ML.NET आपको C# में सीधे मशीन लर्निंग मॉडल को प्रशिक्षित और चलाने की सुविधा देता है, और ONNX रनटाइम पहले से प्रशिक्षित डीप लर्निंग मॉडल को निष्पादित करता है। आप क्लाउड AI सेवाओं का भी उपयोग कर सकते हैं, जिससे .NET एप्लिकेशन इकोसिस्टम से बाहर निकले बिना ही बुद्धिमान सुविधाएं जोड़ सकते हैं।

हाँ। GitHub Copilot Visual Studio के अंदर C# और VB.NET कोड का सुझाव देता है। VS Codeटिप्पणियों से क्लास, मेथड और बॉयलरप्लेट कोड तैयार करें। इसके आउटपुट को पहले ड्राफ्ट के रूप में मानें और इसकी समीक्षा करें, क्योंकि जेनरेट किए गए कोड में कुछ अपवाद या प्रोजेक्ट की परंपराएं छूट सकती हैं।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: