विंडोज़ के लिए प्रोग्रामिंग जीयूआई शुरू करने के लिए एक अच्छी जगह कहां है?

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

0
ro fr bn

9 उत्तर

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

0
जोड़ा

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

0
जोड़ा

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

हाल ही में एक अच्छा पॉडकास्ट था। नेट रैक्स को "केट ग्रेगरी विस्टा के लिए सी ++ में विकसित करता है! " पर वह सिफारिश करती है कि अब शुरू करने वाले किसी व्यक्ति को एमएफसी का उपयोग / सीखना नहीं चाहिए (भले ही इसे हाल ही में अपडेट किया गया हो)।

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

0
जोड़ा

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

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

@StephenCox: गलत सवाल का गलत जवाब। ओपी डेस्कटॉप क्लाइंट ऐप्स के बारे में पूछ रहा है, और इसके अलावा, डब्ल्यूपीएफ! = सिल्वरलाइट।

0
जोड़ा

अपनी मूल बातें पहले प्राप्त करें। मैंने पाया है कि सर्वश्रेष्ठ ट्यूटोरियल है: http://winprog.org/tutorial/start.html

उसके बाद, हालांकि मुखपृष्ठ घृणित रूप से अशिष्ट है, ट्यूटोरियल पेज सामग्री और सौंदर्यशास्त्र में अच्छे हैं: http: // www .tenouk.com / cplusmfcdotnet.html

फिर निश्चित रूप से MSDN है।

0
जोड़ा

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

0
जोड़ा
बंद बॉक्स और एकल कंपनी बिल्कुल समस्या नहीं है। आपके द्वारा काम किए जाने वाले बॉक्स के बावजूद अभी भी आपके कोड को पोर्ट करने में सक्षम होने का जोखिम नहीं चला है। सिल्वरलाइट या फ्लैश से बचने के लिए अन्यायपूर्ण एफयूडी एक तर्क नहीं है।
जोड़ा लेखक OJ., स्रोत

यह एक बड़ा सवाल है, क्योंकि विंडोज़ में प्रोग्रामिंग जीयूआई अनुप्रयोगों को कई तरीकों से किया जा सकता है।

किसी भी जीयूआई ऐप को विकसित करने के लिए दो मुख्य भाग हैं: भाषा और API / ढांचे । ध्यान दें कि आप विंडोज जीयूआई ऐप्स बनाने के लिए सीखने में रुचि रखते हैं, भाषा वास्तव में आपके लिए फोकस का मुद्दा नहीं है। इसलिए, आपको एक ऐसी भाषा चुननी चाहिए जिसे आप पहले से जानते हैं और एक ढांचे या एपीआई के साथ काम करते हैं जिसे आपकी चुनी भाषा द्वारा उपयोग किया जा सकता है।

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

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

एमएफसी और विन 32 एपीआई से निपटने पर, कोड लिखने से पहले शब्दावली की ठोस समझ को आजमाने और प्राप्त करने का एक अच्छा विचार है। उदाहरण के लिए, आपको यह समझने की आवश्यकता है कि संदेश पंप क्या है, और यह कैसे काम करता है। आपको " स्वामी-तैयार नियंत्रण" जैसी अवधारणाओं के बारे में जानने की आवश्यकता है, और < a href = "http://msdn.microsoft.com/en-us/library/ms997565.aspx" rel = "noreferrer"> subclassing । जब आप इन चीजों को समझते हैं (और अधिक), तो आपको एमएफसी के साथ काम करना आसान लगेगा क्योंकि यह अपने वर्ग इंटरफेस में समान शब्दावली का उपयोग करता है (उदाहरण के लिए आपको यह जानने की जरूरत है कि "अनुवाद संदेश" का अर्थ क्या है, इससे पहले कि आप समझ सकें कि कैसे और कब PreTranslateMessage का उपयोग करें)।

आप .NET GUI अनुप्रयोगों को लिखने के लिए प्रबंधित C ++ का भी उपयोग कर सकते हैं, लेकिन मैंने कुछ स्थानों पर पढ़ा है कि प्रबंधित C ++ वास्तव में इस तरीके से उपयोग नहीं किया गया था। इसके बजाय इसे देशी / अप्रबंधित कोड और प्रबंधित कोड के बीच गेटवे के रूप में उपयोग किया जाना चाहिए। यदि आप .NET का उपयोग कर रहे हैं तो अपने जीयूआई बनाने के लिए .NET भाषा जैसे VB.NET या C# का उपयोग करना सबसे अच्छा है।

