2008-08-14 21 views
5

.NET में डेस्कटॉप अनुप्रयोग विकसित करते समय, .NET Framework की आवश्यकता नहीं है? डेस्कटॉप अनुप्रयोगों को विकसित करने के लिए .NET में सॉफ़्टवेयर विकसित करना एक पसंदीदा तरीका है? सबसे अधिक उपयोग की जाने वाली प्रोग्रामिंग भाषा क्या है जो सॉफ्टवेयर कंपनियां डेस्कटॉप एप्लिकेशन विकसित करने के लिए उपयोग करती हैं?.NET Framework निर्भरता

क्या .NET Framework की आवश्यकता सिर्फ आपके द्वारा स्थापित विंडोज ओएस पर आधारित है, इसलिए वे विंडोज ओएस संस्करण आवश्यकताओं को क्यों सूचीबद्ध करते हैं?

उत्तर

9

आप अभी भी सीई/सी ++ का उपयोग कर विंडोज डेस्कटॉप के लिए अनुप्रयोग विकसित कर सकते हैं, .NET फ्रेमवर्क की आवश्यकता को खत्म कर सकते हैं, लेकिन आपको यह सुनिश्चित करना होगा कि आवश्यक पुस्तकालय पहले से ही सिस्टम पर हैं या इंस्टॉल हैं।

.NET ढांचे के बारे में अच्छी बात यह है कि Windows XP SP2 और Vista में डिफ़ॉल्ट रूप से 3.0 फ्रेमवर्क रनटाइम स्थापित है।

कई मायनों में, यह माइक्रोसॉफ्ट का "विकास मानक" है और यह थोड़ी देर के लिए ऐसा रहा है। यह आपको अपने आवेदन पर लगे पुस्तकालयों का एक समूह होने के बारे में चिंता करने की अनुमति नहीं देता है। यदि आप सभी .NET प्रदान की गई लाइब्रेरीज़ पर चिपके हुए हैं, तो आप केवल अपने निष्पादन योग्य को तैनात करने के बारे में चिंता करने की ज़रूरत है, जो एक बड़ा सिरदर्द रिलीवर है। जब आपके पास पुस्तकालयों का एक गुच्छा होता है तो आपको भी तैनाती करनी पड़ती है, फिर आप अपडेट लिखते समय परेशानियों में भागना शुरू करते हैं, क्योंकि आपको यह सुनिश्चित करना होगा कि उन अपडेट को आपके मौजूदा इंस्टॉलर में और सभी मौजूदा इंस्टॉल किए गए ऐप्स में बाहर निकाला जाए ।

"पसंदीदा" के लिए, जो हमेशा कभी-कभी पंखों को घुमाता है, लेकिन अधिक से अधिक .NET डेवलपर्स वेब और डेस्कटॉप के लिए चाहते थे जो नौकरी की तलाश में जाते हैं। 8^डी

संपादित करें: फ्रेमवर्क पर भ्रम को इंगित करने के लिए ओरियन को बहुत धन्यवाद। यदि आप एक्सपी एसपी 2 या विस्टा पर हैं तो आपको गेट से 3.0 मिल जाएगा। बाकी सब कुछ एक साधारण डाउनलोड या विंडोज अपडेट के चलाने की आवश्यकता होगी।

2

आप नेट फ्रेमवर्क के बिना .NET ऐप नहीं चला सकते हैं। ढांचा कुछ अधिक कठिन पृष्ठभूमि कार्यों का ख्याल रखता है ताकि आप ढांचे के बिना ऐप नहीं चला सके।

-1

संभव है कि .NET Framework की आवश्यकता न हो; ऐसी कुछ कंपनियां हैं जो बेचती हैं (हजारों डॉलर, आपको दिमागी) समाधान जो आपको ऐसा करने की अनुमति देगी। ये पूर्ण हैक हैं, हालांकि, और माइक्रोसॉफ्ट द्वारा समर्थित नहीं हैं।

आप डेस्कटॉप एप्लिकेशन कैसे विकसित करते हैं (यानी, .NET का उपयोग या नहीं) आपकी आवश्यकता पर निर्भर करता है। एक पसंदीदा तरीका नहीं है।

