2009-12-16 8 views
25

अब मेरे प्रोजेक्ट के लिए जीयूआई लिखने का समय है, और मैं सोच रहा हूं कि किस तकनीक का उपयोग करना है। मैंने .NET 1 & 2 में अपने .NET GUI विकास का अधिकांश हिस्सा किया, इसलिए मुझे Windows Forms उचित रूप से अच्छी तरह से पता है। मैं WPF के बारे में बेहद जागरूक हूं, लेकिन अभी तक "इसमें शामिल होने" का प्रयास नहीं किया है।क्या विंडोज़ पुराने तकनीक बनाते हैं?

क्या विंडोज़ फॉर्म मर गए हैं या मर रहे हैं? क्या डब्ल्यूपीएफ सीखने के लिए एक अच्छी तकनीक है? क्या यह भविष्य है, सिर्फ एक चरण है, या एक तकनीक है जो विंडोज़ फॉर्म के साथ हाथ में चल सकती है?

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

उत्तर

43

क्या WinForms मर गए या मर रहे हैं?

नहीं। यह काफी आगे विकसित की है नहीं (जैसे कोई नया प्रमुख अतिरिक्त), लेकिन यह पूरी तरह से नेट 4 में समर्थित है, उदाहरण के लिए।

क्या WPF सीखने के लिए एक अच्छी तकनीक है?

हां।

क्या यह भविष्य है, सिर्फ एक चरण है, या एक तकनीक है जो WinForms के साथ हाथ में चल सकती है?

यह करना है कि आप अंत में WPF करने के लिए पर ले जाने, लेकिन यह भी समझा जाता है बड़े मौजूदा WinForms में लिखा codebases देखते हैं, और वहाँ उन्हें WPF में फिर से लिखने के लिए कोई काम नहीं है मामला है कि। इसलिए WinForms समर्थित है।

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

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

एक ठोस उदाहरण के लिए, इस बात पर विचार करें कि WPF Button एक कंटेनर है जो मनमाने ढंग से सामग्री होस्ट कर सकता है - न केवल छवि + टेक्स्ट WinForms में, बल्कि बिल्कुल किसी भी अन्य WPF नियंत्रण या नियंत्रण के सेट।

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

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

डब्ल्यूपीएफ बाध्यकारी ढांचा बल्कि शक्तिशाली है (भले ही वर्बोज़, इनलाइन कन्वर्टर्स की कमी के कारण धन्यवाद), और सामान्य रूप से एमवीपी को बढ़ावा देता है, और सामान्य रूप से, मॉडल/अलगाव को अलग करता है। 2.0+ में WinForms के साथ हासिल करना संभव है, और मैं वहां भी ऐसा करने की कोशिश करता हूं, लेकिन यह अधिक कठिन है, खासकर शून्य प्रबंधन के संबंध में, और कभी-कभी rather buggy हो सकता है।

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

जब आप WinForms स्थानीयकरण योग्य रूपों का उपयोग करते हैं, तो एक बहुत ही समान समस्या होती है, जो किसी संसाधन फ़ाइल में कुछ गुणों को धक्का देती है। दोबारा, डिजाइनर को किसी भी छोटे बदलाव के लिए संसाधन फ़ाइल में संपत्ति मूल्यों को फिर से व्यवस्थित करना पसंद है, जैसा कि पहले वर्णित सभी समस्याओं के साथ है।

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

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

डब्ल्यूपीएफ में मेरा एक विशेष पालतू शिखर जिस तरह से एंटीअलाइसेस टेक्स्ट है - जिसे ज्यादातर लोगों द्वारा विशेष रूप से छोटे फ़ॉन्ट आकारों पर सादे विंडोज क्लियरटाइप की तुलना में बहुत खराब गुणवत्ता के रूप में माना जाता है; अधिक जानकारी के लिए this bug report देखें। यह WPF 4 में तय किया गया है, लेकिन यह अभी तक जारी नहीं हुआ है, और यहां तक ​​कि जब भी होगा, संभावना है कि आप कुछ समय के लिए कोशिश की और सही 3.5 एसपी 1 के साथ रहना चाहेंगे; और फिक्स बैकपोर्ट नहीं किया गया है।