तो यदि आप हैं .NET का उपयोग करने जा रहे हैं, तो आपके पास वर्तमान में WinForms लाइब्रेरी, या wpf । मैं व्यक्तिगत रूप से महसूस करता हूं कि आप WinForms अनुप्रयोगों को बनाने के लिए सीखने में समय बर्बाद कर देंगे क्योंकि डब्ल्यूपीएफ को इसे बदलने के लिए डिज़ाइन किया गया है। समय के साथ डब्ल्यूपीएफ अधिक प्रचलित हो जाएगा और विनफॉर्म अधिकतर मर जाएंगे। डब्ल्यूपीएफ में एक बहुत ही समृद्ध एपीआई सेट है, और Winforms करता है कि कई सीमाओं से पीड़ित नहीं है। यदि आप इस मार्ग का चयन करते हैं, तो आपको इसमें कोई संदेह नहीं होगा कि XAML , जो एक मार्कअप भाषा है जो wpf अनुप्रयोगों को चलाती है। यह तकनीक उम्र के आ रही है, और इसके बारे में जानने के लिए कई महान जगहें हैं। सबसे पहले, ऐसी साइटें हैं जैसे LearnWPF , और DrWPF जिसमें कुछ वाकई महान लेख हैं। दूसरा, वहाँ भरपूर हैं। com / amzn / क्लिक / 05 9 6510373 "rel =" noreferrer "> गुणवत्ता पुस्तकें विषय पर।

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

एक अंतिम नोट के रूप में ...

दूसरे शब्दों में, सिल्वरलाइट। यदि आप एमएस रूट नहीं जाना चाहते हैं तो आप एडोब के फ्लैश / फ्लेक्स को एक लुक देखेंगे। सिल्वरलाइट और फ्लैश / फ्लेक्स दोनों आरआईए का निर्माण करते हैं। जो मुझे लगता है वह है जहां हम आगे बढ़ रहे हैं। वे ऑफिस जैसे कार्यालयों के दिन गिने जाते हैं

मैं बिल्कुल सहमत नहीं हूं। सिल्वरलाइट wpf के समान नहीं है। सिल्वरलाइट वेब-विशिष्ट है, और केवल wpf की सुविधाओं का सबसेट है। यह देखते हुए कि सवाल विंडोज जीयूआई ऐप्स के लिए पूछता है, फ्लैश / फ्लेक्स रिच इंटरनेट ऐप वास्तव में एक उपयुक्त सुझाव नहीं हैं। मैं यह भी सहमत नहीं हूं कि रिच क्लाइंट एप्लिकेशन (जैसे कार्यालय) के दिन गिने गए हैं।

मुझे आशा है कि वह मदद करेंगे। सौभाग्य :)

0
जोड़ा
यदि आप सी ++ से Win32 एपीआई का उपयोग करना चाहते हैं, तो डब्ल्यूटीएल भी है। wtl.sourceforge.net देखें
जोड़ा लेखक Roger Lipscombe, स्रोत
पेटज़ोल्ड और रिचर के लिए +1।
जोड़ा लेखक David Sebastian, स्रोत

"ईवेंट-संचालित" प्रकृति के आस-पास अपना सिर प्राप्त करने के लिए एक सरल प्रारंभिक बिंदु के लिए मूल रूप से सभी ढांचे को FLTK </एक>।

Here are some quick starting videos

Link

पेशेवर उपयोग के लिए मैं क्यूटी की महंगी सलाह देता हूं, लेकिन वाणिज्यिक परिस्थितियों में अक्सर इसका मूल्यवान होता हूं।

0
जोड़ा

ऑनलाइन Win32 ट्यूटोरियल के बहुत सारे हैं:

http://www.zeusedit.com/forum/viewtopic.php?t= 1218

इनमें से चुनने के लिए बहुत सारे कंपाइलर हैं:

http://www.zeusedit.com/forum/viewtopic.php?t= 238

मैं WinHelp फ़ाइल प्रारूप में बोर्लैंड Win32 SDK दस्तावेज़ प्राप्त करने की भी अनुशंसा करता हूं:

http://www.zeusedit.com/forum/viewtopic.php?t= 7

यह केवल Win32 की नंगे मूलभूत बातें शामिल करता है, लेकिन जब शुरू होता है, तो यह सहायक हो सकता है क्योंकि यह एमएसडीएन की तुलना में कम कठिन और कम फूला हुआ है।

0
जोड़ा