2011-03-26 11 views
7

के बारे में उलझन में है, मैं विंडोज़ के लिए डेस्कटॉप एप्लिकेशन बनाना चाहता हूं, मुझे पता है कि Win32 API और अन्य .net फ्रेमवर्क के आधार पर एक प्रकार का एप्लिकेशन है।एमएफसी/.net/WPF

तो एमएफसी, डब्ल्यूपीएफ, विनफॉर्म इत्यादि के साथ क्या है?

जो मैंने देखा है, वे ग्राफिकल एपीआई हैं, तो मैं अपने आवेदन के लिए कौन सा चयन करूंगा?

और क्या टेक्नोलॉजी के बारे में जानने के लिए कोई अच्छा संसाधन (जैसे किताबें) है?

उत्तर

20

एमएफसी मूल (अप्रबंधित) सी ++ में जीयूआई अनुप्रयोगों के निर्माण के लिए एक ढांचा है जिसे आपने कॉलेज में सी ++ सीखा है। .NET Framework C++/CLI, C#, VB.NET या कई अन्य भाषाओं में प्रबंधित कोड लिखने का समर्थन करता है। .NET Framework - Windows Forms और WPF पर डेस्कटॉप जीयूआई एप्लिकेशन बनाने के दो तरीके हैं। विंडोज फॉर्म पुराने हैं और अब सक्रिय विकास के तहत नहीं हैं। डब्ल्यूपीएफ नया है।

यदि आप सी ++ जानते हैं और .NET Framework के बिना मशीनों पर तैनाती करना चाहते हैं, तो एमएफसी एक अच्छी पसंद है। यह आधुनिक दिखने वाले यूआई बनाता है और विंडोज 7 फीचर्स का समर्थन करता है। यदि आप सी # सीखने के लिए तैयार हैं और .NET Framework के साथ मशीनों पर तैनाती करते हैं, तो WPF या Windows Form पर विचार करें। अपने मूल "बटन पर खींचें, हैंडलर को संपादित करने के लिए डबल-क्लिक करें, क्लिक हैंडलर में कुछ कोड टाइप करें" ऐप्स में उनके बीच कोई अंतर नहीं है। डब्ल्यूपीएफ के पास ग्राफिकल कूलनेस (ग्रेडियेंट्स, पारदर्शिता) और मल्टी-टच, विंडोज 7 गुड्स इत्यादि के लिए बेहतर समर्थन है। कुछ लोगों को सीखना मुश्किल लगता है, लेकिन मुझे लगता है कि ऐसा इसलिए है क्योंकि उन्होंने पहले से विंडोज़ फॉर्म को सीखा था। यदि आप कुछ भी नहीं शुरू कर रहे हैं तो आप या तो सीख सकते हैं और साथ ही साथ नए सीख सकते हैं।

एमएसडीएन के पास फ्रेमवर्क चुनने के बाद बहुत से "प्रारंभ करना" विषय हैं।

+1

+1, शानदार जवाब! यह बहुत अधिक बताता है :) –

+2

आप जीत फॉर्मों पर डब्ल्यूपीएफ का मुख्य लाभ भूल गए हैं: डब्ल्यूपीएफ ऐप रनटाइम (बी डिफॉल्ट) पर वीडियो एक्सेलेरेटर का उपयोग कर रहा है, न कि मुख्य सीपीयू। प्रदर्शन करने के लिए यह जानना बहुत महत्वपूर्ण है। – Liran

+1

@ कुछ प्रकार के अनुप्रयोगों के लिए लिरान, यह वास्तव में है। लेकिन "तीन टेक्स्टबॉक्स और बटन" के लिए आईएमओ के प्रकार नहीं। –