2010-07-24 1 views
5

ऐपस्टोर पर रिलीज़ होने वाला ऐप के लिए मैं आसान स्क्रिप्टिंग आवश्यकताओं के लिए एक दुभाषिया एम्बेड करना चाहता हूं। चूंकि मैं वास्तव में शुद्ध सी के साथ उतरना नहीं चाहता, इसलिए दुभाषिया एक उद्देश्य सी पुस्तकालय होना चाहिए।आईओएस पर कौन सी स्क्रिप्ट भाषा दुभाषिया काम करेंगे?

वेब पर खोज करते समय मैं उद्देश्य सी के लिए कुछ स्क्रिप्ट दुभाषियों में आया हूं, लेकिन क्या वे लोग आईफोन पर काम करते हैं, यह बिल्कुल स्पष्ट नहीं है। मुझे लगता है कि आईफोन पर स्पष्ट रूप से अच्छी तरह से काम करता है LuaCore जो लुआ स्क्रिप्टिंग आईओएस ऐप को लाता है।

कौन सा उद्देश्य सी स्क्रिप्टिंग दुभाषिया आपने सफलतापूर्वक आईओएस ऐप्स में एम्बेड किया है?

+1

मेरे अपने प्रश्न के अनुवर्ती के रूप में, मैंने लूआ/आईफोन एकीकरण का विवरण देने वाले निम्नलिखित लिंक को खोज लिया है: http://www.grzmobile.com/blog/2009/12/1/integrating-lua-into -और-आईफोन-एप-पार्ट-2. एचटीएमएल – Benjamin

+0

एक और लुआ पॉइंटर: http://www.mobileorchard.com/announcing-iphone-wax-native-uikit-iphone-apps-written-in-lua/ – Benjamin

उत्तर

1

बस scripting on iOS at answerspice.com से संबंधित एक पोस्ट की खोज की।

पोस्ट के आधार पर मैंने Nu का मूल्यांकन किया और this discussion (धन्यवाद टिम!) में संदर्भित एक्सकोड परियोजना के आधार पर इसे बहुत तेज़ी से चलाया और चलाया। मैंने सिम्युलेटर में और एक आईफोन 4 पर परीक्षण किया। तो Nu निश्चित रूप से स्क्रिप्टिंग भाषाओं में से एक है जिसे आईओएस ऐप में एम्बेड किया जा सकता है।

3

कुछ जावास्क्रिप्ट विकल्प:

  1. एक headless WebKit उदाहरण का उपयोग करते हुए
  2. एक custom build of JavaScriptCore
  3. Couchbase के SpiderMonkey हो रही चल रहा है (वी 8 की तुलना में अधिक आधुनिक जावास्क्रिप्ट)

सूचना है कि कम से प्रयास इन्स्तांत जे एस विकल्प काफी कच्चे रनटाइम पर्यावरण प्रदान करेगा, आपको शायद कम से कम कुछ लिखना होगा इसके लिए एक सुविधाजनक विकास पर्यावरण होने के लिए एलएफ।

अन्य भाषाओं:

  1. Python साथ एक प्रयास।
  2. ClojureJavaScriptCore के स्थिर निर्माण के माध्यम से (बिंदु ऊपर देखें)।
  3. Nu भाषा भी अच्छी तरह से एकीकृत करने के लिए माना जाता है, और एक अच्छा उद्देश्य-सी पुल है।

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

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

मैंने दिए गए लिंक का उपयोग करके पायथन की भी कोशिश की है।मैंने इसे कुछ नमूना कोड संकलित और निष्पादित किया है, लेकिन यह एक ही समस्या से पीड़ित है क्योंकि जेएस का उपयोग हेडलेस वेबकिट के माध्यम से किया जाता है, और चूंकि यह काफी मेमोरी का उपभोग करता है, मैंने इसे अभी छोड़ दिया है। जेएस के साथ बनाए गए एक ही भावना में एक कॉलबैक कमांड कतार हालांकि संभव होगा। एक और पायथन विधि ctypes का उपयोग कर उद्देश्य सी रनटाइम में कॉल करने का प्रयास करेगी। उस दृष्टिकोण को this उत्तर में वर्णित किया गया है।

अद्यतन 2:Here कई नए (ish) Scheme चल रहा है, दोनों दुभाषिया और संकलन विकल्पों के साथ के लिए लिंक कर रहे हैं।