2013-04-30 4 views
6

मुझे क्लोजर पसंद है। यह अब तक मेरी पसंदीदा भाषा है।क्या एक्समेरिन में सी # के साथ क्लोजर सीएलआर का उपयोग करना संभव है?

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

अब मैं सोच रहा हूं कि सी # के बजाय क्लोजर (सीएलआर) में मेरे ज़ामरिन ऐप्स के अधिकांश कार्यक्रमों का प्रोग्राम करने का कोई तरीका है या नहीं।

+1

नियमित क्लोजर पहले से ही * क्रॉस प्लेटफार्म है और देशी पुस्तकालयों के उपयोग की अनुमति देता है। क्या आप जो हासिल करने की कोशिश कर रहे हैं उसके बारे में थोड़ा और विशिष्ट हो सकते हैं? यदि यह केवल क्रॉस-प्लेटफॉर्म देशी ग्राफिक्स libs है, तो आप बाद में हैं, आप LibGDX को देख सकते हैं जो क्लोजर से ठीक चलता है। – mikera

उत्तर

2

तो, क्लोजर सीएलआर आपको किसी भी लाइब्रेरी का उपयोग करने देगी जो इसे लोड कर सकता है। उदाहरण के लिए, मैं Oracle.DataAccess पुस्तकालयों, और Clojure CLR में NLog पुस्तकालयों लोड किया है, तो यह Xamarin उसी तरह लायब्रेरी लोड करने के लिए सैद्धांतिक रूप से संभव है:

;;; not sure which library you want to include, using this as a placeholder 
(assembly-load-from "C:/Path/To/Xamarin.Core.dll") 

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

आप क्या कर सकते हैं क्लोजर सीएलआर में कुछ पुस्तकालयों को बनाते हैं, और उन्हें डीएलएल में संकलित करते हैं, जिन्हें आप तब लिंक कर सकते हैं, ताकि आप क्लोजर में अपने तर्क का बड़ा हिस्सा बना सकें और फिर कुछ सरल सी # रैपर बनाएं आपका एक्समरिन ऐप उपभोग करता है।

मैं जो कोशिश करता हूं उस पर वापस सुनना अच्छा लगेगा, और चाहे आप इसे सफल कर रहे हों या नहीं।

शुभकामनाएँ!

+0

क्षमा करें, मेरा मतलब है कि आपने जो कहा है उसे उद्धृत करना है, लेकिन इसके बजाय टिप्पणी पोस्ट की गई है। इस स्पष्टीकरण के लिए धन्यवाद (मैं वोट दूंगा, लेकिन मेरे पास प्रतिनिधि नहीं है)! क्या आप अपने एक्समरिन के साथ कस्टम डीएलएल का उपयोग कर सकते हैं: एंड्रॉइड/आईओएस परियोजनाएं? –

+0

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

0

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

ईमानदारी से, .NET दुनिया में क्लोजर एफ # (कार्यात्मक, डिफ़ॉल्ट रूप से अपरिवर्तनीय, इत्यादि) के साथ अधिक फिट होगा, जो एक ऐसी भाषा है जिसे Xamarin द्वारा आधिकारिक के रूप में अपनाया गया है (जिसका अर्थ है कि आप इसे एंड्रॉइड में उपयोग कर सकते हैं और आईओएस, और मैक)।

यह भी स्थैतिक रूप से टाइप किया गया है (क्लोजर के विपरीत) इसलिए इसका मतलब यह हो सकता है कि यह भी तेज़ है। कोशिश करो!

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