2010-04-17 10 views
7

मैं पायथन का उपयोग करने में नया हूं। मैं पायथन का उपयोग कर विंडोज जीयूआई एप्लीकेशन विकसित करना चाहता हूं। कुछ शोध के बाद, मैंने पाया कि मैं 2 विकल्प हैं: -"आयरनपीथन + .NET" बनाम "पायथन + पीईक्यूटी"। विंडोज ऐप विकास के लिए कौन सा बेहतर है?

  1. IronPython + .नेट फ्रेमवर्क
  2. अजगर + PyQt

मैं जान सकती हूँ जो एक विंडोज अनुप्रयोग विकास के लिए बेहतर है? किस विकल्प में अधिक सुविधाएं हैं (उदा। डेटाबेस समर्थन, आदि)?

.NET समर्थन के अलावा, क्या आयरनपीथन और पायथन के बीच कोई बड़ा अंतर है? मेरे लिए कौन सा बेहतर विकल्प है?

धन्यवाद।

Patrick.L

उत्तर

3

सबसे पहले, वहाँ बहुत सारे 2 विकल्प (अजगर से आप पर एक छड़ी हिला कर सकते हैं और अधिक जीयूआई पुस्तकालयों है) की तुलना में अधिक हैं, लेकिन के एक मिनट के लिए अपने आधार पर चलते हैं। व्यक्तिपरक होने के नाते "बेहतर" सवाल पूछता है: "आप क्या सीखना चाहते हैं?"

यदि लक्ष्य विंडोज जीयूआई एप्लीकेशन डेवलपमेंट है, तो मैं नेट के साथ जाऊंगा। नेट का सम्मान किया जाता है, नेट प्रोग्रामर के लिए बहुत सारे काम हैं, और यह विंडोज केंद्रित प्रकृति है (हाँ मुझे पता है कि मोनो है लेकिन अभी भी) का मतलब है कि आप उपयोगकर्ता अपेक्षाओं के तीन + सेट के ब्योरे के बारे में सोचने की कोशिश नहीं कर रहे हैं।

यदि लक्ष्य व्यापक रूप से उपयोग किए जाने वाले पायथन पुस्तकालयों और तकनीकों को सीखना है, तो मैं पीईक्यूटी (और हाल ही में किया) के साथ जाऊंगा। यह क्रॉस-प्लेटफॉर्म है, सम्मानित है, और इसका एक बड़ा समुदाय है। लेकिन आप इस परियोजना के हिस्से के रूप में .Net मंच सीखने का मौका खो देते हैं।

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

1

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

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

3

पीईक्यूटी एक महान पुस्तकालय है, लेकिन .NET विंडोज के लिए जाने का सबसे अच्छा तरीका है। ऐसा इसलिए है क्योंकि आप किसी भी जीयूआई नियंत्रण का उपयोग कर सकते हैं कि सी # पाइथन में उपयोग करने में सक्षम होगा। इसके अलावा, WinForms के अलावा, IronPython का उपयोग WPF अनुप्रयोगों को बनाने के लिए किया जा सकता है, जो अच्छा दिखता है।

मुख्य अंतर विशेषताएं हैं, और पीईक्यूटी में अधिक क्रॉस-प्लेटफॉर्म विशेषताएं हैं, और .NET निश्चित रूप से विंडोज़ में बढ़त है।

5

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

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

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

शुभकामनाएं। यह एक बड़ा फैसला है।

4

दोनों PyQt (इंटरफेस के रूप में क्यूटी के लिए) और IronPython के साथ मेरे खेलने प्रति (WinForms के लिए एक इंटरफेस के रूप में) बैग मिश्रित है।

दोनों मूल रूप से अंतर्निहित प्लेटफार्मों के लिए "बाइंडिंग" कर रहे हैं। पीईक्यूटी क्यूटी के एपीआई से व्यावहारिक रूप से "स्वत: उत्पन्न" है और लिनक्स पर महत्वपूर्ण उपयोग के कारण थोड़ा अधिक "परिपक्व" एक रैपर के रूप में है।

आयरनपीथन थोड़ा गहरा हो जाता है और सीपीथन और नेट libs (gzip, ज़िप, subprocess आदि) के बीच छोटे unfilled अंतराल के साथ "rebox" सिस्टम ऑब्जेक्ट्स लगता है।

दोनों ही मामलों में, आप टूलकिट में अजगर के माध्यम से देख सकते हैं और यदि आप टूलकिट की तरह अपने आप को कहने के लिए की जरूरत है। ऑल पाइथन ऑब्जेक्ट्स में टूलकिट एपीआई को दोबारा कर रहा है। फिर, पायथन पहलू के बारे में भूल जाओ। अंतर्निहित टूलकिट एपीआई देखें और अपने आप को सोचें कि क्या आप इसके साथ रह सकते हैं।

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

अंत में, पीईक्यूटी (सीपीथन के लिए क्यूटी बाइंडिंग) और विन 32py (सीपीथन के लिए विंडोज एबीआई बाइंडिंग) के बीच एक और सही तुलना होगी। आयरनपीथन एक अलग मंच पर लगभग एक ही भाषा का पुनर्विचार है, जिसमें सभी समस्याएं (कार्यक्षमता की कमी) है जो इसके साथ आता है।

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