.NET पर मेरी निर्भरता कैसे समाप्त करें? [बन्द है]


10

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

मैं रूबी सीख रही हूं और सिर्फ पायथन स्थापित किया है। मैंने WxRuby के बारे में पढ़ा, जो कि विंडोज़ GUI ऐप को विकसित करने की एक रूपरेखा है। रूबी में। मैं पायथन के लिए एक समान रूपरेखा खोज रहा हूं।

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

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


5
असली शर्म की बात है कि Microsoft ने सिर्फ बेतरतीब ढंग से IronPython और IronRuby को तय किया। मुझे नहीं लगता कि वे वास्तव में समझते हैं कि उन्होंने ऐसा करने के लिए उद्योग / समुदाय को किस तरह के परेशान संदेश भेजे थे।
री मियासका

2
@ महमूद ने इस पर पैसा खर्च करना बंद कर दिया; वे अभी समुदाय को इसे चलाने दे रहे हैं। प्रमुख डेवलपर, जिम हगुनिन, अब Microsoft से इस पर काम नहीं कर सकते थे, इसलिए स्वाभाविक रूप से, उन्होंने कंपनी को भी छोड़ दिया: hugunin.net/microsoft_farewell.html
Rei Miyasaka


9
@ थोमस यह अभी भी खाई है। सिर्फ इसलिए कि मैं अपनी प्रेमिका को खोदने का मतलब यह नहीं है कि वह अब मौजूद नहीं है या अब व्यवहार्य नहीं है ... जो भी हो इसका मतलब हो सकता है।
री मियासाका

2
@ री, जहां तक ​​आप चिंतित हैं, वह अब मौजूद नहीं है :) डिक्लेड उस एकल पट्टी का एक तरफ़ा टिकट है जहां आप MSDOS, FoxPro, VB6, Silverlight, Flight Sim, IronPython और IronRuby के साथ घूम सकते हैं और बता सकते हैं पुराने दिनों में आपको कितना प्यार मिला इसकी दास्तां।
gbjbaanb

जवाबों:


14

Qt की जाँच करें।

यह यकीनन .NET जितना समृद्ध है, और IDE (QtCreator) सरल है, फिर भी बहुत शक्तिशाली है। बेशक, यह देशी C ++ पर बेहतर उपयोग किया जाता है, लेकिन पायथन बंधन को पूर्ण और अद्यतित रखा जाता है।

इसके शीर्ष पर, यह वास्तव में crossplatform है, और इसमें मोबाइल प्लेटफ़ॉर्म भी शामिल हैं :-)


1
Qt को एक देशी C ++ सिस्टम दिया जाना कठिन है, क्योंकि इसे बनाने से पहले एक अलग कंपाइलर की आवश्यकता होती है। हालांकि यह एक बुरा सिस्टम नहीं है।
बिली ओनली

1
बिल्कुल नहीं, इसका "मूल" के रूप में "मशीन भाषा के लिए सीधे संकलित करता है, कोई बायटेकोड / वीएम / जेआईटी नहीं है", साथ ही: "कोई मंच अनुकरण परत नहीं, परिणामी कोड ओएस-विशिष्ट है"। mocprecompiler कुछ विशिष्ट कोनों में सरल दिखने कोड बनाने के लिए कुछ वाक्य रचना चीनी से ज्यादा कुछ नहीं है (ज्यादातर संकेत हैंडलिंग); यह सी प्रीप्रोसेसर के रूप में लगभग उसी स्थान पर संकलन श्रृंखला को फिट करता है। यह कुछ सी ++ सुविधाओं को संकलक भर में स्थिर होने से पहले एपीआई स्थिरीकरण की ज्यादातर ऐतिहासिक कलाकृति है
जेवियर

निष्पक्ष होने के लिए, मोक में गतिशीलता है कि सी ++ में इन दिनों भी कमी है।
तमसे सजेले

6

