WPF ऐप का लाभ बनाम व्यावसायिक एप्लिकेशन के लिए Winform? [बन्द है]


84

मैं asp.net और winform विकास को जानता हूं। मैं उस प्रकार का डेवलपर नहीं हूं जो नई तकनीक में कूदता है क्योंकि यह नया है। इससे मुझे उच्च उत्पादकता जैसे अतिरिक्त लाभ देने की जरूरत है।

शुद्ध व्यावसायिक ऐप के लिए Winform पर WPF के क्या फायदे हैं? मुझे अतिरिक्त आई कैंडी, एनीमेशन, ग्रेडिएंट्स, छवि प्रदर्शन प्रभाव और इतने पर दिलचस्पी नहीं है, जिस पर WPF प्रदान करता है। व्यावसायिक एप्लिकेशन डेटा प्रविष्टि, डेटा रिपोर्टिंग और शायद कुछ चार्ट और फ़ोटो के स्थिर प्रदर्शन के लिए हैं।

इन ऐप्स में WPF कैसे मदद करेगा? बेहतर अमीर डेटा बाइंडिंग? WinForm एक परिपक्व सिद्ध तकनीक है और मुझे यह तथ्य पसंद है कि मैं विजुअल स्टूडियो बनाम कई आईडीई के लिए WPF (VS & Blend परिवार) में सब कुछ कर सकता हूं। इसके अलावा मुझे लगता है कि WPF के पास अपने Winform समकक्षों (DataGridView..etc) की तरह समृद्ध डेटा बाइंडिंग नियंत्रण नहीं है। AFAIK, Microsoft अभी भी कई वर्षों के लिए Winforms का समर्थन करेगा।

मेरे जैसे किसी व्यक्ति को स्विच करने के लिए मनाने की कोशिश करें।


1
मुझे लगता है कि WPF पर स्विच करने के लिए कुछ शक्तिशाली कारण हैं। मैं अपने द्वारा लिखे गए ब्लॉग को दोहराना नहीं चाहता , इसलिए यहां पर एक लिंक डालूंगा।
एंडी ब्राउन

7
यह एक अच्छा सवाल है। फिर से खोलना चाहिए। मैं एक winform डेवलपर्स हूँ जो WPF पर स्विच करता है। सीखने की अवस्था बहुत बड़ी है। लेकिन WPF भविष्य है, क्योंकि यह HTML की तरह प्रकृति द्वारा घोषित भाषा है। Winform ज्यादातर प्रक्रियात्मक है, जो एल्गोरिदम के लिए अधिक उपयुक्त है, लेकिन UI प्रदर्शित करने के लिए अधिक क्रिया है। एक .XPS प्रिंट फ़ाइल को अनज़िप करने का प्रयास करें, आपको वहां WPF xaml दिखाई देगा। Winforms के साथ बस बहुत सी सीमाएँ हैं। हालांकि यह अभी भी काम करता है, लेकिन WPF "आई-कैंडी" उपयोगकर्ता के तनाव के स्तर को कम करने में मदद कर सकता है। आप सूची या डेटाग्रिड के अलावा और अधिक सार्थक तरीके से रिकॉर्ड की कई पंक्तियों को प्रस्तुत कर सकते हैं।
जेसन मार्ताजया

जवाबों:


101

मैं asp.net और winform विकास को जानता हूं। मैं उस प्रकार का डेवलपर नहीं हूं जो नई तकनीक में कूदता है क्योंकि यह नया है। इससे मुझे उच्च उत्पादकता जैसे अतिरिक्त लाभ देने की जरूरत है।

मेरी टीम के लिए, WPF के साथ अनुप्रयोगों को विकसित करने के लिए WinForms की तुलना में बहुत तेज साबित हुआ है। हमने हाल ही में 32 आदमी दिनों में एक मध्यम आकार का ऐप जारी किया है। हमारे पास टीम पर एक अनुभवी WPF डेवलपर, और अनुभवहीन लोगों का फायदा था, जो तकनीक सीखने के लिए उत्सुक थे। बहुत मनोबल था, और उत्पादकता प्रभावशाली थी।

WinForm एक परिपक्व सिद्ध तकनीक है और मुझे यह तथ्य पसंद है कि मैं विजुअल स्टूडियो बनाम कई आईडीई के लिए WPF (VS & Blend परिवार) में सब कुछ कर सकता हूं।

क्या आप खुद को हैंड-कोडर या ड्रैग-एंड-ड्रॉप कोडर मानते हैं? यदि आप अपने आप को ड्रैग-एंड-ड्रॉपर मानते हैं, तो WPF टूलिंग की वर्तमान फसल आपके लिए उपयुक्त नहीं हो सकती है। शायद Visual Studio 2010 की प्रतीक्षा करें? मैं एक्सएएमएल में लगभग विशेष रूप से काम करता हूं। अधिकांश WPF'ers शायद इस बात से सहमत होंगे कि फिलहाल WPF एप्लिकेशन बनाने का यह सबसे प्रभावी तरीका है। लेकिन फिर, मैं अपने HTML को हाथ से तैयार करता हूं, इसलिए यह मुझे स्वाभाविक लगता है ...