+2

धन्यवाद! यह एक सही जवाब है, वास्तव में जिस तरह की जानकारी मैं ढूंढ रहा था। मैंने आपके लेगो-ईंट समानता की तरह किया था। मैं डब्ल्यूपीएफ को अनदेखा करने की कोशिश कर रहा था, लेकिन यहां टिप्पणियों ने मुझे विश्वास दिलाया है कि यह सीखना शुरू करने का समय है। – DanDan

+7

एक साइड नोट के रूप में, किसी दिए गए एमएस तकनीक की परिपक्वता का एक अच्छा संकेत यह है कि क्या एमएस स्वयं उस तकनीक का उपयोग करता है। इस लेखन के अनुसार, एक प्रमुख एमएस उत्पाद है जो विशेष रूप से डब्ल्यूपीएफ का उपयोग करता है - अभिव्यक्ति मिश्रण, और एक आगामी प्रमुख उत्पाद जो बहुत सारे WPF का उपयोग करता है, और केवल किसी भी नए यूआई के लिए इसका उपयोग करता है, कुछ विरासत बिट्स के लिए WinForms और देशी Win32 को छोड़कर - वीएस -2010। अन्य चीजों के अलावा, इसका मतलब है कि किसी भी WPF की कमी जो उन उत्पादों को नकारात्मक रूप से प्रभावित करती है, उन्हें बहुत ध्यान मिलेगा। मुझे पता है कि वीएस -2010 के उपयोग के कारण .NET 4 के लिए कुछ डब्ल्यूपीएफ फिक्स थे :) –

+0

वीएस -2010 को डब्ल्यूपीएफ में कोड किया गया था, और यह 2008 की तुलना में दिखता है, लेकिन आखिरी बार मैंने इसका परीक्षण किया था, यह बहुत खराब था और बदसूरत रंग थे :) –

1

निश्चित रूप से नहीं।

विनफॉर्म का उपयोग करना आसान है (आपको अभी तक डब्ल्यूपीएफ नहीं पता है) और डब्ल्यूपीएफ विनफॉर्म मॉडल से काफी प्रस्थान है।

यदि आप एक साधारण जीयूआई (मानक फॉर्म सामान) चाहते हैं तो Winforms के साथ जाएं। यदि आप कुछ और अधिक चमकदार चाहते हैं और समय है, तो WPF के लिए जाएं।

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

यह उल्लेखनीय है कि बहुत से अनुप्रयोग पहले से ही Winforms का उपयोग कर रहे हैं - जिसका अर्थ रखरखाव कार्य अक्सर WinForms को शामिल करना होगा, इसलिए इसे अभी तक सीमित न करें।

+0

धन्यवाद - यह मेरी बाधा रहित लेकिन काफी सरल परियोजना है, इसलिए यह WPF के लिए सड़क पर शुरू करने का आदर्श अवसर हो सकता है। – DanDan

+0

ध्यान दें कि डब्ल्यूपीएफ में "मानक जीयूआई" अभी भी आसान हो सकता है, अगर आप सही काम करने और मॉडल और सख्त अलगाव (उदाहरण के लिए एमवीपी लागू करके) करने का आग्रह करते हैं। –

+0

चाहे आप किसके साथ जाते हैं, एमवीपी (या डब्ल्यूपीएफ के लिए एमवीवीपी संस्करण) decoupled कोड के लिए जरूरी है। – Finglas

10

WinForms मर या मर नहीं रहे हैं ... वे सिर्फ वही उपयोगकर्ता अनुभव प्रदान नहीं कर सकते हैं जो WPF (बिना काम के बहुत कम) कर सकता है। वे सिर्फ पुरानी तकनीक हैं।

