2010-04-28 13 views
15

मैंने गहन पाठ्यक्रम के हिस्से के रूप में अभी दो विनफॉर्म अनुप्रयोगों को पूरा किया है। बस समग्र रूप से तकनीक के बारे में सोच रहा हूं ... क्या मुझे कुछ नया स्थानांतरित करना चाहिए, या WinForms अभी भी भविष्य के लिए व्यवहार्य है?WinForms सार्थक सीख रहा है? क्या यह पुराना है?

+0

** WPF **। 'निफ ने कहा। (इसके अलावा, यह StackOverflow के लिए एक बेहतर फिट हो सकता है)। – squircle

+9

सरकारी एजेंसियां ​​अभी भी वीएक्स और/या कोबोल का उपयोग कर रही हैं। सिर्फ इसलिए कि यह "पुराना" है इसका मतलब यह नहीं है कि इसका उपयोग नहीं किया जाता है। –

+0

ठंडा। मैंने सोचा कि मैं इसे पोस्ट करके स्टैक ओवरव्लो में लोगों को अपमानित कर सकता हूं। जानकार अच्छा लगा। – RedEye

उत्तर

12

मैं कहूंगा कि विंडोज़ फॉर्म फॉर्म-संचालित अनुप्रयोगों के लिए बहुत अच्छा है। एपीपी और ग्राफिक संचालित अनुप्रयोगों के लिए डब्ल्यूपीएफ/सिल्वरलाइट बहुत अच्छा है।

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

यदि आप वेब डेवलपर या डिज़ाइनर हैं, तो WPF में काम करना एक वेब पेज को डिजाइन करने के समान ही प्रतीत होता है क्योंकि आप एक्सएएमएल में काम करते हैं और इंटरफ़ेस पर बढ़िया नियंत्रण रखते हैं।

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

मेरी परियोजना के लिए मैं काम कर रहा हूं, यह केवल ब्राउज़र में इसे चलाने की क्षमता के कारण एसएल 4 में किया जाएगा, जैसे कि यह डेस्कटॉप ऐप था, इसे WPF पर बंदरगाह करने की आवश्यकता को समाप्त कर दिया गया था। किसी उपयोगकर्ता के कंप्यूटर पर सिल्वरलाइट ऐप इंस्टॉल करना सरल, सीधा है, और आपको अपने सभी मौजूदा कोड और स्वचालित अपडेटिंग का उपयोग करने का अतिरिक्त लाभ देता है।

+1

बस उत्सुक ... क्या एक चांदी की रोशनी एपी मैक/ओएस पर चल सकती है? – RedEye

+1

@RedEye हां। हमारे पास अंतिम बीटा में सिल्वरलाइट ऐप है जिसे पीसी पर सफारी (पीसी और मैक दोनों) के साथ-साथ क्रोम, आईई, एफएफ इत्यादि पर भी परीक्षण किया गया है। बहुत अच्छा काम करता है। –

+0

ठंडा है। धन्यवाद माइकल। – RedEye

2

यह सब इस बात पर निर्भर करता है कि आप कहां काम करते हैं और आप किस पर काम करते हैं।

यदि आप नौकरी पाने में कामयाब होते हैं जहां वे कुछ नया विकसित कर रहे हैं तो उत्तर "नहीं" होगा क्योंकि मुझे उम्मीद है कि वे WPF या Silverlight का उपयोग करेंगे।

यदि, हालांकि, आपको एक नौकरी मिलती है जहां वे मौजूदा एप्लिकेशन का समर्थन कर रहे हैं तो उत्तर "हां" होगा - भले ही वे इसे परिवर्तित कर रहे हों, क्योंकि आप थोड़ी देर के लिए पुराने एप्लिकेशन का समर्थन करेंगे।

3

मैं कहूंगा कि WinForms जानना अच्छा है, लेकिन मैं अधिक समय WPF में निवेश करूंगा। डब्ल्यूपीएफ में सिल्वरलाइट के साथ समानताएं हैं और इससे आपको काम करने के लिए नींव मिल जाएगी।

