2009-10-20 8 views
8

आधिकारिक मोनो प्रोजेक्ट वेबसाइट का कहना है कि मोनो विंडोज, लिनक्स और मैक ओएस एक्स पर सफलतापूर्वक काम करता है। क्या यह सच है?
मैं उन अनुप्रयोगों को बनाना चाहता हूं जो कम से कम विंडोज और लिनक्स पर काम करते हैं। क्या मोनो के साथ यह संभव है?

क्या मोनो वास्तव में क्रॉस-प्लेटफॉर्म है?

पीएस मुझे पता है कि समान विषय पहले से मौजूद हैं (उदा। Cross platform .Net?), लेकिन वे पुराने हो सकते हैं।

+5

एक सामान्य नियम के रूप में, कुछ जो प्लेटफार्म स्वतंत्र होने के लिए निर्धारित होता है, वह बेहतर * बेहतर * नहीं होगा, इसलिए यदि आपको तारीख की जानकारी मिलती है, तो भी आपको यह मानने में सक्षम होना चाहिए कि यह अभी भी कम से कम * कम होगा जैसा कि वह जानकारी कहती है। –

+1

इस लिंक को देखें .. इसी तरह के विषय पर कुछ रोचक चर्चा .. http://stackoverflow.com/questions/751648/whats-the-point-of-mono-on-windows .. – RameshVel

+1

हम इसके साथ रहने के लिए करते हैं हमारे उत्पाद ... – pablo

उत्तर

9

हां यह संभव है।

यह आम तौर पर काफी अच्छी तरह से काम करता है, लेकिन मुझे नहीं लगता कि मोनो पर कोई बड़ा/मध्यम पैमाने पर अनुप्रयोग हैं। several other apps हैं जिन्हें आप ब्राउज़ करना चाहते हैं।

चूंकि मोनो वास्तविक संगतता बनाए रखने के लिए असली चीज़ (.NET) का सबसेट है, तो आपको एक मोनो समर्थित प्लेटफॉर्म (जैसे लिनक्स) में विकसित होना पड़ सकता है, फिर एक बार यह वहां काम करने के बाद आप निश्चित रूप से निश्चित हो सकते हैं कि यह .NET पर काम करेगा। मैं यह कह रहा हूं क्योंकि हालांकि .NET के साथ अत्यधिक संगत, मोनो पूरी तरह से पूरे .NET स्टैक के साथ संगत नहीं है और other limitations भी है।

मैंने इस पर विकास किया है और उनमें से कई में ठोकर खाई है। मुझे आशा है कि आपकी परियोजना में मेरे जितने .NET निर्भरताएं होंगी।

+0

हां, मोनो का उपयोग करके लिखे गए गंभीर एप्लिकेशन हैं। गनोम डेस्कटॉप के साथ आपको प्राप्त होने वाले कई कार्यक्रम मोनो का उपयोग करके लिख रहे हैं। – Jesper

+1

मोनोडिफायर (आईडीई) काफी बड़ा है, और विंडोज, मैक और लिनक्स पर चलता है। और, जैसा कि मैं समझता हूं, वे विंडोज़ पर चलने के लिए बंशी (मीडिया प्लेयर) प्राप्त करने पर काम कर रहे हैं। – sgwill

+0

द्वितीय जीवन स्क्रिप्टिंग भाषा या विकिपीडिया खोज कार्यान्वयन कैसे बड़े पैमाने पर अनुप्रयोग नहीं हैं? हाँ, वे मोनो पर चलते हैं। – skolima

3

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

+1

मुझे यकीन नहीं है कि ओपी सिल्वरलाइट/मूनलाइट/वेब अनुप्रयोगों, लेकिन डेस्कटॉप अनुप्रयोगों के बारे में बात कर रहा है। डेस्कटॉप अनुप्रयोगों को क्रॉस-प्लेटफॉर्म करना आसान होना चाहिए। "एप्लिकेशन बनाना" का मतलब सिल्वरलाइट/मूनलाइट/डब्ल्यूपीएफ का मतलब नहीं है, लेकिन क्लासिक फॉर्म भी हो सकता है। –

+2

क्षमा करें, लेकिन क्लाइंटलाइट क्लाइंट अनुप्रयोगों के साथ क्या करना है? मैंने सोचा कि यह फ़्लैश-क्लोन का कुछ भाग्य था? इसके अलावा, System.Windows.Forms नामस्थान पूरी तरह से पोर्ट किया गया है, और जीटीके # बाइंडिंग भी लंबे समय से हैं। – Bobby

+0

मैं पूरी तरह से सहमत हूं कि मैं जो प्राप्त कर रहा था वह यह था कि आप केवल डब्ल्यूपीएफ एप्लिकेशन को लिनक्स पर काम करने की उम्मीद नहीं कर सकते हैं, और यहां तक ​​कि फॉर्म स्पेस के भीतर भी .net में Win32API बाइंडिंग और लिनक्स पर जीडीके # बाध्यकारी के बीच कुछ quirks हैं , जबकि ये समस्याएं वेब ऐप में इतनी अधिक मौजूद नहीं होती हैं। – lomaxx

2

मैंने अभी तक मोनो में बहुत कुछ नहीं किया है, लेकिन यह वास्तव में अच्छा काम करता है। मैं आपको लिनक्स के तहत विकसित करने का सुझाव दूंगा। फिर आप यह सुनिश्चित कर सकते हैं कि यह विंडोज़ पर भी काम करता है (जब तक आप हार्डकोडिंग पथ आदि जैसी बेवकूफ चीजें नहीं करते हैं)।

+0

आपने बहुत कुछ नहीं किया है लेकिन यह आपके द्वारा किए गए बहुत कम कामों के लिए वास्तव में अच्छा काम करता है? यह कैसे उपयोगी है? –

