मुझे पता है कि यह एक पुरानी पोस्ट है, लेकिन मुझे लगता है कि यह अभी भी एक वैध सवाल है।
मैंने पहली कंपनी में WinForms का उपयोग पहली कंपनी में किया था जिसके लिए मैंने काम किया था। वहां कुछ वाकई अच्छे प्रोग्रामर थे, और उन्हें कुछ बहुत ही अच्छी चीजें करने के लिए कुछ बहुत चालाक तरीके मिले। WinForms समय की परीक्षा खड़ा है। यह एक ठोस, भरोसेमंद और कुशल मंच है। बहुत से लोग, और कई कंपनियां बड़े और छोटे दोनों वर्षों से WinForms का उपयोग कर रही हैं, और तकनीक ने खुद को समय और समय साबित कर दिया है। इस तरह की जड़ता से लड़ना मुश्किल है, भले ही आप माइक्रोसॉफ्ट हैं।
फिर भी, डब्ल्यूपीएफ निश्चित रूप से भविष्य है। माइक्रोसॉफ्ट ने विजुअल स्टूडियो 2010 और अभिव्यक्ति ब्लेंड जैसे उत्पादों को बनाकर स्पष्ट किया। (आंतरिक परियोजनाओं के लिए डब्ल्यूपीएफ का उपयोग करने में, माइक्रोसॉफ्ट को कई मुद्दों को ठीक करने के लिए मजबूर होना पड़ा, जैसे कि फ़ॉन्ट प्रतिपादन और गति के मुद्दों, जिससे लोगों ने इसे पहले अपनाने से रोका। विजुअल स्टूडियो 2010 से पता चलता है कि डब्ल्यूपीएफ लंबे समय से उत्पादन के लिए तैयार है।
तो, क्या WinForms या WPF में अपना प्रोग्राम लिखना बेहतर है? इसका जवाब यह है: डब्ल्यूपीएफ। मैं इसे दो कारणों से कहता हूं। सबसे पहले, क्योंकि माइक्रोसॉफ्ट आंतरिक रूप से इसका समर्थन कर रहा है, हम मान सकते हैं कि यह बहुत ही आसपास होगा लंबे समय से। माइक्रोसॉफ्ट ने हमें दिखाया है कि यह पसंद का अगला टूल है जो मुझे मेरे अगले बिंदु पर ले जाता है: यह WinForms से बेहतर हो गया है (कुछ लोगों को मैंने असहमत होने के लिए कहा है, लेकिन फिर भी यह सच है, और यह और स्पष्ट हो रहा है हर दिन)। डब्ल्यूपीएफ में कई विशेषताएं हैं जो WinForms (शायद) कभी नहीं दी जाएंगी, जैसे कि एकीकृत समर्थन अद्भुत डेटा बाइंडिंग, और टाइमलाइन आधारित एनिमेशन जो इसे बनाता है अपने ऐप्स के लिए अद्भुत थीम बनाना आसान है, और डिज़ाइनर स्विच करने के लिए भीख मांगेंगे।किसी टिप्पणी में कभी भी वर्णित किए जाने के मुकाबले डब्ल्यूपीएफ के लिए बहुत कुछ है, लेकिन ये मेरे लिए दो बड़े हैं :)
यह कहा जा रहा है कि, मुझे पता है कि आप WPF में ऐसा कुछ भी नहीं कर सकते जो आप WinForms में नहीं कर सकते। यदि आप बुरी तरह से पर्याप्त करना चाहते हैं तो आप किसी भी भाषा में कुछ भी कर सकते हैं। मुद्दा यह है कि जहां WinForm आपको Google को स्कोअर करने के लिए छोड़ देगा, किसी और ने कुछ शांत कैसे किया है, डब्ल्यूपीएफ जहाजों को उन सभी सुविधाओं के लिए अंतर्निहित समर्थन के साथ जहाज है जो माइक्रोसॉफ्ट विंडोज के भविष्य के रूप में मानते हैं और उन्हें आपकी उंगलियों पर सही रखता है।
समय के साथ, लोगों को सीधे विंडोज़ में निर्मित नई सुविधाओं के लिए उपयोग किया जाएगा, और उम्मीद है कि वे उन सभी अनुप्रयोगों में उपलब्ध होने की उम्मीद करेंगे। यह उस बिंदु तक पहुंच जाएगा जहां कुछ भी उनका समर्थन नहीं करता है, वह कमजोर, कम उपयोग करने योग्य, और पैसे खर्च करने के लिए कम मूल्यवान लगेंगे। (मैं इस बारे में सबसे स्पष्ट उदाहरण के रूप में टच एकीकरण को देखता हूं। हालांकि टच स्क्रीन समाधान हैं जो किसी मॉनिटर पर क्लैंप करते हैं और माउस को अनुकरण करते हैं, किसी भी कंप्यूटर पर, टच स्क्रीन तकनीक बहुत लंबा रास्ता आ गया है, और विंडोज 8 लाइन को धुंधला कर रहा है डेस्कटॉप और मोबाइल उपकरणों के बीच, लोग संभवतः अनुप्रयोगों का उपयोग करना चाहते हैं जो आपके एप्लिकेशन को WinForms का उपयोग करने के लिए असाधारण रूप से कठिन होगा।)
जल्द या बाद में, मेरा मानना है कि WinForms के लिए समर्थन और विकास बंद हो जाएगा, और जो लोग खुद को पीछे छोड़ देते हैं उन्हें बंदरगाह और जल्दी से मजबूर किया जाएगा। हालांकि, वहां बहुत सारे कार्यक्रम हैं जो माइक्रोसॉफ्ट के लिए WinForms पर भरोसा करते हैं ताकि वे निकट भविष्य में इसे छोड़ सकें। कौन जानता है कि क्या होगा। शायद WinForms माइक्रोसॉफ्ट के लिए होगा जो इटेनियम प्रोसेसर इंटेल के लिए हैं, उत्पाद जिसमें पर्याप्त उपयोगकर्ता हैं जो इसे जारी रखने के लिए हैं, भले ही बेहतर समाधान उपलब्ध हों। (http://arstechnica.com/business/news/2011/06/ask-ars-why-itaniumask-ars-with-xeons-improvement-why-bother-with-itanium.ars)
तो मेरी सलाह यह होगी: नए विकास के संबंध में, WPF पर स्विच करें। प्रशिक्षण पाठ्यक्रमों पर कुछ कर्मचारियों को भेजें, या उन्हें थोड़ी देर के लिए खेलने दें ताकि वे प्रौद्योगिकी के लिए बेहतर महसूस कर सकें। सीखने की अवस्था खड़ी हो रही है, लेकिन ऐसा करने से आपकी टीम के कौशल सेट में वृद्धि होगी क्योंकि डब्ल्यूपीएफ सीखकर, वे सिल्वरलाइट सीखने के अपने रास्ते पर भी अच्छे होंगे, जो डब्ल्यूपीएफ से परिचित लोगों के लिए डब्ल्यूपीएफ के लिए पर्याप्त है इसे जल्दी से सीखने के लिए, लेकिन डेस्कटॉप के बजाय वेब के लिए डिज़ाइन किया गया है। यह मूल्यवान है क्योंकि WPF में पुन: लिखे गए ऐप्स बाद में लाइन के नीचे वेब ऐप्स में कनवर्ट करना कहीं अधिक आसान होंगे। डब्ल्यूपीएफ नया है, लेकिन यह किसी कारण के लिए बनाया गया था, न केवल लोगों को सीखने के लिए कुछ और करने के लिए। यह अनुप्रयोगों को अधिक उपयोगकर्ता के अनुकूल, अंतर्ज्ञानी और पोर्टेबल बनाने के लिए डिज़ाइन किया गया था। यह डेवलपर्स को अपने अनुप्रयोगों को कंप्यूटर की नई उम्र में फिट करने में मदद करने के लिए डिज़ाइन किया गया था।
WinForms में लिखे गए अनुप्रयोगों के बारे में: मुझे लगता है कि यह मानना सुरक्षित है कि WinForms अभी भी काफी हद तक समर्थित समर्थन के कारण समर्थित होगा। मैं आपकी टीम को WPF के साथ स्वयं को परिचित करने की सलाह दूंगा, और धीरे-धीरे अपने एप्लिकेशन को WPF पर ले जाना शुरू कर दूंगा। माइक्रोसॉफ्ट की अनुमति देता है और प्रक्रिया को जल्दी नहीं करता है, लेकिन हमेशा ध्यान रखें कि, एक तरफ या दूसरा, WinForms दिन खत्म हो गया है, और हालांकि कोई भी यह सुनिश्चित नहीं कर सकता कि क्या होगा, विरासत उत्पाद के लिए समर्थन गिरा दिया जाएगा जैसे ही इसे उचित ठहराया जा सकता है। यहां तक कि यदि WinForms अनुप्रयोगों को कई सालों तक रखा जाता है, तो यह याद रखना महत्वपूर्ण है कि समय बदल रहे हैं, और हम सभी को उनके साथ बदलने की जरूरत है।
यह वास्तव में निर्भर करता है .... क्या आप हमें अपने आवेदन के बारे में अधिक पृष्ठभूमि दे सकते हैं? – Brann
डुप? http://stackoverflow.com/questions/388711/when-is-winforms-the-correct-choice-vs-wpf –
डुप्लिकेट नहीं - इसमें 3 डी/डायरेक्टएक्स है। –