क्या आप Xamarin के साथ लिनक्स एप्लिकेशन विकसित कर सकते हैं?


81

क्या Xamarin के साथ समान कोड आधार के साथ लिनक्स अनुप्रयोगों का विकास और निर्माण संभव है?

उबंटू के साथ कुछ वर्षों के बाद, मेरा मुख्य ओएस अभी विंडोज फिर से है। लेकिन यह असंभव नहीं है कि मैं मैक पर जा सकूं।

अभी मुझे Qt के साथ थोड़ा अनुभव है और Xamarin के साथ कोई अनुभव नहीं है। क्यूटी के साथ आप विकसित कर सकते हैं पर विंडोज, लिनक्स, और मैक और के लिए विंडोज, लिनक्स, मैक, iOS, Android, विंडोज मोबाइल, ... वे उस के बारे में बहुत स्पष्ट हैं।

चूंकि Xamarin अब स्वतंत्र और खुला स्रोत है और मुझे अभी भी Qt में अधिक अनुभव नहीं है, इसलिए मैं Qt के बजाय क्रॉस प्लेटफॉर्म डेवलपमेंट के लिए Xamarin को आज़माने पर विचार कर रहा हूं।

लिनक्स के लिए मेरे सॉफ़्टवेयर को जारी करने में सक्षम नहीं होना मेरे लिए एक सौदा ब्रेकर होगा। लिनक्स पर विकसित करने में सक्षम होना अच्छा होगा, लेकिन वैकल्पिक है। लेकिन मेरे सभी Google शोध के बाद, मैं केवल जानकारी और लोगों को लिनक्स पर विकसित करने के लिए समर्थन मांग सकता था और लिनक्स के लिए नहीं ।

जहाँ तक मुझे पता है, यह अकेले मोनो के साथ कोई समस्या नहीं होनी चाहिए। लेकिन जहां तक ​​मुझे Xamarin> मोनो के बारे में पता है और मुझे मोनो में वह सब कुछ नहीं मिला, जो मुझे Xamarin में मिल सकता है।

मुझे भी यकीन नहीं है कि मोनो भविष्य में कितना अच्छा होगा। मेरे लिए ऐसा लगता है कि मोनो के मुकाबले Xamarin Microsoft के लिए अधिक महत्वपूर्ण है।

मुझे यकीन नहीं है कि यह संभव भी है, क्योंकि ज़ामरीन मोनो पर आधारित है, लेकिन क्या यह संभव है कि Microsoft किसी बिंदु पर मोनो को उसी तरह से .NET संगतता के साथ मोनो का समर्थन न करने का निर्णय ले, जो मोनो को स्टैंडअलोन के रूप में पूरी तरह से रद्द कर दे। ?

इसलिए मैं उन सभी डेस्कटॉप और मोबाइल प्लेटफार्मों के लिए एक एकल ढांचे की तलाश कर रहा हूं जिन पर मैं भरोसा कर सकता हूं, और मैं जानना चाहता हूं कि क्या Xamarin और / या मोनो और / या Xamarin + मोनो किसी भी गहराई में जाने से पहले Qt का विकल्प हो सकता है उन समाधानों की।

जवाबों:


62

बस अगर कोई अन्य व्यक्ति इस q / a के पार आता है, तो स्थिति बदल गई है। Xamarin.Forms 3.0 के साथ, Gtk # का समर्थन किया जाता है (पूर्वावलोकन के रूप में, इस समय)। इसलिए, पूर्ण लिनक्स GUI समर्थन सक्षम है।

तो, ज़ामरीन अब शामिल हैं:

केवल कामना के लिए छोड़ दिया गया: जेएस / एचटीएमएल 5 वेब ऐप लक्ष्य मंच, ज़मारिन के हिस्से के रूप में :)


ज़मरीन की इच्छा के लिए अन्य चीजें: वास्तव में कॉल करने की क्षमता और c # को js से लौटाने की ...
अलेक्जेंडर

1
मुझे लगता है कि Xamarin.Mac भी macOS को कवर करता है?
फ्रैंकलिन यू

