2009-03-09 8 views
8

मैं एक नया विंडोज ऐप शुरू करने जा रहा हूं। यह सी ++ में लिखा गया एक ऑडियो प्रोसेसिंग टूल होगा। इसे मेनू, टूलबार इत्यादि जैसी सभी सामान्य जीयूआई सामग्री की आवश्यकता होगी। इसमें एक एम्बेडेड वेब ब्राउज़र भी होगा।क्या अभी तक .NET के लिए नए ऐप्स लिखना ठीक है?

मैं इसे .NET पर बनाने की सोच रहा हूं लेकिन मैं आपसे यह सब सुनना चाहता हूं कि .NET अभी भी एक दर्द है। नियमित उपयोगकर्ताओं के प्रतिशत में पहले से ही .NET रनटाइम है? मैं अपने उपयोगकर्ताओं को अपने ऐप को लॉन्च करने के लिए 100 एमबी रनटाइम डाउनलोड करने जैसे किसी भी दर्द का कारण नहीं बनना चाहता हूं।

क्या आप ओवरफ्लॉवर सोचते हैं? क्या मुझे .NET जाना चाहिए या क्या मुझे सादे 'ol Win32 API पर चिपकना चाहिए? या शायद क्यूटी या wxwidgets जैसे तीसरे पक्ष प्रणाली भी?

+0

आपको अपने लक्षित दर्शकों को देखने और यह निर्धारित करने की आवश्यकता है कि यह उनके लिए कोई समस्या है या नहीं। कॉर्पोरेट वातावरण में जो मैं वर्तमान में .NET 3 में काम करता हूं।5 हमारे वर्कस्टेशन पर तैनात नहीं है। मुझे वर्तमान में .NET 3.0 को लक्षित करना है। – bruceatk

+0

3.5 जो कुछ मैं सुनता हूं उससे जल्द ही विंडोज अपडेट पर धक्का दिया जा रहा है। – Echostorm

उत्तर

22

आप अपने उपयोगकर्ताओं को .Net bootstrapper पर इंगित कर सकते हैं, यह एक 100kb डाउनलोड है जो वर्तमान में नेट फ्रेमवर्क के बिट्स का पता लगाएगा और कुछ भी गायब हो जाएगा।

भी http://smallestdotnet.com/ @shanselman

13

मुझे सटीक संख्याएं नहीं हैं, लेकिन Vista में .NET बनाया गया है, और विंडोज के अन्य संस्करण इसे माइक्रोसॉफ्ट अपडेट से काफी आसानी से प्राप्त कर सकते हैं। आप अपने आवेदन के साथ .NET रनटाइम को फिर से वितरित भी कर सकते हैं।

मैं इस बारे में बहुत ज्यादा चिंता नहीं करता कि आपके उपयोगकर्ताओं के पास .NET इंस्टॉल है या नहीं।

+0

नेट के विभिन्न संस्करण अभी भी एक मुद्दा हो सकते हैं। उदाहरण के लिए, .NET 3.5 के साथ कोई ओएस जहाज नहीं। यदि आप इसे लक्षित करना चाहते हैं, तो आपको अपने उपयोगकर्ताओं को इसे इंस्टॉल करने की अपेक्षा करनी होगी। –

+0

"इस बारे में बहुत चिंता नहीं करेगा कि आपके उपयोगकर्ताओं के पास .NET इंस्टॉल है या नहीं" मुझे लगता है कि यह एक मुद्दा होना चाहिए !! –

5

.Net Framework डाउनलोड से एक पहल है/स्थापित नहीं कि महती है। लेकिन मैं आपके मुद्दे को किसी अन्य कोण से देखने का सुझाव दूंगा।

यदि आप जानते थे कि आपके सभी उपयोगकर्ताओं के पास फ्रेमवर्क स्थापित है, तो क्या आप सी ++ का चयन करेंगे या आप नेट का उपयोग करेंगे? आपकी जीयूआई आवश्यकताओं के कारण, मुझे लगता है कि आप सभी niceties के लिए नेट का उपयोग कर रहे हैं जो यह तालिका में लाता है।

आपके द्वारा सूचीबद्ध अन्य विकल्प स्वीकार्य हो सकते हैं, लेकिन उन क्लाइंट-साइड घटकों के लिए अपने समर्थन पर नेट फ्रेमवर्क को हरा करना मुश्किल है।

सभी चीजों को माना जाता है, एक ही डाउनलोड बनाम व्यापार-बंद बनाम बेहतर एप्लिकेशन समर्थन आपको एक अच्छा लगता है।

2

.NET जावा की तरह है - आपको उचित रनटाइम बीमा करने की आवश्यकता है। डी/एल 100 एमबी नहीं है! हा! यह 1 9 6 एमबी है। लेकिन एक "ग्राहक प्रोफ़ाइल" है जो इसे 26 एमबी तक कम कर देती है, इसलिए मैं सुनता हूं।

