क्या Google Android कभी भी .NET का समर्थन करेगा? [बन्द है]


253

अब Google के Android OS के साथ G1 अब (जल्द ही) उपलब्ध है, क्या Android प्लेटफॉर्म कभी भी .Net का समर्थन करेगा?


24
अब यह कुछ होगा!
कैलनस

अधिक महत्वपूर्ण बात, क्या Microsoft कभी भी .NET को विंडोज के अलावा किसी अन्य प्लेटफॉर्म पर पोर्ट कर सकता है?
केरी

जवाबों:


325

अद्यतन : चूंकि मैंने दो साल पहले यह उत्तर लिखा था, इसलिए हमने मोनो को एंड्रॉइड पर चलाने के लिए प्रोडक्ट किया। कार्य में कुछ चरण शामिल थे: मोनो को एंड्रॉइड में पोर्ट करना, इसे विज़ुअल स्टूडियो के साथ एकीकृत करना, मैक और विंडोज पर मोनो-डिवेलप के लिए प्लगइन्स का निर्माण करना और जावा एंड्रॉइड एपीआई को .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


1
ठीक है, मैंने कहा, न तो एमएस और न ही Google, लेकिन शायद मिगुएल और यहां आप हैं (अच्छी तरह से मुझे पता है कि यह आप नहीं थे, लेकिन किसी भी तरह बंद) ग्रेट मिगेल। क्या आपको लगता है कि Google कभी भी इसका समर्थन करेगा? मेरा मतलब है कि वे अपने हुड के तहत बंदरगाह ले रहे हैं? :) अगर मैं कर सकता था तो मैं अपने ही जवाब को
ठुकरा

6
उम्म, दैट्स "ही" डेबियन में चल रहा है जो एक ही हार्डवेयर पर चल रहा है। मेरी राय में "एंड्रॉइड" के लिए काफी पोर्ट नहीं किया गया है, लेकिन लगता है कि इसे पूरी तरह से पोर्ट करने के लिए एक बड़ी समस्या नहीं है।
सैंडोस

1
मुझे आश्चर्य हो रहा है, क्या इसे स्थापित करने में आसान बनाने के लिए Google के साथ कोई बात हुई है? शायद इसे बाजार से मुफ्त डाउनलोड के रूप में रखा जाए? .Net ऐप्स को बाज़ार में रखने की अनुमति दें?
सिसौवे

1
बहुत बुरा यह विजुअल स्टूडियो एक्सप्रेस के साथ काम नहीं करता है ...
रॉककोडर

1
बहुत बढ़िया। खुशी है कि एक अद्यतन जवाब को जब्त किया। +1 मिगुएल
स्टीवन एवर्स

78

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

तो, 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 ) नामक उत्पाद की आवश्यकता होगी ।


हाँ, हम कभी नहीं जानते ... शायद, शायद ... अच्छी तरह से 10 के बजाय 4 साल बनाते हैं ...: P
OscarRyz

16
मैं सहमत नहीं हूँ। आप जो कुछ भी कहते हैं, वह तकनीकी रूप से संभव है, लेकिन मुझे लगता है कि आपको परिमाण के क्रम से जरूरी काम को कम करके आंका जाता है। कुछ घंटों में एक क्रॉसकम्पलेड हेल्लो शब्द की तरह एक सबूत की अवधारणा को एक साथ रखना हमेशा आसान होता है। लेकिन सभी वर्गों के लिए सेटअप रैपर एक बहुत काम है।
लीना शिममेल

4
@Brian, आपके द्वारा पोस्ट किया गया वीडियो iPhone नहीं Android के बारे में है।
लुबोस हैस्को

14
ठीक है, Google के जावा आत्मीयता को देखते हुए यह बहुत आश्चर्य की बात नहीं है कि वे इसके साथ .NET के लिए नहीं गए थे । हां, मोनो का उपयोग करना संभव हो सकता है, लेकिन मुझे लगभग यकीन है कि Google .NET के समान उत्साह के साथ उपयोग करने से बचेगा क्योंकि Microsoft लिनक्स का उपयोग करने से बचना होगा।
जोए

2
"जब तक कुछ बड़े लोग इसके पीछे कुछ वजन नहीं डालते, तब तक छोटी कंपनियां इस पर अपना भविष्य दांव पर लगाने वाली नहीं हैं।" नोवेल पहले से ही इसे प्रायोजित करता है। और Microsoft व्युत्पन्न परियोजना मूनलाइट को कोडेक्स और टेस्ट सूट प्रदान करके समर्थन करता है।
sblom

23

मिगुएल डे इकाज़ा ने अपने ब्लॉग पर 17 फरवरी 2010 को घोषणा की कि वे एंड्रॉइड के लिए मोनो पर काम शुरू कर रहे हैं जिसे मोनोडायर कहा जाएगा।

यह iPhone पर MonoTouch के समान होगा लेकिन इसके बजाय Android के लिए होगा।