खैर, wxRuby wxWidgets के लिए सिर्फ एक रूबी बंधन है , एक भयानक क्रॉस-प्लेटफ़ॉर्म GUI टूलकिट। पायथन के लिए एक समान बाइंडिंग है जिसे wxPython कहा जाता है, साथ ही कई अन्य भाषाओं के लिए बाइंडिंग है।


विगेट्स वहाँ हैं, लेकिन वे कोर भाषा के साथ कितने सहज हैं? सामुदायिक समर्थन कितना सक्रिय है?
RPK

1
@RPK - आपके पास पायथन या रूबी के साथ किसी भी GUI टूलकिट का उपयोग करते हुए एक काफी छोटा समुदाय होगा। wxPython समुदाय हालांकि रूबी से बड़ा है; रूबी के समुदाय में अब रेल का प्रभुत्व है, लेकिन पायथन में अधिक स्पष्ट विविधता है।
जेरेमी

@ जेरेमी रूबी का समुदाय रेल पर हावी नहीं है, लेकिन यह धारणा देता है कि यह एक शर्म की बात है।
वैकल्पिक

5

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

जावा, डेल्फी या देशी Win32 प्रोग्रामिंग भी हैं। उन में से कोई भी विंडोज़ पर GUI ऐप विकसित करने के लिए उपयुक्त है। नेटिव Win32 कोड (अभी भी?) विज़ुअल स्टूडियो के माध्यम से लिखा जा सकता है, लेकिन कोई .NET निर्भरता नहीं है।


4
डेल्फी के लिए +1। .NET के सामान के बिना तेज, देशी 32-बिट विंडोज ऐप्स का निर्माण करें। 64-बिट संस्करण शायद 2011 में कभी-कभी आता है।
tcrosley

1
Java GUI की गति धीमी है? वह कहाँ सिद्ध है?
टिम विस्क्राफ्ट 11

9
@ टीम विलिसक्रॉफ्ट - एसडब्ल्यूटी तेज है लेकिन ज्यादातर स्विंग ऐप कुछ हद तक सुस्त हैं। इतना स्पष्ट है कि मैं इसे साबित करने की आवश्यकता की कल्पना भी नहीं कर सकता।
जेरेमी

1
@ जेरेमी मैं आपके बेहतर ज्ञान को नमन करता हूं। मैं बहुत शर्मिंदा हूं, मैं इसे सालों से गलत कर रहा हूं लेकिन अब मुझे पता है।
टिम विस्क्राफ्ट 11

2
Native win32 ठीक है। त्वरित विकास के लिए महान नहीं है, लेकिन यह कठिन नहीं है।
पॉल नाथन

5

HTML5 और जावास्क्रिप्ट।

काश मैं मजाक कर रहा होता, लेकिन मैं नहीं

यह सोचने के लिए डरावना है कि आधे साल पहले किसी के पास इसका जवाब नहीं था।

उदास...


एक या दो साल पहले, मैंने प्रोग्रामर्स पर टिप्पणी की थी कि Microsoft ने VB6 को स्नान के पानी से बाहर फेंक दिया था और वे .NET के समान ही कर सकते थे। किसी ने मुझे जवाब दिया और लिखा कि एमएस कभी भी नहीं खोलेगा। खैर, आश्चर्य, आश्चर्य! यही कारण है कि मैं स्वतंत्रता सॉफ्टवेयर और खुले स्रोत समुदायों के साथ रहना चाहता हूं। यदि .NET खुला स्रोत होता, तो MS का व्यवहार उतना मायने नहीं रखता था, क्योंकि समुदाय आगे की रूपरेखा ले सकता था।
सिस्टमोविच