.NET रनटाइम की परिनियोजन एक नकारात्मक पक्ष है, लेकिन मेरे लिए, डेवलपर की उत्पादकता C#+ से C# में बहुत अधिक सुधार हुई है। परिमाण बेहतर उत्पादकता के क्रम को प्राप्त करने के लिए, खुशी से मेरे उपयोगकर्ताओं को 45 सेकंड का डाउनलोड समय सहन करना होगा। लेकिन यह सिर्फ मुझे है। (पीएस: आवश्यक रनटाइम इंस्टॉलर द्वारा स्वतः डाउनलोड किया जा सकता है)।

+0

आप खुशी से अपने उपयोगकर्ताओं को परेशान करेंगे! बेशक, जो भी अपने उपयोगकर्ताओं के बारे में परवाह करता है? – hasen

+0

बिल्कुल! उनके समय के 45 सेकंड, एक बार, मेरे लिए 4 सप्ताह के सिरदर्द बचाने के लायक हैं। – Cheeso

+1

अपने वर्कटाइम के 4 सप्ताह को अपने वॉलेट –

0

नेट पर सलाह नहीं है, लेकिन अगर आप किसी कारण या किसी अन्य कारण से उपयोग नहीं करते हैं, तो नेट। मैं Win32 API पर QT का उपयोग करने की अत्यधिक अनुशंसा करता हूं। मुझे Win32 एपीआई वास्तव में गन्दा लगता है और QT की तुलना में उपयोग करने में बहुत कठिन है, जो मेरी राय में वास्तव में अच्छा है।

11

माइक्रोसॉफ्ट .NET Framework बहुत को जोरदार धक्का दे रहा है। मेरा मानना ​​है कि आप अपने कंप्यूटर पर .NET Framework स्थापित किए बिना Microsoft Office 2007 को भी इंस्टॉल नहीं कर सकते हैं। इसलिए यदि माइक्रोसॉफ्ट को अपने नवीनतम कार्यालय कार्यक्रमों के लिए .NET की आवश्यकता है, तो आप शायद यह मानने में सुरक्षित हैं कि आपके माइक्रोसॉफ्ट आधारित ग्राहकों के पास पहले से ही .NET नींव पुस्तकालय स्थापित होंगे। पाठ्यक्रमों में, यह इस बात पर निर्भर करेगा कि आप किस प्रकार के एप्लिकेशन का निर्माण कर रहे हैं।मैंने कुछ वीडियो गेम डेवलपर्स के बारे में भी सुना है जो .NET के ओपन सोर्स मोनो संस्करण के साथ अपने गेम बंडल को शिपिंग करते हैं। मान लीजिए या नहीं, वास्तव में माइक्रोसॉफ्ट विंडोज के लिए मोनो का एक बहुत मजबूत और स्थिर निर्माण है।

+0

नहीं - यह मुझ पर एक नया है। .NET इंस्टॉल किए बिना Office 2007 स्थापित नहीं कर सकता? उस बारे में कभी नहीं सुना। कार्यालय के कुछ टुकड़े हैं जो .NET का उपयोग करते हैं ... मेरा मानना ​​है कि Outlook 2007 के लिए बीसीएम एक है। लेकिन एमएसडब्ल्यूओआर और एमएसईएक्ससेल को इसकी आवश्यकता नहीं है। – Cheeso

1

आप किस प्रकार का आवेदन बना रहे हैं? यह वास्तव में महत्वपूर्ण है। आप अपने उपयोगकर्ताओं को तब के बारे में चिंतित हैं, तो:

  • अगर आप अपने उपयोगकर्ताओं को यह नियंत्रण तो कोई समस्या नहीं है - आप अपनी मशीनों को नियंत्रित और यदि आप उन के बारे में बात कर रहे हैं जो .NET पहले से स्थापित है
  • सुनिश्चित कर सकते जो बाहरी (आपके संगठन के लिए) हैं, तो मैं या तो एएसपी.नेट या सिल्वरलाइट एप्लिकेशन

स्वयं के लिए निर्णय लेगा। मैं शायद सिल्वरलाइट के साथ जाऊंगा क्योंकि यह डेस्कटॉप एप्लिकेशन के करीब है (जो मुझे लगता है कि आप इसका जिक्र कर रहे हैं) और फिर भी डाउनलोड बहुत छोटा है (मुझे लगता है कि 2 एमबी की तरह कुछ है)। http://silverlight.net पर एक नज़र डालें।

+0

मुझे दृढ़ता से संदेह है कि ध्वनि संपादन कुछ ऐसा होगा जो आप ऑनलाइन एप्लिकेशन में करना चाहते हैं। –