शुद्ध व्यावसायिक ऐप के लिए Winform पर WPF के क्या फायदे हैं? मुझे अतिरिक्त आई कैंडी, एनीमेशन, ग्रेडिएंट्स, छवि प्रदर्शन प्रभाव और इतने पर दिलचस्पी नहीं है, जिस पर WPF प्रदान करता है।

मैं इस तरह से सोचता था, लेकिन मैंने हाल ही में एक व्यावसायिक अनुप्रयोग विकसित किया है जिसमें ग्रेडिएंट्स, बुनियादी एनीमेशन और प्रभाव हैं। इन फैंसी सुविधाओं को उपयोगकर्ता के अनुभव को बढ़ाने के लिए जोड़ा गया था। व्यावसायिक ऐप्स को बैटलशिप ग्रे क्यों होना चाहिए? उन्हें अनुपयोगी क्यों होना चाहिए? दी गई, यह रंग, ग्रेडिएंट्स, एनीमेशन नहीं है जो एक व्यावसायिक ऐप को प्रयोग करने योग्य बनाता है, लेकिन इन प्रभावों का उपयोग करके उपयोगकर्ता अनुभव प्राप्त कर सकते हैं, और यही मेरे लिए महत्वपूर्ण है। मैं WinForms में WPF ऐप में जो कुछ भी करता था - वह सब कुछ कर सकता था - यह अभी बहुत समय लेगा।

बेहतर अमीर डेटा बाइंडिंग?

Databinding समर्थन वास्तव में आश्चर्यजनक है। यह मंच में मेरी सबसे अधिक पसंद की जाने वाली विशेषता है। की जाँच करें इस अद्भुत Databinding cheatsheet

मेरे जैसे किसी व्यक्ति को स्विच करने के लिए मनाने की कोशिश करें।

मैंने फैसला किया है कि मैं WPF पर स्विच करने के लिए किसी और को समझाने और समझाने की कोशिश नहीं कर रहा हूं। जिन डेवलपर्स को मैंने "समझाने" (सभी अनुभवी Winforms डेवलपर्स) की कोशिश की है, वे आमतौर पर मंच के साथ संघर्ष करते रहे हैं। उन्हें प्रौद्योगिकी में निवेश नहीं किया जाता है। वे "इसे प्राप्त नहीं करते"। मैं लोगों को प्रौद्योगिकी को देखने के लिए प्रोत्साहित करता हूं कि यह देखने के लिए कि क्या यह डेवलपर के रूप में उनके लिए सही है। सीखने की अवस्था बहुत बड़ी है। यदि आप पुस्तकों से सीखते हैं, तो WPF पुस्तकों पर कुछ लघु-समीक्षाओं के लिए इस SO पोस्ट को देखें। यदि आप वीडियो से सीखते हैं, तो windowsclient.net WPF वीडियो देखें । यदि आप उदाहरण से सीखते हैं, तो यह या यह देखेंपद। WinForms के बारे में सबकुछ भूल जाओ। WPF वास्तव में WinForms की तुलना में ASP के करीब लगता है। कुछ सैंपल एप्लिकेशन बनाएं। देखें कि क्या यह आपके और आपकी टीम के लिए काम करता है।

जब आप बहु-कुशल (asp.net/winform skills) होते हैं, तो आप WPF में स्किलिंग-अप का लाभ देख सकते हैं क्योंकि यह सिल्वरलाइट से बहुत निकटता से संबंधित है। सिल्वरलाइट आपके समृद्ध ग्राहक अनुप्रयोगों और वेब अनुप्रयोगों के बीच की खाई को भर देता है।

मुझे व्यक्तिगत रूप से लगता है कि WPF .NET फ्रेमवर्क के लिए उपलब्ध सर्वश्रेष्ठ क्लाइंट साइड टेक्नोलॉजी है, और आमतौर पर भविष्य के काम के लिए WinForms में विकसित होने से बचना होगा। YMMV

आपके निर्णय के लिए गुड लक।


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

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

3
+1 - "व्यावसायिक ऐप्स को बैटलशिप ग्रे क्यों होना चाहिए?" - पूरी तरह से सहमत हूँ!
शमूएल स्लेड

5
-1 यदि WPF में जाने का एकमात्र कारण ग्रेडिएंट बनाने की क्षमता पर आधारित है और आपके एप्लिकेशन संवादों को "युद्धपोत ग्रे" से बदलना है, तो आपको वास्तव में WinForms का उपयोग करने का तरीका सीखने की आवश्यकता है।
17