डब्ल्यूपीएफ सीखने के लिए एक अच्छी तकनीक है। यह कम काम के साथ एक अधिक समृद्ध उपयोगकर्ता अनुभव प्रदान करने की क्षमता प्रदान करता है।

WPF के साथ काम करने का मॉडल WinForms से निश्चित रूप से अलग है। मैं (WPF/Silverlight से WinForms अधिक भारी) दोनों का उपयोग किया है और मेरे लिए सबसे कठिन संक्रमण थे:

  1. XAML है, जो के रूप में बुरा नहीं है अगर आप MXML की तरह एक और मार्कअप भाषा में अनुभव है।

  2. DataBinding

  3. इंटरफ़ेस इवेंट हैंडलिंग (माउसओवर प्रभाव, समयसीमा, आदि)

+0

यहां टिप्पणियों से मुझे पता है कि डब्ल्यूपीएफ सिर्फ एक और प्रकार का WinForms नहीं है, यह उससे अधिक देता है। ऐसा लगता है कि इस पर कुछ समय व्यर्थ है! – DanDan

3

WinForms/मृत से दूर है मर रहा है। डब्ल्यूपीएफ यूआई से निपटने का एक नया तरीका है क्योंकि यह उन चीजों को बढ़ावा देता है जो WinForms में अधिक कठिन थे। वास्तविक यूआई से यूआई के पीछे मॉडल को अलग करने जैसी चीजें, ताकि आसानी से परीक्षण किया जा सके, यह एक बड़ा कारक है।

यह निश्चित रूप से सीखने लायक है, लेकिन अपने WinForms-way को बस फ़िट करने के बजाय स्क्रीन बनाने के "WPF मार्ग" को सीखना सुनिश्चित करें। यह कोडिंग का एक अलग तरीका है।

+0

जानकारी के लिए धन्यवाद। क्या आपके पास "डब्ल्यूपीएफ रास्ता" सीखने की कोई अच्छी लिंक/पुस्तक अनुशंसाएं हैं? – DanDan

+1

@DanDan - मैंने देखा है कि सबसे अच्छा मुफ्त ऑनलाइन संसाधन डॉ। डब्ल्यूपीएफ की वेबसाइट http://drwpf.com/blog/ पर है। हाय आइटम कंट्रोल ए-जेड के माध्यम से जाओ! मेरे लिए सबसे अच्छी किताब, हालांकि यह सबसे पुरानी भी है, एडम नाथन का डब्ल्यूपीएफ सैम पब्लिशिंग द्वारा खुलासा किया गया है। एचटीएच – Berryl

+0

@ बेरेल - एक अच्छा लिंक, अच्छा खोज! – DanDan

1

WinForms मर नहीं गया है। Google "Winforms सी # नौकरियां" और आपको बहुत कुछ मिल जाएगा। डब्ल्यूपीएफ गर्म सामान है लेकिन यह अभी भी अपेक्षाकृत नया है। यह आईएमएचओ के दो से तीन साल के लिए मुख्यधारा नहीं होगा।

+0

लेकिन ऐसा लगता है कि यह मुख्यधारा बन जाएगा? तो मुझे इसे जल्दी या बाद में सीखना होगा, ऐसा लगता है :) – DanDan

+2

डेस्कटॉप/मोटी-क्लाइंट स्पेस में लंबे समय तक रहें और हां, आपको निश्चित रूप से WPF सीखना होगा। –

2

WinForms शायद कॉर्पोरेट वातावरण में आने के लिए लंबे समय तक रहेगा। वे कई उद्देश्यों के लिए काफी अच्छी तरह से काम करते हैं।कई परियोजनाएं WinForms पर आधारित हैं, और कई कंपनियां मिश्रण और मैच के बजाय परियोजनाओं की अवधि के लिए उस तकनीक के साथ रहेंगी।

ऐसा कहकर, डब्ल्यूपीएफ भविष्य है। यह एक बहुत अधिक कुशल, अधिक सक्षम यूआई तकनीक और सीखने के लायक है।