सबसे अधिक इस्तेमाल की जाने वाली भाषा शायद सी # है।

+0

मुझे आश्चर्य है कि यह क्यों मतदान किया गया, जबकि यह सही जवाब है। – chrissie1

2

डेस्कटॉप अनुप्रयोगों को विकसित करने का पसंदीदा तरीका .NET का उपयोग कर विंडोज प्लेटफ़ॉर्म पर है। .NET का WinForms मॉडल पारंपरिक या मोटी क्लाइंट ऐप्स विकसित करने का एक तरीका है, विंडोज प्रेजेंटेशन फाउंडेशन के .NET के साथ एमएस से नवीनतम तकनीक दिशा है।

1

मुझे लगता है कि मैं क्या कहने की कोशिश कर रहा हूं कि जब मैं देखता हूं कुछ सॉफ़्टवेयर के लिए सिस्टम आवश्यकताएं पर मैं शायद ही कभी .NET Framework को आवश्यकता के रूप में देखता हूं। इसलिए, मुझे हमेशा आश्चर्य होता है कि बिना किसी आवश्यकता के उन्हें कैसे प्राप्त किया जाता है (यदि उन्होंने .NET में सॉफ़्टवेयर विकसित किया है)। तो, मुझे लगता है कि ताकि कारण है कि मैं इस सवाल पूछ रहा हूँ है सबसे वाणिज्यिक सॉफ्टवेयर नेट में लिखा है नहीं। आशा है कि कुछ चीजों को मंजूरी दे दी।

1

Mono एक Windows रिहाई है, अगर आप पूरी तरह से नेट पर निर्भरता से बचने के लिए किया है।

किसी भी तरह से आप इसे देखते हैं, हालांकि, आपको एक की आवश्यकता होगी।आपके कंप्यूटर पर चल रहे किसी भी कंप्यूटर पर नेट संगत रनटाइम। इसलिए यदि आप पूरी तरह से .NET से बचना चाहते हैं, तो आपको शायद अपने आवेदन के साथ मोनो रनटाइम वितरित करना होगा।

1

.NET अनुप्रयोग वितरण के लिए सबसे अच्छा अभ्यास यह है कि इंस्टॉलर किसी भी तरह से आवश्यक फ्रेमवर्क के लिए .NET पुनर्वितरण योग्य इंस्टॉलर के साथ बूटस्ट्रैप किया गया है, ताकि यदि आवश्यक ढांचा अभी तक स्थापित नहीं है (कहें, आपको Windows XP में 3.5 की आवश्यकता है) तो इंस्टॉलर इसे अंदर रखेगा।

.NET रनटाइम इतना छोटा है कि यह व्यवहार्य है (यह .NET 2.0 के लिए लगभग 24 एमबी है, ने जांच नहीं की है कि .NET 3.5 कितना बड़ा है)।

1

मुझे लगता है कि मैं क्या कहने की कोशिश कर रहा है कि जब मैं कुछ सॉफ्टवेयर के लिए सिस्टम आवश्यकताओं को देखो मैं शायद ही कभी कभी .नेट फ्रेमवर्क एक आवश्यकता होने के रूप में देखते हैं। तो, मुझे हमेशा आश्चर्य होता है कि बिना किसी आवश्यकता के तक उन्हें कैसे मिलता है (यदि उन्होंने .NET में सॉफ़्टवेयर विकसित किया है)। तो, मुझे लगता है कि अधिकांश वाणिज्यिक सॉफ़्टवेयर .NET में में लिखा नहीं गया है इसलिए मैं इस प्रश्न से पूछ रहा हूं। आशा है कि कुछ चीजों को मंजूरी दे दी है।

मैं किसी भी नंबर नहीं है, लेकिन मुझे लगता है कि करने के लिए जा रहा हूँ कि लोगों को XP और Vista वहाँ चल बाहर कर रहे हैं अपने डेस्कटॉप पर, लिस्टिंग .NET फ़्रेमवर्क विवादास्पद है, खासकर अगर वे कर रहे हैं के बहुमत के बाद से एप्लिकेशन में 2.0 ढांचे को लक्षित करना। दिन में, आपने कितने एप्लिकेशन देखे थे, "vbrun50.dll की आवश्यकता है" या उस संबंध में कुछ ऐसा है क्योंकि इसे डिफ़ॉल्ट रूप से विंडोज़ इंस्टॉल में रखा गया था?