+1

इसमें यह दिखाता है कि भले ही मैंने मेगा-प्रोजेक्ट विकसित नहीं किया है, फिर भी मैंने मोनो में तुरंत "घर" महसूस किया। मैंने कुछ भी नहीं कहा "मैंने इसे कभी नहीं देखा है, लेकिन हाँ, यह 100% संगत है" - इसलिए यदि ज्यादा नहीं है, तो मेरे उत्तर में कम से कम मूल्य है। –

1

यह क्रॉस-प्लेटफार्म है, बस विंडोज़ पर विकास की गलती न करें और .NET पुस्तकालयों का उपयोग न करें जो मोनो में लागू नहीं हैं। उदाहरण के लिए, मोनो WebParts का समर्थन नहीं करता है, भले ही .NET करता है।

0

हां।

बेशक यह इस बात पर निर्भर करता है कि आप क्या विकसित कर रहे हैं, और आप इसे कैसे विकसित और परीक्षण करते हैं। यह स्पष्ट हो सकता है, लेकिन किसी भी मल्टी-प्लेटफ़ॉर्म ऐप को प्रत्येक प्लेटफॉर्म पर परीक्षण करने की आवश्यकता है जिसे आपको समर्थन देने की आवश्यकता है।

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

तुम भी हमेशा Environment.NewLine और Path.Combine का उपयोग कर की तरह, अधिक स्पष्ट विवरण के लिए और अधिक ध्यान देना होगा, लेकिन यह एक अच्छी बात है!

1

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

वेब सेवा कार्यान्वयन भी उत्कृष्ट है (वास्तव में आईआईएस में माइक्रोसॉफ्ट के कार्यान्वयन से बेहतर) और विंडोज, लिनक्स और मैक ओएस दोनों पर क्रॉस प्लेटफार्म काम करता है।

हालांकि, यदि यह सड़क है जिसे आप नीचे जाना चाहते हैं तो आपको मोनो के साथ अपने प्रोजेक्ट को दिमाग में बनाना होगा। विजुअल स्टूडियो में बनाए गए .NET प्रोजेक्ट्स संभवतः मोनो के तहत नहीं चलेंगे (संभावित रूप से महत्वपूर्ण) संशोधन क्योंकि सभी .NET पुस्तकालय लागू नहीं किए जाते हैं - हालांकि मोनो कोड विजुअल स्टूडियो में ठीक काम करेगा (मानते हैं कि वे किसी भी मोनो विशिष्ट पुस्तकालयों का आह्वान नहीं करते हैं - लेकिन यह स्पष्ट है कि जब आप मोनो में हैं तो ऐसा कर रहे हैं। * नेमस्पेस।)।

मोनो कमांड लाइन एप्लिकेशन मैक ओएस में भी ठीक काम करते हैं, लेकिन मैक ओएस पर विनफॉर्म कार्यान्वयन सीमित है, इसलिए यदि मैक ओएस एक विचार है तो आप एक्सकोड में देशी जीयूआई बनाने और सी # बैकएंड तक इसे तारों से बेहतर कर रहे हैं जैसा कि (विंडोज़ और लिनक्स के विपरीत) मैक ओएस पर मोनो का विनफॉर्म कार्यान्वयन उत्पादन की गुणवत्ता नहीं है।

यदि आप विजुअल स्टूडियो में क्रॉस प्लेटफॉर्म (विन/लिनक्स/मैक ओएस) ऐप्स बनाने में रुचि रखते हैं तो मैं दृढ़ता से आपको Delphi Prism की जांच करने की सलाह देता हूं। अन्य विकल्प हैं (मोनो डेवलपेट आईडीई, ग्रहण, टेक्स्टमैट) लेकिन मुफ्त में नहीं, हालांकि पकड़ना आसान है।

नोट: नाम क्या हो सकता है इसके विपरीत Delphi Prism आपको डेल्फी का उपयोग न करने पर, सी # में मोनो ऐप्स लिखने की अनुमति देता है। यह मैक ओएस जीयूआई के लिए मोनो ऐप्स को भी तारों को आसान बनाता है, लेकिन मैक ओएस पर पोर्टिंग करने के लिए अभी भी अतिरिक्त प्रयासों की आवश्यकता है (लेकिन लगभग ओबीजेसी को पोर्टिंग के रूप में नहीं!)।

आखिरकार, यह आपके लिए नहीं है, लेकिन आप में रुचि हो सकती है: आप GUI बनाने के लिए REALBasic जैसे कुछ का उपयोग करने पर विचार कर सकते हैं और पृष्ठभूमि में मोनो में बंडल किए गए ऐप्स का आह्वान कर सकते हैं (किस प्रकार के आधार पर ऐप आप काम कर रहे हैं, और यदि आप आरबी में बेसिक का उपयोग कर पेट नहीं कर सकते हैं)।

0

सॉर्ट करें, लेकिन इतना नहीं। कृपया ध्यान दें कि मोनो-प्रोजेक्ट साइट "अन्य" लिनक्स प्लेटफ़ॉर्म के अनुसार "असमर्थित" http://www.mono-project.com/Other_Downloads हैं।

जावास्क्रिप्ट और एचटीएमएल 5 और बाहर की तुलना में अधिक क्रॉस प्लेटफॉर्म है। हां, आप गेम (यूनिटी 3 डी) और वेब सर्वर ऐप (नोड.जेएस) और मोबाइल ऐप (एपसेलरेटर, एट अल)

मेरी सबसे अच्छी सलाह है, चांदी की बुलेट की तलाश करना बंद करें। जब तक आप इसे पाते हैं, यह कुछ और होगा।

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