1
मोनो ने बड़े पैमाने पर पकड़ बनाई है। समस्या यह है कि इसके बारे में कलंक और राजनीति अन्य कंपनियों के लिए इसे आराम से अपनाना असंभव बना देती है। वही कहानी जावा, जो के लिए लागू होता है खुला स्रोत, सूर्य गूगल पर मुकदमा करने की कोशिश कर रहा है। अंतर यह है कि Google को उम्मीद नहीं थी कि सूरज उन पर मुकदमा करेगा। हर किसी को उम्मीद है कि Microsoft उन पर मुकदमा करेगा, और इसलिए भले ही उन्होंने कसम नहीं खाई हो, लोग .NET / मोनो / ECMA C # से बचते हैं। वास्तव में, यह खुले स्रोत बनाम कुछ भी नहीं है; यह एमएस के बारे में पूरी तरह से अपना सिर खो दिया है। लगभग सभी सॉफ्टवेयर अपने मुख्य योगदानकर्ताओं के पागल होने या ऊब जाने, खुले या न जाने का जोखिम उठाते हैं।
री मियासाका

+1 क्योंकि यह एचटीएमएल 5 और जेएस को ब्राउज़र से सीधे देशी डेस्कटॉप एप्लिकेशन में पोर्ट करने में सक्षम है। अब हमारे पास एक ओपन सोर्स प्लेटफॉर्म के तहत वेब, मोबाइल ( फोनगैप का उपयोग करके ) और विंडोज़ 8 हैं!
रेयनोस

1
आपके द्वारा लिंक किए गए लेख का अंत बताता है कि एमएस अपने विशाल डेवलपर आधार को छोड़ने और / या उन्हें HTML5 + JS में सभी कोड बनाने के लिए नहीं जा रहा है, और यह किसी भी अन्य की तुलना में पीआर gaff से अधिक है।
स्कॉट व्हिटलॉक

@ScottWhitlock यह केवल Microsoft है जो आपके द्वारा उपयोग किए जा सकने वाले टूल का विस्तार कर रहा है, बिना किसी मौजूदा टूल के इसे डिप्रेक्टिंग या ड्रॉपिंग सपोर्ट के। यह Microsoft इको सिस्टम में अधिक डेवलपर्स में खींचने का एक शानदार तरीका है।
रेयनोस

4

याद रखें कि हार्ड-कोर गैर-Microsoft गैर-ऐप्पल लोग कमांड-लाइन संचालित हैं, और जीयूआई डिज़ाइन वहां काफी बेकार है। वे कुछ हद तक, HTML में GUI को समझौता और बनाने के लिए ब्राउज़रों द्वारा उपभोग किया जाएगा, लेकिन यह उनके ग्राहकों के लिए है, खुद के लिए नहीं।

यदि आप GUI दुनिया में रहना चाहते हैं, तो मुझे लगता है कि आप Apple को देखना चाहते हैं या Windows पर .NET के साथ रहना चाहते हैं।

समझ में आता है?

HTH


4
यह कड़ाई से सच नहीं है। * निक्स दुनिया में, हमारे पास काफी बड़े पैमाने पर GUI का उपयोग और उपयोग है।
ग्रेफेड

@ क्रिस्टोफर: मुझे पता है और इसके बारे में बिल्कुल पता है। उदाहरण के लिए, ओरेकल लें। वे HTML GUI के साथ बाहर आए, जो बहुत धीमा है। मैं केवल नकारात्मक नहीं देख रहा हूं, शायद Oracle को कमांड-लाइन के माध्यम से बहुत अच्छी तरह से प्रबंधित किया जा सकता है।
आरपीके

@RPK: IIRC, Oracle 9i में एक अद्भुत प्रशासन उपकरण था, जो एक GUI डेस्कटॉप ऐप था। मैंने इसे कमांड-लाइन प्रशासन के लिए बहुत पसंद किया। Oracle 10g ने इसे वेब पेज के रूप में लागू किया, जो लगभग उतना अच्छा नहीं था।
डेविड थॉर्नले

1
लिनक्स डेस्कटॉप पर GTK काफी लोकप्रिय है, और अन्य GUI टूलकिट हैं। मुझे लगता है कि जीयूआई के बिना एक डेस्कटॉप चलाने के लिए इसका सामान्य बिल्कुल भी नहीं है, भले ही आप बहुत सारे कार्यों के लिए टर्मिनल का उपयोग करें; हालांकि * निक्स सर्वर आप आमतौर पर एक कमांड लाइन के माध्यम से सब कुछ करेंगे।
जेरेमी