1
सुनिश्चित नहीं है कि यदि आपकी इच्छा "JS / HTML5 वेब ऐप लक्ष्य प्लेटफ़ॉर्म" को उचित तरीके से कवर करना संभव है, तो सामग्री अभी भी HTML साफ है और वेबक्रेलर और इस तरह से सामान द्वारा संसाधित किया जाना संभव है। लेकिन एक JS / HTML5 / WebAssembly UI जो कि "किसी तरह काम करता है" पहले से ही एक लाभ होगा। वास्तविक देशी HTML अनुभव प्राप्त करने के लिए आपको Blazor
Thomas Haller

1
GTK # समर्थित नहीं है (Microsoft द्वारा) यह केवल एक समुदाय का प्रयास है जो Microsoft योगदान या देखभाल करने में योगदान नहीं करता है। खिड़कियों पर इसके निर्माण के बाद ही इसे लिनक्स पर विकसित करना संभव नहीं है। Xamarin.Forms UI डिज़ाइनर linux पर बिल्कुल भी उपलब्ध नहीं है। Microsoft बस इस बारे में परवाह नहीं करता है।
ट्रैम्पस्टर

46

नहीं, Xamarin लिनक्स के लिए उपलब्ध नहीं है। यह कई वर्षों पहले ज़ामरीन टीम द्वारा किया गया एक सचेत निर्णय था:

मिगुएल डे इकाज़ा 2011-08-04 11:52:37 यूटीसी

हम यहां क्यूए समस्या का सामना करते हैं।

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

इसका अर्थ यह भी है कि यदि हम "लिनक्स" का विज्ञापन करते हैं, तो हमें अलग-अलग लिनक्स वितरण और प्रत्येक वितरण के अलग-अलग संस्करणों के कारण एक दर्जन अलग-अलग संयोजन क्यूए की आवश्यकता होगी।

शायद हम सिर्फ एक वितरण और एक एकल संस्करण का समर्थन करेंगे, जो कि आज हमें विंडोज / मैक पर करना है।

स्पष्ट करने के लिए, Xamarin उत्पाद रेंज Linux (Xamarin Studio, Xamarin.iOS और Xamarin.Android) पर उपलब्ध नहीं है, लेकिन MonoDevelop, Xamarin Studio की नींव, और मोनो, क्रॉस-प्लेटफ़ॉर्म .NET रनटाइम निश्चित रूप से है।

आप MonoDevelop का उपयोग करके डेस्कटॉप सॉफ़्टवेयर का निर्माण कर सकते हैं। MonoDevelop साइट को शुरू करने के लिए बहुत सारे निर्देश हैं:


धन्यवाद। बेशक अब यह दिलचस्प होगा कि जब मैं सिर्फ मोनो का उपयोग कर रहा हूं तो मुझे क्या याद आ रहा है? ऐसा लगता है कि मोनो एंड्रॉयड और आईओएस को भी सपोर्ट करता है। क्या Xamarin का लाभ सिर्फ IDE है (मामले के लिए यह एक फायदा है) और कुछ Xamarin टेस्ट क्लाउड की तरह है?
जूशू

या क्या यह सब कुछ के लिए ज़ामरीन का उपयोग करना संभव होगा और इसके लिए एक ही कोड आधार के साथ लिनक्स के लिए इसका निर्माण किया जा सकता है?
जूसचू

5
@JuSchu मोनो iOS और Android का समर्थन नहीं करता है। यही कारण है कि ज़ामरीन ने मोनोअटच का नाम बदलकर ज़ामारिन रखा। आईओएस और एंड्रॉइड के लिए मोनो ज़ोमारिन। और .NET / मोनो आपको सभी प्लेटफ़ॉर्म का समर्थन करने के लिए एक कोड आधार का उपयोग करने की अनुमति देने का लक्ष्य नहीं रखता है। आप कोड साझा कर सकते हैं लेकिन हर पंक्ति को साझा करने का सपना नहीं देखते।
लेक्स ली

1
@JuSchu हां, व्यापार तर्क को हर जगह साझा किया जा सकता है, हालांकि साझाकरण तंत्र अब एक बड़े बदलाव के तहत है (पीसीएल से .NET मानक लाइब्रेरी के लिए) यदि आप पहले से संबंधित बिल्ड सत्रों की जांच करते हैं।
लेक्स ली

