Microsoft के पास अब .NET .NET, .NET फ्रेमवर्क और Xamarin (मोनो) अपने .NET परिवार में हैं।
लगता है यहाँ बहुत ओवरलैप है। .NET के इन प्रकारों में क्या अंतर है? .NET फ्रेमवर्क या Xamarin के बजाय मुझे अपनी परियोजना में .NET कोर का उपयोग कब करना चाहिए?
Microsoft के पास अब .NET .NET, .NET फ्रेमवर्क और Xamarin (मोनो) अपने .NET परिवार में हैं।
लगता है यहाँ बहुत ओवरलैप है। .NET के इन प्रकारों में क्या अंतर है? .NET फ्रेमवर्क या Xamarin के बजाय मुझे अपनी परियोजना में .NET कोर का उपयोग कब करना चाहिए?
जवाबों:
आपको .NET फ्रेमवर्क या Xamarin के बजाय .NET कोर का उपयोग करना चाहिए, निम्नलिखित 6 विशिष्ट परिदृश्यों में यहां प्रलेखन के अनुसार ।
1. क्रॉस-प्लेटफॉर्म की जरूरत
स्पष्ट रूप से, यदि आपका लक्ष्य एक एप्लिकेशन (वेब / सेवा) है जो प्लेटफार्मों (विंडोज, लिनक्स और मैकओएस) पर चलने में सक्षम होना चाहिए, तो .NET पारिस्थितिकी तंत्र में सबसे अच्छा विकल्प .NET कोर का उपयोग अपने रनटाइम (CoreCLR) के रूप में करना है। ) और पुस्तकालय क्रॉस-प्लेटफॉर्म हैं। अन्य विकल्प मोनो प्रोजेक्ट का उपयोग करना है।
दोनों विकल्प खुले स्रोत हैं, लेकिन .NET कोर सीधे और आधिकारिक तौर पर Microsoft द्वारा समर्थित है और आगे बढ़ने में भारी निवेश होगा।
प्लेटफ़ॉर्म पर .NET कोर का उपयोग करते समय, सबसे अच्छा विकास अनुभव विजुअल स्टूडियो आईडीई के साथ विंडोज पर मौजूद है, जो परियोजना प्रबंधन, डिबगिंग, स्रोत नियंत्रण, रीफैक्टरिंग, इंटेलीजेंस सहित समृद्ध संपादन, परीक्षण और बहुत अधिक सहित कई उत्पादकता सुविधाओं का समर्थन करता है। लेकिन मैक, लिनक्स और विंडोज पर विजुअल स्टूडियो कोड का उपयोग करके समृद्ध विकास का समर्थन किया जाता है, जिसमें इंटैलिजेंस और डीबगिंग भी शामिल है। यहां तक कि थर्ड पार्टी एडिटर्स जैसे सबलाइम, एमएसीएस, VI और अधिक अच्छी तरह से काम करते हैं और ओपन सोर्स ओम्निशर प्रोजेक्ट का उपयोग करके संपादक इंटेलीसेंस प्राप्त कर सकते हैं।
2. माइक्रोसर्विसेस
जब आप कई स्वतंत्र, गतिशील रूप से स्केलेबल, स्टेटफुल या स्टेटलेस माइक्रोसर्विस से बना एक माइक्रोसर्विस ओरिएंटेड सिस्टम का निर्माण कर रहे हैं, तो आपके पास यहां जो महान लाभ है, वह यह है कि आप एक माइक्रोसैस सर्विस स्तर पर विभिन्न तकनीकों / फ्रेमवर्क / भाषाओं का उपयोग कर सकते हैं। यह आपको अपने सिस्टम में प्रति माइक्रो क्षेत्रों में सर्वोत्तम दृष्टिकोण और प्रौद्योगिकी का उपयोग करने की अनुमति देता है, इसलिए यदि आप बहुत अच्छा प्रदर्शन करने योग्य और स्केलेबल माइक्रोसर्विस का निर्माण करना चाहते हैं, तो आपको .NET कोर का उपयोग करना चाहिए। आखिरकार, यदि आपको किसी .NET फ्रेमवर्क लाइब्रेरी का उपयोग करने की आवश्यकता है जो .NET कोर के साथ संगत नहीं है, तो कोई समस्या नहीं है, आप .NET फ्रेमवर्क के साथ उस माइक्रोसॉर्क्स का निर्माण कर सकते हैं और भविष्य में आप इसे .NET के साथ स्थानापन्न करने में सक्षम हो सकते हैं। कोर।
आपके द्वारा उपयोग किया जा सकने वाला बुनियादी ढांचा मंच कई हैं। आदर्श रूप से, बड़े और जटिल microservice सिस्टम के लिए, आपको Azure Service Fabric का उपयोग करना चाहिए। लेकिन स्टेटलेस माइक्रोसर्विसेज के लिए आप एज़्योर ऐप सर्विस या एज़्योर फ़ंक्शंस जैसे अन्य उत्पादों का भी उपयोग कर सकते हैं।
ध्यान दें कि जून 2016 तक, Azure के भीतर प्रत्येक तकनीक .NET कोर का समर्थन नहीं करती है, लेकिन Azure में .NET कोर समर्थन अब नाटकीय रूप से बढ़ जाएगा। .NET कोर RTM जारी किया गया है।
3. सबसे अच्छा प्रदर्शन और स्केलेबल सिस्टम
जब आपके सिस्टम को सर्वश्रेष्ठ संभव प्रदर्शन और मापनीयता की आवश्यकता होती है, तो आपको सबसे अच्छी जवाबदेही मिलती है, चाहे आपके पास कितने भी उपयोगकर्ता हों, तब .NET कोर और ASP.NET कोर वास्तव में चमकते हैं। जितना अधिक आप उतने ही अधोसंरचना / हार्डवेयर के साथ कर सकते हैं, उतना ही समृद्ध अनुभव आप अपने अंतिम उपयोगकर्ताओं के लिए - कम लागत पर।
एकल सीपीयू के लिए मूर के कानून प्रदर्शन में सुधार के दिन अब लागू नहीं होते हैं; अभी तक आपको और अधिक करने की आवश्यकता है जब आपका सिस्टम बढ़ रहा है और रोज़मर्रा के अधिक मांग वाले उपयोगकर्ताओं के लिए उच्च मापनीयता और प्रदर्शन की आवश्यकता है जो संख्याओं में तेजी से बढ़ रहे हैं। आपको अधिक कुशल होने की जरूरत है, हर जगह अनुकूलन करें, और मशीनों, वीएम और सीपीयू कोर के समूहों में बेहतर पैमाने पर, अंततः। यह केवल उपयोगकर्ता की संतुष्टि की बात नहीं है; यह लागत / TCO में बहुत बड़ा अंतर ला सकता है। यही कारण है कि प्रदर्शन और मापनीयता के लिए प्रयास करना महत्वपूर्ण है।
जैसा कि उल्लेख किया गया है, यदि आप अपने सिस्टम के छोटे-छोटे टुकड़ों को माइक्रोसर्विसेस या किसी अन्य शिथिल-युग्मित दृष्टिकोण के रूप में अलग कर सकते हैं, तो यह बेहतर होगा क्योंकि आप स्वतंत्र रूप से प्रत्येक छोटे टुकड़े / माइक्रोसर्विस को विकसित नहीं कर पाएंगे और बेहतर दीर्घकालिक होंगे चपलता और रखरखाव, लेकिन अगर आप क्या करना चाहते हैं, तो आप माइक्रो कोर के स्तर पर किसी अन्य तकनीक का उपयोग कर पाएंगे। और अंत में आप इसे रीफैक्टर कर सकते हैं और जब संभव हो इसे .NET कोर में ला सकते हैं।
4. मैक, लिनक्स या विंडोज के लिए कमांड लाइन स्टाइल डेवलपमेंट।
.NET कोर का उपयोग करते समय यह दृष्टिकोण वैकल्पिक है। आप निश्चित रूप से पूर्ण विज़ुअल स्टूडियो आईडीई का भी उपयोग कर सकते हैं। लेकिन अगर आप एक डेवलपर हैं जो हल्के संपादकों और कमांड लाइन के भारी उपयोग के साथ विकसित करना चाहते हैं, तो .NET कोर CLI के लिए डिज़ाइन किया गया है। यह सभी समर्थित प्लेटफार्मों पर उपलब्ध सरल कमांड लाइन उपकरण प्रदान करता है, जिससे डेवलपर्स को डेवलपर, लैब या उत्पादन मशीनों पर न्यूनतम इंस्टॉलेशन के साथ एप्लिकेशन बनाने और परीक्षण करने में सक्षम बनाता है। विजुअल स्टूडियो कोड जैसे संपादक अपने विकास के अनुभवों के लिए समान कमांड लाइन टूल का उपयोग करते हैं। और IDE के विजुअल स्टूडियो समान CLI टूल का उपयोग करते हैं लेकिन उन्हें एक समृद्ध IDE अनुभव के पीछे छिपाते हैं। डेवलपर्स अब उस स्तर को चुन सकते हैं जिसे वे सीएलआई से संपादक के लिए टूल चेन के साथ बातचीत करना चाहते हैं।
5. प्रति आवेदन स्तर प्रति .NET संस्करण के किनारे की आवश्यकता है।
।
6. विंडोज 10 UWP .NET ऐप्स।
इसके अलावा, आप यह भी पढ़ना चाह सकते हैं:
Microsoft इसे कैसे समझाता है:
.NET फ्रेमवर्क .NET का "पूर्ण" या "पारंपरिक" स्वाद है जो विंडोज के साथ वितरित किया गया है। जब आप डेस्कटॉप विंडोज या UWP ऐप बना रहे हों, या पुराने ASP.NET 4.6+ के साथ काम कर रहे हों तो इसका उपयोग करें।
.NET कोर क्रॉस-प्लेटफ़ॉर्म .NET है जो विंडोज, मैक और लिनक्स पर चलता है। इसका उपयोग तब करें जब आप कंसोल या वेब एप्लिकेशन बनाना चाहते हैं जो किसी भी प्लेटफ़ॉर्म पर चला सकते हैं, जिसमें डॉकर कंटेनर शामिल हैं। इसमें वर्तमान में UWP / डेस्कटॉप ऐप्स शामिल नहीं हैं।
Xamarin का उपयोग उन मोबाइल एप्लिकेशन के निर्माण के लिए किया जाता है जो iOS, Android, या विंडोज फोन उपकरणों पर चल सकते हैं।
Xamarin आमतौर पर मोनो के शीर्ष पर चलता है , जो .NET का एक संस्करण है जो Microsoft द्वारा आधिकारिक तौर पर .NET कोर के साथ क्रॉस-प्लेटफ़ॉर्म पर जाने का निर्णय लेने से पहले क्रॉस-प्लेटफ़ॉर्म समर्थन के लिए बनाया गया था। Xamarin की तरह, एकता मंच भी मोनो के शीर्ष पर चलता है।
भ्रम का एक सामान्य बिंदु वह है जहाँ ASP.NET Core फिट बैठता है। ASP.NET Core या तो .NET फ्रेमवर्क (विंडोज) या .NET कोर (क्रॉस-प्लेटफ़ॉर्म) के शीर्ष पर चल सकता है, जैसा कि इस उत्तर में विस्तृत है: ASP के बीच अंतर। नेट कोर (.NET कोर) और ASP.NET कोर (.NET फ्रेमवर्क)
आप इस पंक्ति को संदर्भित कर सकते हैं - ASP.NET Core (.NET Core) और ASP.NET Core (.NET फ्रेमवर्क) के बीच अंतर
ज़मारिन कोई बहस नहीं है। जब आप C # का उपयोग करके मोबाइल (iOS, Android, और Windows Mobile) ऐप्स बनाना चाहते हैं, तो Xamarin आपकी एकमात्र पसंद है।
.NET फ्रेमवर्क विंडोज और वेब एप्लिकेशन को सपोर्ट करता है। आज, आप .NET फ्रेमवर्क में विंडोज एप्लिकेशन बनाने के लिए विंडोज फॉर्म, डब्ल्यूपीएफ और यूडब्ल्यूपी का उपयोग कर सकते हैं। ASP.NET MVC का उपयोग .NET फ्रेमवर्क में वेब एप्लिकेशन बनाने के लिए किया जाता है।
.NET कोर विंडोज, मैक और लिनक्स सहित सभी ऑपरेटिंग सिस्टम के लिए एप्लिकेशन बनाने के लिए नया ओपन-सोर्स और क्रॉस-प्लेटफॉर्म फ्रेमवर्क है। .NET कोर केवल UWP और ASP.NET कोर का समर्थन करता है। UWP का उपयोग विंडोज 10 लक्ष्य विंडोज और मोबाइल अनुप्रयोगों के निर्माण के लिए किया जाता है। ASP.NET Core का उपयोग ब्राउज़र आधारित वेब अनुप्रयोगों के निर्माण के लिए किया जाता है।
आप अधिक जानकारी चाहते हैं, इस लिंक को
देखें
https://blogs.msdn.microsoft.com/dotnet/2016/07/15/net-core-roadmap/ https://docs.microsoft.com/en-us/dotnet/articles / मानक / चुनने कोर-ढांचा-सर्वर
.Net कोर क्लास लाइब्रेरी .Net स्टैंडर्ड पर बनाई गई है । नेट स्टैंडर्ड आप केवल वर्ग पुस्तकालय परियोजना है कि स्टैंडअलोन निष्पादित नहीं किया जा सकता है और एक अन्य द्वारा संदर्भित किया जाना चाहिए कर सकते हैं नेट कोर या .NET फ्रेमवर्क आप एक पुस्तकालय है कि करने के लिए पोर्टेबल है लागू करना चाहते हैं निष्पादन project.If नेट फ्रेमवर्क , नेट कोर और ज़ामरीन , .Net स्टैंडर्ड लाइब्रेरी चुनें
(आप .NET फ्रेमवर्क के साथ निष्पादन योग्य परियोजना (जैसे कंसोल एप्लिकेशन या ASP.NET एप्लिकेशन) बना सकते हैं
यह विंडोज, मैक और लिनक्स सहित सभी ऑपरेटिंग सिस्टम के लिए एप्लिकेशन बनाने के लिए नया ओपन-सोर्स और क्रॉस-प्लेटफॉर्म फ्रेमवर्क है।
.NET मानक [नीले] और पूर्ण समर्थन के लिए न्यूनतम व्यवहार्य प्लेटफॉर्म का कार्यान्वयन समर्थन (नवीनतम: [ https://docs.microsoft.com/en-us/dotnet/standard/net-standard#net-implementation-) समर्थन] )
.NET 5 नवंबर 2020 में आने वाले सभी .NET वेरिएंट का एकीकृत संस्करण होगा, इसलिए अब वेरिएंट के बीच चयन करने की कोई आवश्यकता नहीं होगी।
.NET कोर .NET का वर्तमान संस्करण है जिसका आपको अभी उपयोग करना चाहिए (अधिक सुविधाएँ, फिक्स्ड बग, आदि)
Xamarin एक प्लेटफ़ॉर्म है जो C # में कोड किए गए क्रॉस प्लेटफ़ॉर्म मोबाइल समस्याओं का समाधान प्रदान करता है, ताकि आपको IOS के लिए अलग से स्विफ्ट का उपयोग करने की आवश्यकता न हो और वही Android के लिए चला जाए।
Xamarin का उपयोग फोन एप्लिकेशन (IOS / Android दोनों) के लिए किया जाता है। .NET Core का उपयोग उन वेब एप्लिकेशन को डिजाइन करने के लिए किया जाता है जो Apache और IIS दोनों पर काम कर सकते हैं।
दो वाक्यों में यही अंतर है।
मई 2019 को अपडेट किया गया
आपको .Net Core 3.0 का उपयोग करना चाहिए और बाद में इसके अगले संस्करण .Net 5 में अपग्रेड करने के लिए, आपको बस एक एकीकृत प्लेटफॉर्म .Net 5 की आवश्यकता है।
वहाँ सिर्फ एक .NET होगा जो आगे बढ़ेगा, और आप इसे> Windows, Linux, macOS, iOS, Android, TVOS, watchOS और WebAssembly और अधिक को लक्षित करने के लिए उपयोग कर पाएंगे। https://devblogs.microsoft.com/dotnet/introducing-net-5/