क्या इन दिनों .NET फ्रेमवर्क को मानना ​​/ उसकी आवश्यकता है?


24

पृष्ठभूमि:

मेरे पास एक परियोजना है जहां मुझे उपयोगकर्ता को कुछ संवेदनशील डेटा के साथ एक डाउनलोड पैकेज प्रदान करने की आवश्यकता है। डेटा को एन्क्रिप्ट करने की आवश्यकता है। इसे डाउनलोड करने के बाद, उन्हें इसे देखने में सक्षम होना चाहिए (कोई संपादन आवश्यक नहीं)। इस प्रश्न के लिए, आइए डेटा को स्थिर HTML फ़ाइलों की एक श्रृंखला के रूप में अनुमानित करें। क्योंकि डेटा संवेदनशील है, इसे डिस्क पर किसी भी समय एन्क्रिप्ट करने की आवश्यकता है।

हम उपयोगकर्ता को एक डाउनलोड विकल्प प्रदान करने के बारे में सोच रहे हैं जो उन्हें एक ज़िप फ़ाइल देगा जिसमें दो फाइलें होंगी:

  • डेटा फ़ाइल (हम शायद पर्दे के पीछे एक एन्क्रिप्टेड ज़िप फ़ाइल का उपयोग करेंगे) जिस डेटा के लिए उन्होंने पूछा था
  • डेटा को देखने के लिए एक एप्लिकेशन जो एक पासफ़्रेज़ के लिए उचित रूप से संकेत देगा और डेटा को डीक्रिप्ट करने और एक एम्बेडेड वेब ब्राउज़र के माध्यम से प्रदर्शित करने के लिए हैंडल करेगा।

अतिरिक्त जानकारिया:

  • उपयोगकर्ता हमारे नियंत्रण में नहीं हैं। वे उपभोक्ता हैं।
  • हम इस प्रश्न में क्रॉस प्लेटफॉर्म के बारे में चिंतित नहीं हैं। यह सिर्फ विंडोज के बारे में है। हमारे पास मैक उपयोगकर्ताओं के लिए एक अलग डाउनलोड होगा।

पहले से ही प्रश्न पर जाएं:

उस एप्लिकेशन के लिए जिसे हमें बनाने की आवश्यकता है, हम आंतरिक रूप से बहस कर रहे हैं यदि यह उस ऐप के लिए उचित है। .NET विनफॉर्म एप्लिकेशन। हम एक एकल .exe चाहते हैं, और हम चाहते हैं कि डाउनलोड यथोचित रूप से छोटा हो (जैसे 100k)।

  • हिम्मत हम .NET फ्रेमवर्क का उपयोग करते हैं (हमें .NET के विशेष रूप से हाल के संस्करण का उपयोग करने की आवश्यकता नहीं है - 2.0 ठीक होगा)?
  • क्या यह मानना ​​उचित है कि अधिकांश उपभोक्ताओं के पास विंडोज अपडेट के कारण अब उनकी मशीनों पर .NET है?
  • क्या उन लोगों से पूछना उचित है जो इसे स्थापित करने के लिए नहीं हैं?

हम जानते हैं कि 100% उपयोगकर्ताओं के पास .NET इंस्टॉल नहीं होगा। असली सवाल यह है कि अगर उन्हें इस दिन और उम्र में यह पूछना उचित है।

PS क्या किसी को किसी भी विश्वसनीय आंकड़े के बारे में पता है कि वास्तव में कितने प्रतिशत लोग .NET स्थापित कर चुके हैं?


ध्यान रखें .NET को स्थापित और दूषित / अनुपलब्ध दोनों फ़ाइलों की आवश्यकता है।
ग्रैंडमास्टरबी

विंडोज के अलावा अन्य ऑपरेटिंग सिस्टम पर काम करने वाले उपयोगकर्ताओं को संभालना न भूलें, उनके पास .net है?
HLGEM

@HLGEM, जैसा कि उल्लेख किया गया है, हमारे पास मैक उपयोगकर्ताओं के लिए एक अलग डाउनलोड होगा जिसमें एक समान मैक-देशी क्लाइंट होता है। लिनक्स उपयोगकर्ता केवल ऑफ़लाइन डेटा एक्सेस के लिए इस वैकल्पिक समर्थन का उपयोग करने में सक्षम नहीं होंगे और उन्हें अपने वेब ब्राउज़र में डेटा को ऑनलाइन देखना होगा।
एरव वाल्टर

