2013-04-02 12 views
6

1) आईओएस और एंड्रॉइड मूल पुस्तकालयों की उपलब्धता के मामले में, क्रॉस प्लेटफ़ॉर्म एप्लिकेशन के विकास के लिए लाइब्रेरी का उपयोग करने के लिए उचित, कुशल और आसान कदम क्या होगा? बाइंडिंग एंड्रॉइड लाइब्रेरी या आईओएस? अगर हम एंड्रॉइड मूल पुस्तकालय को बांधते हैं, तो क्या हम Xamarin.iOS एप्लिकेशन में इस बाइंड लाइब्रेरी का उपयोग करने में सक्षम होंगे और इसके विपरीत?Xamarin: मूल पुस्तकालय का उपयोग

2) सी ++ लाइब्रेरी की उपलब्धता के मामले में, क्या इस लाइब्रेरी का उपयोग क्रॉस प्लेटफॉर्म एप्लिकेशन विकसित करने के लिए करना संभव है?

अग्रिम धन्यवाद!

(बस एक Xamarin में शुरुआत, अगर सवाल अनुचित प्रतीत हो रहा है तो बहाने)

उत्तर

2
  1. मूल निवासी iOS और Android के पुस्तकालयों आम तौर पर काफी अलग हैं (आईओएस पुस्तकालयों सामान्यतः ऑब्जेक्टिव-सी और एंड्रॉयड पुस्तकालयों में लिखे गए हैं जावा में), और इसके कारण प्रत्येक के लिए बाइंडिंग अलग-अलग होंगी। यहां तक ​​कि अगर एपीआई समान था, तो उद्देश्य-सी और जावा के बीच का अंतर बाइंडिंग के लिए भी अलग होना पर्याप्त है।

  2. हां, आईओएस और एंड्रॉइड प्रोजेक्ट्स में सी ++ का उपयोग करना संभव है, लेकिन तंत्र अलग है।

    • सी ++ पुस्तकालय के लिए प्रबंधित बाइंडिंग बनाने के लिए इस तरह के SWIG के रूप में एक उपकरण का उपयोग करें: यहाँ कुछ विकल्प होते हैं। This भी एक दिलचस्प पढ़ा है।

    • सी पुस्तकालय बनाएं जो सी ++ लाइब्रेरी को लपेटता है, और फिर सी पुस्तकालय के साथ बातचीत करने के लिए प्रबंधित कोड में उपलब्ध मानक पी/Invoke तंत्र का उपयोग करें।

+0

धन्यवाद! जिस लाइब्रेरी का मैं उपयोग कर रहा हूं उनमें कोई प्लेटफ़ॉर्म विशिष्ट कोड नहीं है और केवल डिवाइस को रिमोट सर्वर से कनेक्ट करने के लिए उपयोग किया जाता है। यह लाइब्रेरी ऑब्जेक्टिव-सी, जावा और सी ++ पर उपलब्ध है। मुझे सी # कक्षा पुस्तकालय के रूप में उपयोग करने के लिए बाध्यकारी की आवश्यकता है। इसलिए, अगर मैं इन पुस्तकालयों में से किसी एक को बांधता हूं, तो क्या मैं अलग-अलग ज़मरिन परियोजनाओं में उपयोग कर पाऊंगा? उदाहरण के लिए: यदि मैं उपलब्ध जावा लाइब्रेरी को सी # में बांधता हूं, तो क्या मैं अपने Xamarin.iOS प्रोजेक्ट में इस बाइंड लाइब्रेरी का भी उपयोग कर सकता हूं? –

+0

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

+0

तो, अब मैं अपने क्रॉस प्लेटफ़ॉर्म एप्लिकेशन पर लाइब्रेरी के C++ संस्करण का उपयोग करने का निर्णय लेता हूं। बहुत बहुत धन्यवाद। –

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