2010-07-24 7 views
5

Per un'applicazione che non verrà rilasciata su AppStore, sto cercando di incorporare un interprete per esigenze di scripting semplici. Dal momento che non mi piace molto scendere con la pura C, l'interprete dovrebbe essere una libreria Objective C.Quali interpreti di linguaggio di script funzioneranno su iOS?

Durante la ricerca sul Web, ho trovato un paio di interpreti di sceneggiature per Objective C, ma non è chiaro se i ragazzi lavorino su iPhone. Quello che ho trovato sembra funzionare bene su iPhone è il LuaCore che porta lo scripting Lua nelle app iOS.

Quali interpreti di script Objective C sono stati integrati con successo nelle app iOS?

+1

Come follow-up alla mia stessa domanda, ho scoperto il seguente collegamento che descrive in dettaglio un'integrazione Lua/iPhone: http://www.grzmobile.com/blog/2009/12/1/integrating-lua-into -and-iphone-app-part-2.html – Benjamin

+0

Un altro puntatore Lua: http://www.mobileorchard.com/announcing-iphone-wax-native-uikit-iphone-apps-written-in-lua/ – Benjamin

risposta

1

Ho appena scoperto un post relativo a scripting on iOS at answerspice.com.

Sulla base del post ho valutato Nu e l'ho installato e funzionante abbastanza rapidamente in base al progetto Xcode di riferimento in this discussion (grazie a Tim!). Ho provato il simulatore e l'iPhone 4. Quindi Nu è sicuramente uno dei linguaggi di scripting che possono essere incorporati in un'app iOS.

3

Alcune opzioni JavaScript:

  1. utilizza un'istanza headless WebKit
  2. un'istanza di un
  3. tentativo custom build of JavaScriptCore di Couchbase ad ottenere SpiderMonkey esecuzione (Javascript più moderno di V8)

Si noti che il JS l'opzione fornirà un ambiente runtime abbastanza grezzo, probabilmente dovrai scrivere almeno parte di esso Se si tratta di un ambiente di sviluppo conveniente.

Altre lingue:

  1. Un tentativo con Python.
  2. Clojure tramite una configurazione statica di JavaScriptCore (vedere il punto precedente).
  3. Si suppone che il linguaggio Nu si integri bene e abbia un buon bridge Objective-C.

Ho provato solo la prima variante WebKit senza testa per Javascript, ma ho intenzione di provare quanti più elencati possibili per un progetto nei prossimi mesi.

Aggiornamento: ho usato il metodo Javascript (WebKit senza testa) un po 'più a lungo. L'ho fatto funzionare abbastanza facilmente, e resterò con quello per un po '. Ma ha un enorme svantaggio: non è possibile richiamare nativamente in modo semplice. Ho risolto questo problema scrivendo un ponte ispirato a PhoneGap che svuota una coda di comandi dopo l'esecuzione dello script.

Ho anche provato Python utilizzando il collegamento che ho dato.L'ho compilato ed eseguito un codice di esempio, ma soffre dello stesso problema dell'utilizzo di Js tramite WebKit headless e, poiché consuma un bel po 'di memoria, l'ho saltato per ora. Tuttavia, una coda di comando di callback nello stesso spirito di quella che ho creato con Js sarebbe possibile. Un altro metodo Python potrebbe essere quello di tentare di chiamare nel runtime Objective C utilizzando ctypes. Tale approccio è descritto nella risposta this.

Aggiornamento 2:Here sono diverse nuove (ish) i collegamenti per l'esecuzione Scheme, con entrambe le opzioni interprete e di compilazione.

Problemi correlati