मैक के बारे में क्या?
जेफ ओक्ट

उस हिस्से को देखकर चूक गए।
HLGEM

जवाबों:


15

डिफ़ॉल्ट रूप से, Windows XP में .NET फ्रेमवर्क का कोई भी संस्करण शामिल नहीं है। Vista और सर्वर 2008 में .NET फ्रेमवर्क 3.0, विंडोज 7 और सर्वर 2008R2 में .NET 3.5 शामिल हैं, और Windows 2000 .NET 2.0 के ऊपर कुछ भी समर्थन नहीं कर सकता है।

इसे ध्यान में रखते हुए, यह आपके लक्षित दर्शकों के ओएस में नीचे आता है। मैं डाउनलोड पृष्ठ पर आवश्यकता को प्रमुखता से सूचीबद्ध करूँगा और आपके डाउनलोड के अलावा, फ्रेमवर्क डाउनलोड के लिए Microsoft अद्यतन / डाउनलोड अनुभाग के लिए एक लिंक प्रदान करेगा।


7

मुझे नहीं पता कि यह उचित है कि उनसे यह पूछा जाए या नहीं। हालांकि, मुझे पता है कि ग्राहक अक्सर अनुचित होते हैं, इसलिए मैं यह नहीं देखता कि यह मायने रखता है। यदि आप सीमित संख्या में ग्राहकों के साथ काम कर रहे हैं, तो उनसे पूछें। यदि आप अधिक ग्राहकों के साथ काम कर रहे हैं तो आप यथोचित रूप से बात कर सकते हैं, या आप समय के साथ ग्राहकों को लेने जा रहे हैं, बस यह सुनिश्चित करें कि वे खरीदने से पहले आवश्यकता को देखें।


7

आपके उपयोगकर्ता किस विंडोज के संस्करण पर हैं?

यदि यह विंडोज विस्टा है तो उनके पास डिफ़ॉल्ट रूप से .NET 3 स्थापित होगा और अगर यह विंडोज 7 है तो उनका संस्करण 3.5 होगा। स्रोत

यदि वे XP पर हैं, तो यह मदद नहीं करता है, लेकिन जैसा कि Microsoft ने SP2 के लिए समर्थन बंद कर दिया है वे SP3 पर होना चाहिए।

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


आम जनता में कोई भी एक उपयोगकर्ता हो सकता है। मुझे उम्मीद है कि हमारे पास अभी भी कुछ लोग एक्सपी पर होंगे।
एरव वाल्टर

4

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

पेंट.नेट इनस्टॉल एक्सपीरियंस - पार्ट 1, वर्जन 3.xx (पुराना खराब तरीका)
पेंट.नेट इनस्टॉल एक्सपीरियंस - पार्ट 2, वर्जन 4.0 (नया अच्छा तरीका)

इसलिए भले ही आप .NET फ्रेमवर्क की आवश्यकता के लिए जा रहे हों, और आप यह सुनिश्चित नहीं कर रहे हैं कि उपयोगकर्ताओं के पास होगा या नहीं, आप इसकी स्थापना को कम से कम दर्द रहित तरीके से अपने ऐप के साथ एकीकृत कर सकते हैं।


3

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

आपके अन्य विकल्प क्या हैं? क्या पासवर्ड संरक्षित एक्रोबेट फाइलें पर्याप्त हैं? इसे ब्लॉक करना बहुत आसान होगा: सेविंग, प्रिंटिंग और कॉपी और पेस्ट करना।

लगता है जैसे आप पहिया को फिर से मजबूत कर रहे हैं, लेकिन मेरे पास सभी बारीकियां नहीं हैं।


एन्क्रिप्टेड पीडीएफ एक व्यावहारिक समाधान हो सकता है, और मुझे लगता है कि एक्रोबेट रीडर (कम से कम विंडोज पर) को ग्रहण करना अधिक उचित है। हम पहिया को फिर से रोकने से बचने की कोशिश कर रहे हैं :) आदर्श समाधान सिर्फ एक एन्क्रिप्टेड ज़िप फ़ाइल होगी, लेकिन विंडोज डीआईपी ज़िप फ़ाइलों का समर्थन नहीं करता है जो एईएस एन्क्रिप्शन का उपयोग करते हैं और लोगों का मानना ​​है कि WinZip .NET की तुलना में बहुत अधिक संभावना नहीं है।
एरव वाल्टर

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

