जवाबों:
अद्यतन : चूंकि मैंने दो साल पहले यह उत्तर लिखा था, इसलिए हमने मोनो को एंड्रॉइड पर चलाने के लिए प्रोडक्ट किया। कार्य में कुछ चरण शामिल थे: मोनो को एंड्रॉइड में पोर्ट करना, इसे विज़ुअल स्टूडियो के साथ एकीकृत करना, मैक और विंडोज पर मोनो-डिवेलप के लिए प्लगइन्स का निर्माण करना और जावा एंड्रॉइड एपीआई को .NET भाषाओं में उजागर करना। यह अब http://monodroid.net पर उपलब्ध है
एंड्रॉइड पर मोनो मोनो 2.10 रनटाइम पर आधारित है, और सी # 4.0 कंपाइलर के साथ 4.0 प्रोफ़ाइल को डिफॉल्ट करता है और मोनो के नए एसजीएन कचरा संग्रह इंजन का उपयोग करता है, साथ ही जावा और मोनो के साथ जीसी प्रदर्शन करने वाला हमारा नया वितरित कचरा संग्रह प्रणाली भी है।
नीचे दिए गए लिंक एंड्रॉइड पर मोनो को 2009 के जनवरी तक दर्शाते हैं, मैंने उन्हें ऐतिहासिक संदर्भ के लिए रखा है
मोनो अब एंड्रॉइड पर काम करता है जो कौशिक दत्ता और मार्क क्रिक्टन के काम के लिए धन्यवाद।
आप इसका एक वीडियो यहाँ देख सकते हैं: http://www.koushikdutta.com/2009/01/mono-on-android-with-gratuitous-shaky.html
और आप यहां मोनो बनाने के लिए निर्देश प्राप्त कर सकते हैं: http://www.koushikdutta.com/2009/01/building-mono-for-android.html
आप यहां मोनो के JIT बनाम डाल्विक के दुभाषिया की तुलना कर एक बेंचमार्क प्राप्त कर सकते हैं: http://www.koushikdutta.com/2009/01/dalvik-vs-mono.html
और निश्चित रूप से, आप यहां मोनो के साथ एक पूर्व-कॉन्फ़िगर की गई छवि प्राप्त कर सकते हैं (उस का उपयोग करने पर विवरण के लिए पोस्ट के निचले भाग पर जाएं ): http://www.koushikdutta.com/2009/01/building-mono-for- android.html
हाँ, यह संभव होगा और यह उतना मुश्किल नहीं होगा। इस बिंदु पर शुरू करने के लिए आवश्यक सभी प्रकार के कुछ प्रकार के कनवर्टर हैं जो एमएसआईएल को डाल्विक बायटेकोड में बदल देंगे । चूंकि दोनों प्रारूप खुले-खट्टे और अच्छी तरह से प्रलेखित हैं, इसलिए इसके साथ कोई समस्या नहीं होगी।
तो, C # या VB.NET में Android एप्लिकेशन लिखना संभव होगा, सवाल यह है कि .NET फ्रेमवर्क मानक पुस्तकालयों का कितना समर्थन किया जाएगा। लेकिन यह एक और मुद्दा है।
ऑस्कर रेयेस ने लिखा:
मुझे पूरा यकीन है कि अगर गूगल के हाथ में कोई दिलचस्पी नहीं है, तो वे कुछ डिज़ाइन करेंगे जबकि एंड्रॉइड पहले चरणों में था, अब नहीं जब वे उत्पादन चरणों में हैं। मेरा मतलब यह नहीं है कि यह संभव नहीं है, जो मैं कह रहा हूं कि वे रुचि नहीं ले रहे हैं। शायद mmm hhhh 10 साल में।
वास्तव में जो उन्होंने पहले ही डिजाइन किया है वह जावा और .NET के साथ बहुत संगत है
वे सब कुछ एक बार में नहीं कर सकते हैं, लेकिन अगर आप एंड्रॉइड एसडीके में देखते हैं, तो एक उपकरण है जिसे डीएक्स कहा जाता है । यह उपकरण जावा बाइटकोड को डाल्विक बायटेकोड में परिवर्तित करता है, इसलिए दूसरे शब्दों में, आप आज के प्रयास से एंड्रॉइड पर जावा में लिखे प्रोग्राम चला सकते हैं। अब .NET के लिए उसी टूल की जरूरत है।
.NET और Java कितने समान हैं, इस पर विचार करना वास्तव में समय की बात है।
ddimitrov ने लिखा:
.Net-> Java-> Dalvik अनुवाद अब ( http://dev.mainsoft.com/ ) भी किया जा सकता है , लेकिन मुझे लगता है कि आप .Net पुस्तकालयों की कमी को कम आंकते हैं। बेशक कोई मोनो को पोर्ट कर सकता है, लेकिन यह निश्चित रूप से एक गैर-तुच्छ प्रयास है।
मोनो को पोर्ट करने की आवश्यकता नहीं है। Android में पहले से ही VM और कुछ मूल API हैं। सभी की जरूरत है CIL-> Dalvik कनवर्टर और Android एपीआई के लिए छोटे .NET आवरण (और शायद कुछ मानक .NET वर्गों के कुछ बुनियादी कार्यान्वयन)। बस।
अद्यतन: .NET पहले से ही एंड्रॉइड पर काम करता है - आपको ऊपर बताए गए अनुसार Monodroid ( http://monodroid.net ) नामक उत्पाद की आवश्यकता होगी ।
मिगुएल डे इकाज़ा ने अपने ब्लॉग पर 17 फरवरी 2010 को घोषणा की कि वे एंड्रॉइड के लिए मोनो पर काम शुरू कर रहे हैं जिसे मोनोडायर कहा जाएगा।
यह iPhone पर MonoTouch के समान होगा लेकिन इसके बजाय Android के लिए होगा।
यह एंड्रॉइड यूआई के लिए बाध्यकारी प्रदान करेगा, इसलिए ऐप लाइव देशी एंड्रॉइड ऐप को देखेंगे और महसूस करेंगे। इसके लिए आपको एक Android विशिष्ट UI लिखना होगा।
आप फिर से मौजूदा निचले स्तर के पुस्तकालयों को पुन: उपयोग करने की आवश्यकता के बिना पुन: उपयोग करने में सक्षम होंगे।
MonoDroid पूर्वावलोकन के लिए उपलब्ध नहीं है। मुझे लगता है कि अंतर को पाट देगा। हालांकि, मोनोएड्रोइड विकास के लिए एक महंगा विकल्प हो सकता है। उनके अन्य विकास उपकरण की कीमत $ 199 और $ 4000 (द मोनोऑटच .. आईफोन देव टूल ... की कीमत $ 399 और $ 3999 के बीच है)। यदि लोग इन उपकरणों के साथ ऐप विकसित करते हैं, तो उन्हें कुछ रिटर्न देखने के लिए एक बहुत मजबूत व्यवसाय मॉडल की आवश्यकता होती है।
मोनो का एक संशोधित बंदरगाह भी पूरी तरह से संभव है।
.NET कॉम्पैक्ट फ्रेमवर्क को सिम्बियन OS ( http://www.redfivelabs.com/ ) में पोर्ट किया गया है । यदि .NET को 'बंद' प्लेटफ़ॉर्म के रूप में इस प्लेटफ़ॉर्म पर पोर्ट किया जा सकता है, तो मुझे कोई कारण नहीं दिखाई देता कि यह एंड्रॉइड के लिए क्यों नहीं किया जा सकता है।
.NET और मोनो कई उपकरणों और उन लोगों के उत्कृष्ट कौशल आधार के साथ महान वातावरण हैं, जो उन्हें उपयोग करना जानते हैं।
मुझे लगता है कि मोनो के पास पसंद का मोबाइल क्रॉस-प्लेटफॉर्म डेवलपमेंट माहौल होने का अवसर है, यह देखते हुए कि वे iPhone पर ऑब्जेक्टिव-सी के लिए एकमात्र विकल्प हैं और एंड्रॉइड के लिए पोर्टेबल होना चाहिए, और .NET पहले से ही विंडोज मोबाइल पर है।
मैं वास्तव में एंड्रॉइड पर मोनो के एक ठोस कार्यान्वयन को देखने की उम्मीद कर रहा हूं, एंड्रॉइड एपीआई के लिए रैपर के साथ मोनोटूच के साथ, और इसके लिए भुगतान करने के लिए तैयार हो जाएगा क्योंकि मैं खुद ऐसा करने की स्थिति में नहीं हूं।
आपको सिल्वरलाइट का Android कार्यान्वयन देखने की अधिक संभावना है। Microsoft प्रतिनिधि ने पुष्टि की है कि यह संभव है, बनाम iPhone जहां प्रतिनिधि ने कहा कि यह समस्याग्रस्त था।
लेकिन .Net फ्रेमवर्क का एक संस्करण संभव है। बस किसी को इसके बारे में परवाह करने की ज़रूरत है :)
लेकिन वास्तव में, C # से जावा में जाना किसी सौदे का बड़ा हिस्सा नहीं है और दो प्लेटफार्मों (पीसी बनाम G1) के बीच के भारी अंतर को देखते हुए, ऐसा लगता नहीं है कि आप किसी भी ऐप के लिए एक कोडबेस के साथ प्राप्त कर पाएंगे। आप दोनों को चलाना चाहते थे।
मेरी राय में, CLI बाइटकोड को Dalvik में बदलना तकनीकी रूप से संभव होगा, और कुछ मुख्य विशेषताओं जैसे कलेक्शन, फ़ाइल एक्सेस आदि के लिए रैपर क्लासेस लिखना होगा, यहां तक कि यह कठिन काम भी होगा।
लेकिन एंड्रॉइड पर चलाया गया एक .NET डेस्कटॉप एप्लिकेशन विदेशी महसूस करेगा, क्योंकि इसमें एक क्लासिक विंडोज जैसा जीयूआई होगा जो एक टच डिवाइस पर बहुत उपयोग करने योग्य नहीं है। यदि, दूसरी ओर, आप एक एंड्रॉइड की तरह GUI को .NET में कोड करने के लिए थे, तो आपको रैपर के एक और सेट की आवश्यकता होगी (ध्यान दें कि रैपिंग उपरोक्त उल्लिखित रैपरों के विपरीत सिर्फ दूसरा तरीका है)।
मुझे यकीन नहीं है कि अगर एक .NET मोबाइल एप्लिकेशन एंड्रॉइड पर मूल महसूस करेगा, लेकिन मुझे लगता है कि यह नहीं होगा।
शायद आप दूसरे दृष्टिकोण में रुचि रखते हैं: आप जावा भाषा में अपना आवेदन लिख सकते हैं। तब आप इसे Microsoft J # के माध्यम से .NET पर संकलित कर सकते हैं (मुझे पता है कि यह बंद हो गया है लेकिन आप अभी भी इसे डाउनलोड और उपयोग कर सकते हैं) और Android पर समान जावा कोड का उपयोग कर सकते हैं। फिर, कि कोर वर्गों उर्फ व्यापार तर्क के लिए है और फिर से आप टो GUIs लिखना होगा। हो सकता है कि आप J2ME को भी छेड़ सकते हैं, जिसे आप .NET का उपयोग करने पर नहीं कर पाएंगे।
Android के लिए .NET मेरे लिए एक वास्तविक संभावना की तरह लगता है। ऐसी खबर है कि Microsoft Android के लिए उचित सिल्वरलाइट जारी करेगा- कभी भी ऐप्पल में बूट डालने के लिए Microsoft के फायदे को कम न समझें। एक स्मार्टफोन जो तेज़ है, एक मानक इंस्टालेबल के रूप में अधिक समृद्ध, तेज़ सुविधा वाला जीवनचक्र, प्रभावशाली हार्डवेयर, फ्लैश और सिल्वरलाइट।
एंड्रॉइड को बेहतर बनाने में Microsoft का एक निहित स्वार्थ है, और इसी समय, एंड्रॉइड पर सिल्वरलाइट के लिए एप्लिकेशन डिवेलप किए जाएंगे। यह विंडोज फोन 7 ओएस पर मल्टी-टच, जीपीएस आदि के साथ भी काम करेगा।