2
+1 क्योंकि मैं उस टिप्पणी से मिलता-जुलता हूं। आमतौर पर, GUI प्रोग्रामिंग I do वेब-ऐप से संबंधित है। मैं उस डिज़ाइन की डिग्री को सहज, सरल और स्पष्ट बनाकर काम करने के लिए एक सचेत प्रयास करता हूं, लेकिन मेरा खुद का कंप्यूटिंग अनुभव कुछ ऐसा है जैसे 80% Emacs, 15% ब्राउज़र, 6% अन्य (1% त्रुटि के साथ) ।
इनामाथी

3

मैं आपकी स्थिति में जावा की सिफारिश करूंगा।

कारण:

  • यदि आप .NET जानते हैं, तो आप जावा के साथ अपेक्षाकृत सहज होंगे (सी # काफी हद तक जावा और कई सम्मेलनों से प्रेरित था और यहां तक ​​कि पुस्तकालय के नाम भी बहुत समान हैं)
  • जावा में कुछ प्रभावशाली जीयूआई क्षमताएं हैं (भले ही वे व्यापक रूप से स्वीकृत न हों)। सबसे अच्छा क्रॉस-प्लेटफ़ॉर्म GUI टूलकिट्स मेरी राय में हैं स्विंग (जो कि पूरी तरह से क्रॉस-प्लेटफ़ॉर्म है, एक सुसंगत नज़र और महसूस के साथ) और SWT (जो कि मूल घटकों का भी दोहन करता है, जैसे कि एक्लिप्स द्वारा उपयोग किया जाता है)। JavaFX 2.0 भविष्य के लिए आशाजनक है।
  • दोनों के लिए "GUI बिल्डर" प्रकार के बहुत सारे उपकरण हैं (आम तौर पर उदाहरण के लिए उपलब्ध IDE प्लग-इन जैसे नेटबीन्स या क्लाउड)
  • यह शायद व्यक्तिगत पसंद की बात है, लेकिन मैं तर्क दूंगा कि Netbeans या Eclipse, विज़ुअल स्टूडियो की तुलना में समग्र रूप से बेहतर IDE हैं, और निश्चित रूप से आप किसी अन्य भाषा या प्लेटफ़ॉर्म के लिए अधिक सक्षम हैं।
  • जावा प्लेटफॉर्म / इकोसिस्टम सामान्य रूप से पुस्तकालयों और उपकरणों की विशाल विविधता के लिए एक शानदार जगह है, खासकर अगर आपको खुला स्रोत पसंद है।

वैकल्पिक रूप से, यदि आप रोमांच महसूस कर रहे हैं, तो आप स्काला या क्लोजर जैसी नई अभिनव जेवीएम भाषाओं में से एक का प्रयास कर सकते हैं ....।


3
इसके अलावा जावा डेवलपर्स सॉफ्टवेयर लिखने के लिए उचित तरीके से गति करने के लिए और अधिक हो जाते हैं, जबकि कई अधिक .NET लोग डिजाइन पैटर्न, SOLID, आदि को लागू किए बिना कोड स्लिंग कोड
वेन मोलिना

-1

अजगर GUI के लिए ठीक काम करता है। आप PyQt, PyGTK, WxPython आदि पर एक नज़र डाल सकते हैं। वे सक्रिय रूप से GUI विकास (लिनक्स में) के लिए उपयोग किए जाते हैं और क्रॉस-प्लेटफ़ॉर्म कहा जाता है।


-4

अन्य प्रोग्रामिंग भाषाओं में देखें, जो .Net रनटाइम के साथ काम करती हैं, जैसे आयरनरुबी और आयरनपिथॉन। अगला, मोनो परियोजना देखें

ये चरण आपको अपने .Net आराम क्षेत्र से बाहर निकलेंगे और लिनक्स पर विकसित करेंगे। वहां से, यह UNIX- शैली के विकास पर एक छोटी छलांग है।


5
-1 क्योंकि वह सवाल में कहता है "मैं
आयरनप्यटन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.