मुझे लगता है कि एक .NET समाधान काम करेगा। उपयोगकर्ताओं के पास एक्रोबैट होगा, लेकिन मुझे नहीं पता कि अगर आपके पास एन्करेटेड फाइल बनाने के लिए लाइसेंसिंग मुद्दे हैं।
जेफ ओक्ट

3

मैंने .net फ्रेमवर्क 3.5 sp1 को लक्षित करने वाले एक डेस्कटॉप एप्लिकेशन के लिए दुनिया भर में 10000 से अधिक इंस्टॉलेशन पर डेटा ट्रैक करके इस विषय पर कुछ शोध किया। केवल एक गुच्छा (लगभग 10) में उचित ढांचा स्थापित नहीं था। मैंने इंस्टॉलर से भारी .net फ्रेमवर्क इंस्टॉलेशन फ़ाइल को हटा दिया है, और अभी तक किसी भी समस्या पर ध्यान नहीं दिया है।

मैं अत्यधिक सुझाव देता हूं कि आप अपने बाजार में एक ही अध्ययन का संचालन करें और उन परिणामों के आधार पर निर्णय लें, जिनके जवाब आप इस तरह के समुदायों पर प्राप्त कर सकते हैं।


या शायद ऐसे लोग जिनके पास .NET पहले से स्थापित नहीं है, वे कभी भी आपके प्रोग्राम से परेशान नहीं होते हैं। आप अपने स्वयं के उपयोगकर्ता आधार को सीमित कर सकते हैं, विशेष रूप से नए उपयोगकर्ताओं के लिए, जो आपके प्रोग्राम के पिछले संस्करण से अपग्रेड नहीं कर रहे हैं।
रेयान

झूठ, यही कारण है कि आपको अपने स्वयं के अध्ययन का संचालन करने की आवश्यकता है। मेरा ग्राहक आधार शायद बहुत अलग है जो आपका है। ऑनलाइन आँकड़े भी आपकी मदद नहीं करेंगे।

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

10.000 केवल नए उपयोगकर्ता हैं जो आवश्यकताओं के बारे में कुछ भी नहीं जानते थे (वे प्रकाशित नहीं हैं, बस एक निष्पादन योग्य डाउनलोड लिंक है)।

1

आपके जनसांख्यिकी पर निर्भर करता है ...

अगर मैं चाहता था कि कोई भी [1] इसका उपयोग करने में सक्षम हो, तो मैं एक ३२-बिट ऐप को तैयार करूंगा जो Win98 और W7 पर चलेगा।

संभवतः इसका मतलब C ++ / MFC सामान है।

[१] १२ साल से कम उम्र की मशीन वाला कोई भी व्यक्ति जिसके पास इंटरनेट कनेक्शन है जो विंडोज ९ Anyone+ चला रहा है।


इसलिए "कोई भी" गैर-विंडोज उपयोगकर्ताओं को शामिल नहीं करता है? -दिल उदास है कि मैं कोई नहीं हूं-
वैकल्पिक

@mathepic - प्रश्नकर्ता ने पहले ही स्पष्ट रूप से कहा है कि यह प्रश्न विंडोज वितरण की चिंता करता है, और अलग मैक और लिनक्स वितरण हैं जो वह इस प्रश्न के बारे में नहीं पूछ रहा है।
कार्सॉन 63000

1
या डेल्फी / वीसीएल सामान - लेकिन एक पुराने संस्करण का उपयोग करें। C / C ++ विंडोज के लिए केवल मूल भाषा नहीं है। या यहां तक ​​कि VB6 (शपथ के लिए क्षमा करें)।
गेरी

@ चेरी: सच है। :) मैंने पिछले 8 सालों में डेल्फी के बारे में बहुत कुछ नहीं सुना था, इसलिए मुझे यह सोचने की आदत नहीं है।
पॉल नाथन

वास्तव में। मैंने इसके साथ 12 वर्षों तक काम किया है, और मुझे स्थायी रोजगार खोजने में मुश्किल हो रही है, जो एक दुख की बात है क्योंकि इसने पिछले कुछ वर्षों में कई संवर्द्धन (पूर्ण यूनिकोड, जेनरिक, अनाम विधियाँ (बंद)) देखे हैं,
गेरी