प्लस यह उन लोगों के लिए थोड़ा कम "डरावना" है जो बहुत कंप्यूटर सेव नहीं हैं। वे बस ऐप डाउनलोड, इंस्टॉल और रन करना चाहते हैं। मेरे पास मौजूद कुछ ऐप्स में 2.0 ढांचे की आवश्यकता है और मुझे कुछ लोग यह पूछते हैं कि वह क्या है और मैं इसे कैसे प्राप्त करूं और क्या मुझे कुछ भी लागत है? मैं उन्हें जो सामान्य जवाब देता हूं वह है "यदि आप एक्सपी या विस्टा चला रहे हैं, तो चिंता करने की कोई बात नहीं है" और उन्हें ऐसा लगता है।

0

मैंने .NET में कुछ प्रोग्रामिंग किया (सी # का उपयोग करके) और मुझे एहसास हुआ कि अक्सर कई बार मैं कई नियंत्रणों पर अधिक नियंत्रण चाहता था। इन आवश्यक ज्ञान जो .NET ढांचे से आगे बढ़ाए गए हैं।

उदाहरण के लिए जब मैं वेब अनुप्रयोगों के लिए एक स्वचालित परीक्षण उपकरण का उत्पादन करने के लिए वेबब्रोसर नियंत्रण के साथ काम कर रहा था, तो मुझे एहसास हुआ कि कुछ स्थितियां हैं जिन्हें निम्न स्तर के axWebBrowser ActiveX नियंत्रण से ईवेंट हैंडलर की आवश्यकता होती है और दस्तावेज़ दुर्लभ/कोड नमूने थे बहुत सी COM इंटरऑप अवधारणाओं को शामिल किया गया। तो शायद COM पर कुछ ज्ञान उपयोगी हो सकता है?

0

मुझे लगता है कि मैं क्या कहने की कोशिश कर रहा है कि जब मैं कुछ सॉफ्टवेयर के लिए सिस्टम आवश्यकताओं को देखो मैं शायद ही कभी कभी .नेट फ्रेमवर्क एक आवश्यकता होने के रूप में देखते हैं। तो, मुझे हमेशा आश्चर्य होता है कि बिना किसी आवश्यकता के तक उन्हें कैसे मिलता है (यदि उन्होंने .NET में सॉफ़्टवेयर विकसित किया है)। तो, मुझे लगता है कि अधिकांश वाणिज्यिक सॉफ़्टवेयर .NET में में लिखा नहीं गया है इसलिए मैं इस प्रश्न से पूछ रहा हूं। आशा है कि कुछ चीजों को मंजूरी दे दी है।

विंडोज डेस्कटॉप के लिए सी ++/एमएफसी के साथ विकसित कई अनुप्रयोगों को एमएफसी रनटाइम डीएलएल के एक विशिष्ट संस्करण की आवश्यकता होती है, भले ही इसे स्पष्ट रूप से आवश्यकता के रूप में सूचीबद्ध नहीं किया जा सके। मेरा मानना ​​है कि यह .NET की आवश्यकता वाले अनुप्रयोगों के साथ भी सच हो रहा है।

उदाहरण के लिए, मैं .NET और एमएफसी के विशेष संस्करण दोनों के लिए पुनर्वितरण योग्य फ़ाइलों वाले जहाजों पर काम करता हूं, जिसके लिए हमें अन्य आवश्यक घटकों की आवश्यकता होती है। हमारा इंस्टॉल प्रोग्राम किसी भी घटक को स्थापित करेगा जो वर्तमान में उपयोगकर्ता सिस्टम पर स्थापित नहीं है। पिछले कई वर्षों में हर रिलीज ने पिछले रिलीज की तुलना में अधिक .NET कोड का उपयोग किया है।

मुझे नहीं लगता कि यह मानना ​​सही है कि अधिकतर वाणिज्यिक सॉफ्टवेयर .NET का उपयोग नहीं करते हैं क्योंकि इसकी आवश्यकता के रूप में सूचीबद्ध नहीं है। मुझे नहीं लगता कि आप इससे कुछ भी सही तरीके से ग्रहण कर सकते हैं।

1

मुझे लगता है कि यदि आप .NET ढांचे को स्थिर रूप से लिंक करने की तरह कुछ करने में सक्षम थे, तो आपको इसे विकसित करने की आवश्यकता नहीं थी, तो आप ईयूएलए का उल्लंघन करेंगे जो माइक्रोसॉफ्ट की आपूर्ति करता है!

यह एक समृद्ध डेवलपर अनुभव रखने के लिए हमें भुगतान करना है! जब आप एमएफसी प्रोग्रामिंग पर वापस जाने की कठिनाई पर विचार करते हैं तो यह इसके लायक है!

0

नेट ढांचे के बारे में अच्छी बात यह है कि Windows XP 2.0 ढांचे क्रम डिफ़ॉल्ट

द्वारा स्थापित कब से पुस्तकालय है है? मुझे इसे इंस्टॉल करने के लिए हमारे बहुत से विंडोज एक्सपी उपयोगकर्ताओं को बताना पड़ा है। हां, आप इसे विंडोज अपडेट के माध्यम से खींच सकते हैं, लेकिन मुझे पूरा भरोसा है कि यह एक वैकल्पिक इंस्टॉल है और ऐसा कुछ नहीं जो स्वचालित रूप से होता है।

और Vista 3.5 स्थापित

नहीं, यह 3.0 स्थापित किया है है। आप WPF मिलता है, लेकिन यदि आप करते नहीं प्राप्त LINQ

1

Remotesoft एक लिंकर प्रदान करता है - $ 1250 एक एकल डेवलपर लाइसेंस के लिए: http://www.remotesoft.com/linker/index.html

यदि आपका आवेदन मोनो (और मोनो Winform डेस्कटॉप समर्थन पर चलेगा बहुत अच्छी है अब), आप अपने ऐप को मोनो बंडल के रूप में पैकेज कर सकते हैं, जो एक निष्पादन योग्य है। दो विकल्प हैं - डिफ़ॉल्ट में रनटाइम शामिल है लेकिन इसके लिए स्थिर लिंक नहीं है, अन्य स्थिर रूप से आपको मोनो रनटाइम से लिंक करता है। कारण आप स्थिर लिंक नहीं चाहते हैं कि यह आपके आवेदन को एलजीपीएल के तहत रखेगा; बंडल जो स्थिर जुड़े नहीं हैं (अभी भी केवल एक exe) उस आवश्यकता नहीं है। http://www.mono-project.com/Mono:Runtime#Bundles

1

आप "ClickOnce Deployment" का उपयोग कर, यह बहुत आसान नेट 2.0, 3.0 bootstrapping जोड़ने के लिए बनाता है जो सोच सकते हैं, और/या 3.5 अपने आवेदन में पुनर्वितरण संस्थापक। बस अपनी प्रोजेक्ट की गुणों में एक चेकबॉक्स पर क्लिक करें और आपका इंस्टॉलर स्वचालित रूप से पता लगाएगा कि पूर्व-आवश्यक ढांचा स्थापित किया गया है और यदि नहीं, तो इसे इंस्टॉल करेगा।

यह हर स्थिति के लिए उपयुक्त नहीं है लेकिन यदि आप इसका लाभ उठा सकते हैं तो यह बहुत चिकना हो सकता है।

0

हां, आप ढांचे का उपयोग किए बिना डॉट नेट में निर्मित एक एप्लीकेशन बना सकते हैं। आप किसी भी डीएलएल को शामिल करने के लिए ईएसएस डॉटनेट फ़ूज़ जैसे प्रोग्राम का उपयोग कर सकते हैं, जिसमें फ्रेमवर्क डीएलएल को एप्लिकेशन में शामिल किया गया है। परिणामस्वरूप EXE को अब एक ढांचे की आवश्यकता नहीं है।

कृपया यह लिंक प्राप्त करें: http://essaver.net/fuze.html फ़ूज़ पर एक नज़र डालने के लिए।