यह एंड्रॉइड यूआई के लिए बाध्यकारी प्रदान करेगा, इसलिए ऐप लाइव देशी एंड्रॉइड ऐप को देखेंगे और महसूस करेंगे। इसके लिए आपको एक Android विशिष्ट UI लिखना होगा।

आप फिर से मौजूदा निचले स्तर के पुस्तकालयों को पुन: उपयोग करने की आवश्यकता के बिना पुन: उपयोग करने में सक्षम होंगे।


Monodroid बीटा अब उन लोगों के लिए उपलब्ध है जिन्होंने बीटा प्रोग्राम के लिए जल्दी साइन अप किया है।
डेमियन

हाँ यह वर्तमान में निजी बीटा में है, जिसे मैंने साइन अप किया था, लेकिन अब तक एक आमंत्रण से चूक गया है :(
trampster

9

एंड्रॉइड के लिए मोनो है। एंड्रॉइड के लिए पोर्ट की गई .NET फ्रेमवर्क। और एंड्रॉइड-आधारित अनुप्रयोगों को विकसित करने के लिए सी # और कोर .NET एपीआई का उपयोग करने के लिए एक विकास स्टैक मोनोडायर है। मोनोडायर प्रिव्यू 1 को कुछ दिनों पहले जारी किया गया है।


9

चूंकि एंड्रॉइड और .net सपोर्ट की खोज के लिए यह Google पर पहले लिंक में से एक है, इसलिए इसे यहां पोस्ट करना केवल उचित है।

मोनो परियोजना CK भाषाओं जैसे C # का उपयोग करके Android एप्लिकेशन विकसित करने के लिए एक SDK पर काम कर रही है। नीचे की ओर यह एक वाणिज्यिक उत्पाद होगा। monodroid


7

MonoDroid पूर्वावलोकन के लिए उपलब्ध नहीं है। मुझे लगता है कि अंतर को पाट देगा। हालांकि, मोनोएड्रोइड विकास के लिए एक महंगा विकल्प हो सकता है। उनके अन्य विकास उपकरण की कीमत $ 199 और $ 4000 (द मोनोऑटच .. आईफोन देव टूल ... की कीमत $ 399 और $ 3999 के बीच है)। यदि लोग इन उपकरणों के साथ ऐप विकसित करते हैं, तो उन्हें कुछ रिटर्न देखने के लिए एक बहुत मजबूत व्यवसाय मॉडल की आवश्यकता होती है।


6

इस xmlvm की जाँच करें मुझे लगता है कि यह संभव है। हो सकता है यह वीडियो भी देख सकता है


मुझे वो जवाब पसंद हैं। यह दर्शाता है कि यह संभव है, लेकिन यदि आप उस वीडियो को देखते हैं, तो यह भी पता चलता है कि हल करने के लिए अभी भी कितनी समस्याएं हैं और इसके पीछे कितना काम है।
लीना शिमेल

4

मोनो का एक संशोधित बंदरगाह भी पूरी तरह से संभव है।


@ काम, क्या आपको डेस्कटॉप / सर्वर ओएस से एम्बेडेड में सॉफ़्टवेयर के पोर्टिंग के साथ अनुभव है? मेरे पास कुछ मोबाइल विकास अनुभव (जावा और ब्रू) और IMHO हैं, आप इस प्रयास को बहुत कम आंक रहे हैं। यह संभव हो सकता है, लेकिन अगले 3 वर्षों में नहीं।
ddimitrov

@ddmitrov: सवाल यह था कि क्या EVER सपोर्ट .NET के साथ एंड्रॉइड प्लेटफॉर्म है, न कि अगले तीन वर्षों के भीतर। मैं केवल यह स्वीकार कर रहा था कि चूंकि मोनो .NET का एक खुला स्रोत कार्यान्वयन है, इसलिए स्क्रैच शुरू करने की तुलना में मोनो का एक एंड्रॉइड संस्करण बनाना आसान होगा।
एक्यूडम

2
अंत में तीन साल नहीं लगे। और ज़ामरीन के लोगों ने इसे छह महीने से कम समय में फिर से करने की योजना बनाई।
जस्टिन

4

.NET कॉम्पैक्ट फ्रेमवर्क को सिम्बियन OS ( http://www.redfivelabs.com/ ) में पोर्ट किया गया है । यदि .NET को 'बंद' प्लेटफ़ॉर्म के रूप में इस प्लेटफ़ॉर्म पर पोर्ट किया जा सकता है, तो मुझे कोई कारण नहीं दिखाई देता कि यह एंड्रॉइड के लिए क्यों नहीं किया जा सकता है।


क्या आपने कॉम्पैक्ट फ्रेमवर्क का उपयोग किया है? मैं अपने काम पर हर दिन करता हूं और मोनोक्रॉइड के रूप में एक मोनो पोर्ट बेहतर तरीके से ढेर हो जाएगा।
ट्रैम्पस्टर

4

.NET और मोनो कई उपकरणों और उन लोगों के उत्कृष्ट कौशल आधार के साथ महान वातावरण हैं, जो उन्हें उपयोग करना जानते हैं।

मुझे लगता है कि मोनो के पास पसंद का मोबाइल क्रॉस-प्लेटफॉर्म डेवलपमेंट माहौल होने का अवसर है, यह देखते हुए कि वे iPhone पर ऑब्जेक्टिव-सी के लिए एकमात्र विकल्प हैं और एंड्रॉइड के लिए पोर्टेबल होना चाहिए, और .NET पहले से ही विंडोज मोबाइल पर है।

मैं वास्तव में एंड्रॉइड पर मोनो के एक ठोस कार्यान्वयन को देखने की उम्मीद कर रहा हूं, एंड्रॉइड एपीआई के लिए रैपर के साथ मोनोटूच के साथ, और इसके लिए भुगतान करने के लिए तैयार हो जाएगा क्योंकि मैं खुद ऐसा करने की स्थिति में नहीं हूं।


3

आपको सिल्वरलाइट का Android कार्यान्वयन देखने की अधिक संभावना है। Microsoft प्रतिनिधि ने पुष्टि की है कि यह संभव है, बनाम iPhone जहां प्रतिनिधि ने कहा कि यह समस्याग्रस्त था।

लेकिन .Net फ्रेमवर्क का एक संस्करण संभव है। बस किसी को इसके बारे में परवाह करने की ज़रूरत है :)

लेकिन वास्तव में, C # से जावा में जाना किसी सौदे का बड़ा हिस्सा नहीं है और दो प्लेटफार्मों (पीसी बनाम G1) के बीच के भारी अंतर को देखते हुए, ऐसा लगता नहीं है कि आप किसी भी ऐप के लिए एक कोडबेस के साथ प्राप्त कर पाएंगे। आप दोनों को चलाना चाहते थे।


3

मेरी राय में, CLI बाइटकोड को Dalvik में बदलना तकनीकी रूप से संभव होगा, और कुछ मुख्य विशेषताओं जैसे कलेक्शन, फ़ाइल एक्सेस आदि के लिए रैपर क्लासेस लिखना होगा, यहां तक ​​कि यह कठिन काम भी होगा।

लेकिन एंड्रॉइड पर चलाया गया एक .NET डेस्कटॉप एप्लिकेशन विदेशी महसूस करेगा, क्योंकि इसमें एक क्लासिक विंडोज जैसा जीयूआई होगा जो एक टच डिवाइस पर बहुत उपयोग करने योग्य नहीं है। यदि, दूसरी ओर, आप एक एंड्रॉइड की तरह GUI को .NET में कोड करने के लिए थे, तो आपको रैपर के एक और सेट की आवश्यकता होगी (ध्यान दें कि रैपिंग उपरोक्त उल्लिखित रैपरों के विपरीत सिर्फ दूसरा तरीका है)।

मुझे यकीन नहीं है कि अगर एक .NET मोबाइल एप्लिकेशन एंड्रॉइड पर मूल महसूस करेगा, लेकिन मुझे लगता है कि यह नहीं होगा।

शायद आप दूसरे दृष्टिकोण में रुचि रखते हैं: आप जावा भाषा में अपना आवेदन लिख सकते हैं। तब आप इसे Microsoft J # के माध्यम से .NET पर संकलित कर सकते हैं (मुझे पता है कि यह बंद हो गया है लेकिन आप अभी भी इसे डाउनलोड और उपयोग कर सकते हैं) और Android पर समान जावा कोड का उपयोग कर सकते हैं। फिर, कि कोर वर्गों उर्फ ​​व्यापार तर्क के लिए है और फिर से आप टो GUIs लिखना होगा। हो सकता है कि आप J2ME को भी छेड़ सकते हैं, जिसे आप .NET का उपयोग करने पर नहीं कर पाएंगे।


नहीं, यह नहीं मान रहे हैं कि जीत के रूप को चित्रित किया जाएगा, जो कि एक बहुत बुरा विचार है, मोनो यूआरआई में एंड्रॉइड यूआई विजेट्स के साथ बाइंडिंग होगी, इसलिए यह बिल्कुल एक मूल एंड्रॉइड ऐप की तरह दिखाई देगा, उपयोगकर्ता को यह भी पता नहीं है MonoDroid पर चल रहा है
ट्रैम्पस्टर

इसके अलावा एक CLI बाइटकोड से Dalvik एक बुरा विचार है, मोनो रनटाइम और वीएम पहले से ही एआरएम पर काम करते हैं, जिससे इसे एंड्रॉइड पर चलाने में कोई समस्या नहीं होगी। और मोनो के रूप में JIT संकलित है और Dalvik व्याख्या की जाती है। मोनो रनटाइम पर दौड़ना अधिक तेज होगा।
ट्रैम्पस्टर

2

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

एंड्रॉइड को बेहतर बनाने में Microsoft का एक निहित स्वार्थ है, और इसी समय, एंड्रॉइड पर सिल्वरलाइट के लिए एप्लिकेशन डिवेलप किए जाएंगे। यह विंडोज फोन 7 ओएस पर मल्टी-टच, जीपीएस आदि के साथ भी काम करेगा।

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