WinForms और WPF एक ही ऐप्लिकेशन में सह-अस्तित्व में हो सकता है। यह संभवतः एक कंपनी (या, और छोटे प्रमाण-अवधारणा परियोजनाओं) के साथ पेश होने का सबसे आम तरीका होगा।

+0

यहां सामान्य समझौता यह प्रतीत होता है कि डब्ल्यूपीएफ भविष्य होगा, और .NET डेवलपर के लिए एक महत्वपूर्ण टूल होगा। आपकी टिप्पणियों के लिए आभार! – DanDan

1

WinForms और WPF के बारे में यहां एक अच्छा blog post है। समग्र विचार बुद्धिमानी से चुनना है, जिसका अर्थ है कि एक दूसरे पर जीत नहीं है। प्रत्येक में सुविधाओं का एक अलग सबसेट है।

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

मैं व्यक्तिगत रूप से WPF पसंद करता हूं क्योंकि मैंने वेब डेवलपर के रूप में शुरुआत की और मार्कअप एक्सएएमएल को अधिक प्राकृतिक होने के लिए खोजा।

+0

धन्यवाद, महान लेख। – DanDan

1

मुझे लगता है कि यह अधिक मुख्यधारा बनने से पहले डब्ल्यूपीएफ सीखने के लिए निश्चित रूप से लायक है, हमेशा अपने कौशल में सुधार करना और नई प्रौद्योगिकियों का अनुभव और ज्ञान होना हमेशा अच्छा होता है, खासकर यदि भविष्य में डब्ल्यूपीएफ का व्यापक रूप से उपयोग किया जाना है।

साथ ही, फॉर्म बनाने के लिए xaml मार्क-अप लिखना बहुत अलग है, यह HTML लिखने से दस लाख मील दूर नहीं है और यदि आपने कोई वेब विकास किया है तो शायद आपके लिए प्रस्थान का अधिक नहीं होगा।

जबकि WinForms एक पुरानी तकनीक है जिसका मतलब यह नहीं है कि यह कभी गायब हो जाएगा, हमारे पास अभी भी ऐसे अनुप्रयोग हैं जहां मैं काम करता हूं जो वीबी 6 में लिखे गए हैं। हमारे विकास विभाग का केवल आधा हिस्सा .NET के साथ काम करता है - हम 3 टीमों में विभाजित हैं, एक टीम अभी भी .NET 1.1 का उपयोग कर रही है, एक और टीम .NET 2 का उपयोग कर रही है और जिस टीम पर मैं हूं, .NET 3.5 का उपयोग कर रहा हूं (आप कर सकते हैं कहें कि हम भाग्यशाली हैं!)

+0

मैं अभी डब्ल्यूपीएफ सीखने की प्रक्रिया में हूं। शायद मैं आखिरकार .NET 3.5 तकनीक पर बैंग अप हो जाऊंगा ... संभवतः दिन पहले .NET 4.0 आता है! – DanDan

+0

एक सिर शुरू करने के लिए बेहतर है! आप हमेशा .NET 2 से सीधे 4.0 तक कूदने का प्रयास कर सकते हैं, लेकिन 3.5 के आसपास से आप अब भी सीखने की बजाय सीखना शुरू कर सकते हैं जब तक कि आपके सिर को पाने के लिए और भी कुछ न हो :-) – TabbyCool

1

हमने एक नई परियोजना के लिए डब्ल्यूपीएफ का उपयोग शुरू किया और स्पष्ट रूप से, WinForms पर वापस जाना मुश्किल है। बहुत सारी चीजें जो मैं अब के साथ नहीं जा सकता।

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

कहा जा रहा है कि, अधिकांश पहलुओं पर WinForm से अभी भी काफी बेहतर है।

+0

मैंने केवल कुछ ही खर्च किया है इसके दिन, और यह मुझे अंदर खींच रहा है। मुझे नहीं पता कि मुझे डुबकी लेने में कितना समय लगा। – DanDan

1

हम एक नई परियोजना में WPF का उपयोग कर हम