+0

* संपादन = प्रसंस्करण –

0

नेट आपके जीवन को देशी सी ++ और विंडोज एपीआई या यहां तक ​​कि क्यूटी की तुलना में आसान बना देगा। लेकिन अगर जीयूआई यह क्यूटी उपयोग करने के लिए के रूप में नेट ढांचा आकार अपेक्षाकृत बड़ा है बेहतर है जटिल नहीं है

2

.NET Framework 2.0 Runtime केवल 22MB है, और यह लक्षित करने के लिए एक अच्छा ढांचा है, खासकर यदि आप WPF की जरूरत नहीं है या WCF। Vista उपयोगकर्ताओं के पास कम से कम 3.0 स्थापित होगा, इसलिए उन्हें कुछ भी करने की आवश्यकता नहीं है, और कई अन्य एप्लिकेशन पहले से ही 2.0 को लक्षित करते हैं, इसलिए वे इसे पहले ही इंस्टॉल कर लेंगे।

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

+0

जब आप रनटाइम जोड़ते हैं। किसी भी .NET से 3.5 तक सिस्टम लेना एक महत्वपूर्ण डाउनलोड है और मैंने पहली बार कई सिस्टमों पर इंस्टॉलेशन विफल कर दिया है। – bruceatk

+0

यह मेरा उत्तर किसी भी कम मान्य नहीं बनाता है। आपको आज 3.5 की जरूरत नहीं है जब तक कि आपको कुछ नई तकनीकों की आवश्यकता न हो। और यह इंस्टॉल आपको विफल कर देता है * आपका * सिस्टम अनुपलब्ध पूर्वापेक्षाओं के कारण हो सकता है। –

+0

मैं आपके "निष्पादन योग्य बहुत छोटे हैं ..." पर टिप्पणी कर रहा हूं। मुझे हमेशा जो कुछ भी मैं दे रहा हूं और इसकी निर्भरता के पूर्ण पेलोड पर विचार करना है। – bruceatk

2

हम विभिन्न उद्योगों में ग्राहकों को कई आवेदन तैनात करते हैं, और वर्तमान में .NET Framework 2.0 कोई समस्या नहीं है। (और यह अभी भी 22 एमबी डाउनलोड है।) आप अभी भी विजुअल स्टूडियो 2008 और सी # का उपयोग कर सकते हैं, लेकिन आपको लक्ष्य फ्रेमवर्क के रूप में .NET 2.0 चुनना होगा और आपको जीयूआई के लिए डब्ल्यूपीएफ के बजाय विंडोज फॉर्म का उपयोग करना होगा (जो हो सकता है आपके अनुभवों के आधार पर,

.NET Framework 3.0 और 3.5 (और 3.5 एसपी 1 इत्यादि) कम से कम कॉर्पोरेट नेटवर्क में मुख्यधारा नहीं लगते हैं; यह काफी बड़ा है, स्थापना के दौरान अधिक संभावित नुकसान है, और नहीं विंडोज 2000 और विंडोज 98 का ​​समर्थन करें (जो .NET 2.0 अभी भी करता है)

1

जो मैंने मोनो (एनईईटी का लिबर सॉफ़्टवेयर का कार्यान्वयन) जहाजों को एक लिंकर के साथ पढ़ा है - आप मोनो का उपयोग करके अपने आवेदन को संकलित कर सकते हैं, लिंकिंग इसके लिए सभी आवश्यक घटकों।

अच्छा हिस्सा यह है कि आपको स्टैंड-अलोन पैकेज मिलेगा: अंतिम उपयोगकर्ता को एक विशिष्ट .NET ढांचे को स्थापित करने की आवश्यकता नहीं है यदि वे पहले से नहीं हैं। नकारात्मकता यह है कि आप कितने .NET पुस्तकालयों का उपयोग कर रहे हैं, इस पर निर्भर करते हुए, आपके निष्पादन योग्य विशाल, लाभों को अस्वीकार कर सकते हैं।

0

ClickOnce एपीआई कुछ भी देखने लायक है। आप इसे इंटरनेट पर अपने एप्लिकेशन को वितरित करने के लिए उपयोग कर सकते हैं, और एप्लिकेशन स्वचालित रूप से अपडेट प्राप्त करने के लिए घर पर कॉल कर सकता है (यदि वांछित हो)।

अब मैं अपने काम पर उपयोग करता हूं और यह डेस्कटॉप सॉफ़्टवेयर को हवा को वितरित और अद्यतन करता है।

+0

यह उत्तर रनटाइम के आकार के आधार पर .NET के लिए लिखना अच्छा विचार है या नहीं, इस चिंता का समाधान नहीं करता है। –

संबंधित मुद्दे