कहा जा रहा है, यह जानने के लिए अधिक :)

2

दोनों प्रौद्योगिकियों उनके strenghs और कमजोरी है दर्द होता है कभी नहीं।

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

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

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

2

ठीक है अगर आप रंग और उपयोगकर्ता अनुभव के साथ भयानक हैं :) WPF आपके लिए है।

यदि दूसरी तरफ आप मेरे जैसे हैं और आप केवल 8-बिट रंगों को पहचान सकते हैं: पी आप WinForms का उपयोग करके खुद को पा सकते हैं। यह डब्ल्यूपीएफ पर यह लाभ है कि आप यूआई के बारे में ज्यादा सोचने के बिना आवेदन क्रैंक कर सकते हैं - और यह अभी भी प्रयोग योग्य होगा और अच्छा लगेगा।

डब्ल्यूपीएफ आपको बड़ी शक्ति देता है, और बड़ी शक्ति के साथ बड़ी ज़िम्मेदारी आती है।

+2

मैं कठोर टिप्पणी के लिए -1 दे दूंगा लेकिन हे, मुझे भी मुझे कीमत चुकानी होगी :) –

+1

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

1

इसे सीखने के लिए बहुत कम समय की आवश्यकता है, इसलिए मुझे लगता है कि यह वास्तव में इसके लायक है। WinForms का उपयोग करने वाला पैटर्न कई अन्य ढांचे द्वारा भी उपयोग में है, इसलिए आप इसे सीखकर कुछ खोना नहीं चाहेंगे।

और यदि आपके पास कुछ आधार है तो WPF शायद आसान है।

1

मैं कहूंगा कि अगर आप अभी शुरू कर रहे हैं, तो डब्ल्यूपीएफ शायद आपकी ऊर्जा पर ध्यान केंद्रित करने के लिए क्या है। उसने कहा, मैं वर्तमान में विनफॉर्म प्रोजेक्ट पर काम कर रहा हूं, और पिछले साल 2 नए लोगों की शुरुआत की, और यह ठीक काम करता है।

5

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

+2

आपका मतलब था "वहां (शायद) भविष्य में कुछ सालों का समय होगा जब WinForms अनुप्रयोगों को विरासत अनुप्रयोगों के रूप में माना जाएगा"। –

2

जो कुछ कहा गया है, उसे जोड़ने में, मुझे लगता है कि Winforms के कुछ ज्ञान हमेशा छोटे खिलौने के अनुप्रयोगों को बनाने के लिए उपयोगी होते हैं, या उस तरह की चीजें फेंकते हैं।

+1

शायद प्रोटोटाइप करने के लिए एक त्वरित और आसान तरीका है? – RedEye

+1

तेजी से आवेदन विकास के लिए निश्चित रूप से अच्छा है। – ulty4life

2

सभी प्रचार में खरीद न करें। मेरा ग्राहक WinForms विकास की मांग जारी रखता है। हम जल्द ही एक पूरी नई परियोजना शुरू कर देंगे और यह WinForms, C#, NHibernate है। यह सही है, यह वेब, जावास्क्रिप्ट, AJAX, क्लाउड, मेट्रो, डब्ल्यूपीएफ, चांदी की रोशनी, ब्ला ब्ला नहीं है।

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

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

आईएमओ में WinForms 3 कांटा, खुली सोर्स और उचित क्रॉस-प्लेटफ़ॉर्म समर्थन के लिए एक आंख के लिए जगह है।

+0

बीटीडब्ल्यू कि ढांचा https://github.com/picoe/Eto है –

0

कई कंपनियों को वेब-आधारित पर उनके समाधान को माइग्रेट करने का अनुभव मिलता है। कंपनियां नए समाधान विकसित किए बिना वेब के माध्यम से अपने सॉफ़्टवेयर को वितरित करने के लिए सिट्रिक्स और ऐप-वी जैसी वर्चुअलाइजेशन तकनीकों का उपयोग करती हैं।

यदि आप पहले ही एएसपी.NET कर रहे हैं तो WinForms सीखना काफी आसान होगा।

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