नया आवेदन WinForms में विरासत कोड का एक बहुत कुछ शामिल है, शुरू करते हैं।

जब भी हम Winforms के पुराने संवाद का उपयोग करना चाहते हैं, यह संभव है।

जब आप WPF का उपयोग करते हैं तो आप वास्तव में Winforms पर वापस जाना नहीं चाहते हैं। यह जीयूआई सामान करने के लिए बस इतना आसान है कि आपको Winforms में बहुत समय लगता है।

किसी भी तरह से सामान सीखने और अपनी सभी क्षमताओं का उपयोग करने में सक्षम होने के लिए कुछ समय लगता है (केवल यूआई नहीं बल्कि डेटा बाइंडिंग और कमांड पैटेंस भी)।

किसी को अनुभव हुआ है कि पहले आर्किटेक्चर के साथ मदद कर सकते हैं बहुत उपयोगी हो सकता है।

2016 से
+0

मेरे पास मेरी मदद करने के लिए एक अच्छी किताब और ढेर ओवरफ्लो है :) – DanDan

+0

कोई समस्या नहीं है। यह सिर्फ अनुसूची जोखिम को कम करता है। शुभकामनाएं :) – tal

2

परिप्रेक्ष्य:

मैं नहीं अक्सर एक सवाल इस वर्ष के दौरान सुर वकील है, लेकिन सोचा था कि एक उपसंहार इस पर उपयुक्त हो सकता है। क्यूं कर? क्योंकि अब भी (2016), मैं कॉर्पोरेट वातावरण में डेवलपर्स को सुनता हूं अभी भी इस प्रश्न से पूछताछ।

हां, सात साल बाद, WinForms कॉर्पोरेट वातावरण में अभी भी जीवित है, और अभी भी माइक्रोसॉफ्ट द्वारा समर्थित है। Google Trends 2005 के मध्य से ब्याज में धीमी, स्थिर गिरावट दिखाता है, 2005 के एक तिहाई के बारे में वर्तमान ब्याज के साथ।

डब्ल्यूपीएफ ने 200 9 के बारे में एक स्पेशल बनाया, लेकिन नए यूआई विकास के लिए वास्तविक तथ्य के रूप में पूरी तरह से कभी नहीं लिया। Google Trends 2009-2011 से डब्ल्यूपीएफ ब्याज को दिखाता है, फिर WinForms से तेज़ी से गिर रहा है।वर्तमान खोज ब्याज 2011 के आधा है, लेकिन अभी भी लगभग डबल WinForms 'वर्तमान खोज ब्याज है।

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

तो आज, मैं दिल से एक वेब यूआई की ओर बढ़ने की अनुशंसा करता हूं, क्योंकि यह आपके ऐप के शेल्फ लाइफ को बेहतर बना सकता है - जिसे अक्सर कॉर्पोरेट वातावरण में बहुत लंबे समय तक चलने की आवश्यकता होती है। वैकल्पिक रूप से, यदि आप माइक्रोसॉफ्ट आधारित डेवलपर मोबाइल विकास कर रहे हैं, तो ज़ैमरिन एक नजर लायक है।

+1

हाँ - पूरी तरह से सहमत हैं। अगर मैं अब एक पालतू परियोजना बना रहा था, तो मैं केवल WinForms का उपयोग करता हूं क्योंकि यह वास्तव में आसान है। कुछ और जटिल और लंबे समय तक चलने वाला शायद पहले यूआई के आधार पर वेब यूआई पर जाना चाहिए। कुछ भी जो डेस्कटॉप पावर/सुरक्षा (जो प्रोग्रामों का एक बड़ा हिस्सा नहीं है) की आवश्यकता है, शायद इन दिनों क्रॉस प्लेटफ़ॉर्म को देखना चाहिए, इसलिए क्यूटी जैसी कुछ। मैं डब्ल्यूपीएफ से परेशान नहीं होगा - वेब तकनीक कहीं ज़िंदा है। – DanDan

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