1
+1, थ्रू-पूर्ण उत्तर। लिंक windowsclient.net WPF वीडियो नीचे है, किसी को पता है कि उन लोगों को कहां खोजना है?
डेमियन

11

मेरे पास विनरफॉर्म का काफी अनुभव है और मैंने केवल WPF के साथ थोड़ा ही खेला है, लेकिन मैं बेच दिया गया हूं।

क्यों?

  • बहुत अधिक लचीलापन। यदि आप winforms, दर्द और पीड़ा में कुछ भी गैर-मानक करना चाहते हैं, लेकिन WPF में यह सरल है।

  • बहुत बेहतर डेटाबाइंडिंग

  • विकसित करने में आसान (एक बार जब आप मूल अवधारणाओं को समझ लेंगे, जो दुर्भाग्य से थोड़ी देर लगेगी)


4

जब मैंने WPF को देखना शुरू किया, तो मैंने इसे "वेक्टर ग्राफिक्स वाले विनफॉर्म" के रूप में माना और सीधे सीखने की चट्टान की तरफ भाग गया। WinForms से WPF में संक्रमण करने का उचित तरीका यह है कि आप जो कुछ भी जानते हैं उसे भूलने के लिए आप जिस भी नशीले पदार्थ को हाथ में ले सकते हैं, उसकी एक वीर खुराक लें, फिर खरोंच से शुरू करें।

गंभीरता से हालांकि - यह बहुत साफ और आसान है अगर आप मॉडल-व्यू-व्यू-मॉमेल जैसे पैटर्न का उपयोग करते हैं। Orbifold , Google समूह थ्रेड और Channel9 पर और पढ़ें

फिर कुछ बिंदु पर आपके पास एक एपिफेनी होगी और सब कुछ डेटाबाइंड करना शुरू करें। आपका कोड-पीछे InitializeComponent () के लिए एक कॉल से अधिक नहीं बन जाएगा।


4

पोस्ट के लिए धन्यवाद। मेरी कंपनी के पास WinForms में निवेश करने के लिए बहुत समय है। मैं 32 दिनों में मध्यम आकार के आवेदन प्राप्त करने की कल्पना नहीं कर सकता; हमारी प्रमाणन अवधि महीनों के अंत में होती है और चक्र को कभी-कभी या उससे अधिक समय तक जारी किया जाता है (एक फुर्तीली विकास दर्शन के करीब रहने के बावजूद) हम कर सकते हैं, ऐसा हमारे द्वारा विकसित अनुप्रयोगों की प्रकृति है।

मैंने पहली बार WPF के साथ खेला और पाया कि मैं ElementHost का उपयोग करके WinForms में WPF के कुछ लाभ प्राप्त कर सकता हूं। मैंने एक WPF TextBox को बढ़ाया, फिर अपने विस्तारित वर्ग को Win Forms UserControl में लपेटा और अब उस WPF पाठ बॉक्स का उपयोग करके एक WinForms ऐप है, जो वर्तनी जांच के समर्थन के साथ पूरा हुआ।

मैं Microsoft को इस बारे में सोचते हुए प्रभावित हुआ हूं (WinForms और इसके विपरीत WPF की मेजबानी), क्योंकि मैं वास्तव में अपनी कंपनी को WPF में नहीं देख सकता, जब तक कि हम लंबे समय तक संक्रमण नहीं कर सकते; WinForms में फिर से शुरू करने के लिए अभी बहुत अधिक निवेश किया गया है। अपने हाल के अनुभव के साथ मैं अपने हाल के अनुभव के बारे में कुछ अन्य डेवलपर्स से बात करना शुरू कर सकता हूं और देख सकता हूं कि उनके विचार क्या हैं। मुझे लगता है कि WPF का उपयोग करने में कुछ समय लगेगा और यह अन्य टिप्पणियों के अनुरूप है।




0

सोचिए अगर आप अपने ASP.NET /(Silverlight) पेज से उसी UI (XAML) का इस्तेमाल अपने डेस्कटॉप ऐप से कर सकते हैं। आप इसे केवल एक बार बनाएंगे, लेकिन इसे या तो तार कर देंगे .... कि WPF / XAML के इरादों में से एक है ... क्या हम वास्तव में अभी तक वहां हैं? अभी तक नहीं लेकिन करीब हो रही है।


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

हाँ, WPF और सिल्वरलाइट 2 के बीच ओवरलैप बड़ा है, लेकिन आपके कोड को पोर्टेबल बनाने के लिए पर्याप्त नहीं है। बाध्यकारी क्षमताओं में अंतर आपके WPF विकास को अत्यधिक सीमित करेगा।
जियोफ्टफ़्नज़

1
वैसे मैंने कहा था कि हम अभी तक वहाँ नहीं हैं ... लेकिन यह अंतिम इरादा है।
वेबजेडी

geofftnz: क्या आपका मतलब सिल्वरलाइट विकास को प्रतिबंधित करना है?
अब्दु
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.