-4

यदि आप जानते हैं, कि आपके 100% ग्राहकों के पास यह नहीं है, तो आपने .net के साथ आवेदन क्यों किया?

आप जावा का उपयोग कर सकते हैं और वेब-स्टार्ट एप्लिकेशन बना सकते हैं।

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


7
एक जावा वेब स्टार्ट एप्लीकेशन के लिए जावा की आवश्यकता होगी जो .NET की आवश्यकता के अनुसार ही खराब है। और हम इंस्टॉलर में .NET को शामिल नहीं कर सकते हैं, जो डाउनलोड को बहुत बड़ा बना देगा। जैसा कि उल्लेख किया गया है, हम एक छोटे डाउनलोड (यानी 100k या उससे कम) की तलाश कर रहे हैं।
एरव वाल्टर

जावा वेब स्टार्ट एप्लिकेशन भी धीमा है!
डीएल

आपने 100K डाउनलोड-आकार के बारे में नहीं लिखा।
कुक्कुटबैक

इस बारे में खेद है कि अधिक स्पष्ट नहीं है (मैं संपादित करूंगा), लेकिन इसके द्वारा निहित किया गया था, "और हम चाहते हैं कि डाउनलोड छोटा हो।"
एरव वाल्टर

-6

बस यह सुनिश्चित करें कि आपके द्वारा पैकेज किए गए पैकेज में फ्रेमवर्क के आवश्यक संस्करण पर निर्भरता है। फिर पैकेज मैनेजर उपयोगकर्ता के पास आवश्यक ढांचा संस्करण खींच लेगा और इसे आपके पैकेज से पहले स्थापित कर देगा।

ओह, आपके द्वारा लक्षित ऑपरेटिंग सिस्टम में एक बहुत ही अपंग पैकेज प्रबंधन प्रणाली है, जो ऐसा नहीं कर सकती है? यह खराब ओएस होना चाहिए। ठीक है, तो आपके पास केवल एक विकल्प है: इस ढांचे को स्थापित करने की आवश्यकता है और इसे करने के लिए उपयोगकर्ता के लिए लिंक प्रदान करें। मैं यह नहीं देखता कि उपयोगकर्ता कैसे लाभान्वित होते हैं, यदि कोई डेवलपर्स जो "मानक" OS टूल के साथ बेकार संगतता के लिए ध्यान देने योग्य हिस्सा है (यह समय बग को ठीक करने और इसके बजाय सुविधाओं को जोड़ने के लिए खर्च किया जा सकता है)।


जितना मैं देखता हूं कि यह (कुछ हद तक सत्य) उत्तर FUD के रूप में कैसे देखा जा सकता है, मैं किसी को भी नीचा समझाते नहीं देखता ...
वैकल्पिक

10
मेरे पतन की व्याख्या: पावेल ने सवाल के जवाब में कुछ भी मददगार नहीं होने की पेशकश की, बस विंडोज को टक्कर देने का अवसर लिया।
कार्सॉन 63000

1
इससे भी बेहतर, एक ऐसी भाषा का उपयोग करें जिसके लिए पुस्तकालयों के विशाल पूल की आवश्यकता नहीं है, जबकि विंडोज पर डेल्फी;)
गेरी

1
@ जीरी, पूरे बिंदु यह है कि डेवलपर्स एक ऐसी भाषा का उपयोग करना चाहते हैं जो वे जानते हैं और उत्पादक पाते हैं, जो उनके विकास की गति को बढ़ावा देगा, और इन पुस्तकालयों में डाले गए प्रयास का पुन: उपयोग करने की अनुमति देगा।
पी शेव्ड

1
डेल्फी दुनिया में पुस्तकालयों (वाणिज्यिक और ओपन सोर्स) आम तौर पर केवल विकास मशीनों पर स्थापित होते हैं - सब कुछ (ओएस के अलावा और कभी-कभी डीएलएल प्रदान की गई तीसरी पार्टी) एक ही निर्वासन में संकलित किया जाता है। लेकिन कभी-कभी ओएसएस-सी लाइब्रेरी डेल्फी से कॉल करने के लिए डीएलएल में लिपटे होते हैं
गेरी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.