2010-05-09 14 views
20

में जीयूआई प्रोग्रामिंग कैसे सीखें इन दिनों मुझे एफ # सीखने में दिलचस्पी है, और जीयूआई अनुप्रयोगों के लिए इसका उपयोग करना चाहूंगा। दुर्भाग्य से मेरे पास .Net या C# में कोई पिछली पृष्ठभूमि नहीं है। सी # के माध्यम से बिना सीखने के लिए क्या कोई अच्छा संसाधन (वेब ​​साइट्स, किताबें) हैं?एफ #

अग्रिम में बहुत धन्यवाद।

+1

यह थोड़ा सा कहने जैसा है कि मैं एक पेंसिल के साथ पेंट कैसे सीख सकता हूं;) – Benjol

+4

@ बेंजोल: क्यों? मैं समझ सकता हूं कि आप मानते हैं कि जीयूआई प्रोग्रामिंग वीबी, सी #, जावा, डेल्फी आदि जैसे आईडीई में होना चाहिए। मुझे नहीं लगता कि यह एकमात्र तरीका है, और उत्तर अच्छे विकल्प देते हैं। बेहतर विचार हो सकता है कि एफ # को सी # के साथ एक लिंक में जोड़ना है, लेकिन फिर कार्यात्मक प्रतिक्रियाशील प्रोग्रामिंग इतनी खराब नहीं हो सकती है। आपकी क्या राय है? –

उत्तर

19

Real-world Functional Programming पुस्तक है कि मैं जॉन स्कीट के साथ लिखा था (विज्ञापन के लिए खेद है!) वस्तु उन्मुख भाषाओं में से कुछ मौजूदा ज्ञान (जैसे सी #) को उम्मीद है, लेकिन यह कुछ समय के लिए, सभी अधिक उन्नत सुविधाओं है कि सी # की तुलना में है बताते हैं उदाहरण, जावा।

इसमें WinForms का उपयोग करके जीयूआई प्रोग्रामिंग के कुछ उदाहरण हैं (एक और आधुनिक ढांचा WPF होगा, लेकिन कुछ अवधारणाएं अनिवार्य रूप से वही हैं)। तुम्हें पता है, कुछ उदाहरण पर एक नज़र ले जा सकते हैं क्योंकि वहाँ जीयूआई से संबंधित कुछ मुफ्त सामग्री:

  • Chapter 4 (संयोग से, एक नि: शुल्क नमूना :-) के रूप में उपलब्ध) दिखाता है कि कैसे का उपयोग कर सरल रेखांकन ड्राइंग के लिए एक आवेदन को लागू करने के बुनियादी सुविधाओं।
  • Programming user interfaces using workflows (नि: शुल्क अंश) एक उन्नत पैटर्न प्रतिक्रियाशील अनुप्रयोगों लिख जहाँ तक मुझे पता के रूप में (के रूप में मैं जानता हूँ कि, इस कहीं और ज्यादा विवरण में वर्णित नहीं है)

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

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

+0

क्या आप एफ # के साथ विजुअल स्टूडियो में विनफॉर्म/डब्ल्यूपीएफ डिजाइनर का उपयोग कर सकते हैं? –

+1

@ ब्लूराजा: सीधे नहीं, लेकिन आप डिज़ाइनर-जेनरेट कोड को रखने के लिए केवल एक सी # प्रोजेक्ट बना सकते हैं। यह पोस्ट देखें: http://stackoverflow.com/questions/2604589/seeing-c-windows-forms-project-code-from-f/2604735#2604735 –

+1

मुझे आपकी पुस्तक टॉमस मिली है और मैं कहूंगा कि यह एक है शुरू करने के लिए महान जगह। –

5

मुझे अभी वास्तविक दुनिया की कार्यात्मक प्रोग्रामिंग पुस्तक मिली है और यदि आप जीयूआई सामान के साथ एफ # मिश्रण करना चाहते हैं तो यह आपके लिए किताब है क्योंकि इसमें बहुत सारे उदाहरण हैं और यह इसमें सीधे कूदता है। मुझे यह मुख्य कारण मिला है :) ऑनलाइन मैं इस पर आया हूं और मुझे एफ #/डायरेक्टएक्स उदाहरण पसंद है। F#.NET tutorials and examples

5

मेरी किताब Visual F# 2010 for Technical Computing एक अध्याय WPF का उपयोग कर ग्राफिक्स के लिए समर्पित है और बुनियादी WPF नियंत्रण और एफ # इंटरैक्टिव से WPF के उपयोग को शामिल किया गया। The F#.NET Journal में कई लेख भी हैं जो WPF को कवर करते हैं (नीचे स्क्रॉल करें और कुछ डाउनलोड करने योग्य डेमो चलाएं)। हमारे F# News में अक्सर WPF- आधारित F # अनुप्रयोगों के साथ लघु ब्लॉग पोस्ट होते हैं, उदा। Game of Life in 32 lines of F#

2

गुई डिजाइनर ठीक है। लेकिन आप एक ही कोड को रखने के लिए एक एफ # कक्षा बना सकते हैं जैसा कि यह होगा। हाथों से फॉर्म कैसे कोड करना सीखना बहुत उपयोगी है। मैं कोड बनाने के लिए सी # डिजाइनर का उपयोग करने और फिर इसके साथ इंटरफेसिंग करने की विधि पर व्यक्तिगत रूप से अनुशंसा करता हूं (जो आवश्यक होने से कहीं अधिक जटिल होगा)। इसके अलावा, Winforms या WPF प्रोग्रामिंग के लिए सी # में मौजूद सभी वर्ग F # के लिए बिल्कुल समान हैं और जानबूझकर .net प्लेटफ़ॉर्म का उपयोग करके किसी भी भाषा में आसानी से उपयोग किए जाने के लिए डिज़ाइन किए गए हैं।

+1

धन्यवाद। मैंने आपके प्रश्न का उपयोग करके इस सवाल को पूछने के बाद, मेरी आकस्मिक रूप से आयरनपीथन का उपयोग करके पूछने का हिस्सा किया, इसलिए मैं दिल से सहमत हूं। –