7
ऐसा लगता है कि मिगुएल डे इकाज़ा की टीम ने लिनक्स के लिए
ज़ामरीन

9

लगता है कि लिनक्स डिस्ट्रोस पर ज़मारिन फॉर्म्स का काम करने का मौका है। इस लाल धागे में मिगुएल डे इकाज़ा कहते हैं:

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

यह है: तथ्य यह है कि फॉर्म एक खुला स्रोत उपकरण है जो वर्तमान में इस संभावना को खोलता है।


5

हां, 2018 के मध्य तक, "Xamarin.Forms" लाइब्रेरी का उपयोग करके विंडोज़ / मैक / लिनक्स / एंड्रॉइड / आईओएस को लक्षित करने वाले क्रॉस प्लेटफॉर्म जीयूआई अनुप्रयोगों को विकसित करना संभव है। मूल रूप से, आपके पास क्रॉस प्लेटफ़ॉर्म कोड (UI और अन्य क्रॉस प्लेटफ़ॉर्म सामान) से एक साझा लाइब्रेरी प्रोजेक्ट है, और प्लेटफ़ॉर्म-विशिष्ट कोड (Xamarin.Forms) के लिए प्रत्येक प्लेटफ़ॉर्म पर प्रत्येक प्लेटफ़ॉर्म के लिए एक बैकेंड कार्यान्वयन है। लिनक्स पर, यह GTK का उपयोग कर रहा है। ) है।

हालाँकि, मोनोअवेवलप के साथ आप केवल क्रॉस-प्लेटफ़ॉर्म प्रोजेक्ट और एप्लिकेशन के लिनक्स-विशिष्ट प्रोजेक्ट का विकास / निर्माण कर सकते हैं। अन्य प्लेटफार्मों के विकास / निर्माण के लिए आपको अभी भी विजुअल स्टूडियो या राइडर का उपयोग करने की आवश्यकता होगी।

निम्नलिखित उत्तर देखें: https://stackoverflow.com/a/53317021/298005


4

https://github.com/0xFireball/xamarin-android-linux

जैसा कि मत्थेदेव ने कहा, Xamarin.Studio, Xamarin.iOS, और Xamarin.Android "आधिकारिक तौर पर" समर्थित नहीं हैं; हालाँकि, Xamarin.iOS वैसे भी आभासी एमुलेटर का उपयोग करता है (और मुझे नहीं लगता कि लिनक्स पर चलने के लिए Xamarin.iOS के लिए एक वर्कअराउंड होगा), लेकिन ज़ामरीन स्टूडियो (लिनक्स पर मोनो-डिवेलप, या जेटब्रेन के राइडर्स (लिनक्स पर इसे कैसे चलाया जाए) के लिए। लिंक में कोई आधिकारिक सहायता भी प्रदान नहीं की गई है) Xamarin.Studio के लिए एक लिनक्स के रूप में लिनक्स पर चल सकता है, और उस लिंक को मैंने साझा किया कि कैसे Xamarin.Android को लिनक्स पर स्थापित किया जाए, ताकि सिर्फ Xamarin.iOS के लिए आपको माइग्रेट करना होगा या दोहरी बूट या sth, मुझे आशा है कि मदद करता है! (मैं Xamarin मेरा आत्म का उपयोग कर बंद कर दिया, हालांकि, यह वातावरण linux पर Xamarin के लिए विकसित करने में मदद करता है!)


2
नमस्ते, मैं उस मार्गदर्शक को बनाए रखता हूं जिससे आप जुड़े हुए हैं; यह कुछ समय के लिए टूट गया था क्योंकि कुछ रास्तों को बदल दिया गया था, क्योंकि आज इसे अपडेट कर दिया गया है और काम करने की पुष्टि की गई है।
n3n7

मैं पुष्टि कर सकता हूँ यह अभी भी काम करता है। केवल समस्या libzip.so.4 त्रुटियों के साथ थी। मेरे पास पहले स्थान पर नहीं था इसलिए मुझे इसे स्थापित करना पड़ा: sudo apt-get install libzip4
ignacardel
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.