2009-07-07 8 views
5

Mi piacerebbe iniziare a sviluppare applicazioni per iPhone, ma mi piacerebbe molto usare OCaml piuttosto che Objective-C. Dopo alcuni googling, sembra che questo sia sicuramente possibile, ma non ho trovato alcun frammento di codice che in realtà compili.Come si integra OCaml con l'API di iPhone?

È possibile scrivere app per iPhone utilizzando OCaml? In tal caso, potresti fornire uno snippet che dimostri come effettuare chiamate all'API Cocoa da OCaml?

+0

Ciao Juliet, come hai progredito con lo sviluppo di OCaml/iOS? Sarei molto interessato a saperne di più, perché mi piacerebbe fare la stessa cosa in pochi mesi. Max – Max

+0

@ Max: ciao Max :) Io e alcuni amici stavamo per formare una società di startup che scriveva app per iPhone, ma non erano abbastanza impegnate da spostare un progetto dall'idea alla realtà. Alla fine ho appreso che il progetto è morto prima che si materializzasse, ma almeno ho dovuto smanettare con Obj-C e alcune piattaforme con cui non avevo mai lavorato prima. – Juliet

risposta

4

Fuori dalla confezione, OCaml non può essere utilizzato per creare app IPhone. Dovresti avere OCaml in uscita codice ARM piuttosto che codice x86. Dovresti anche creare wrapper per tutte le chiamate dell'IPhone.

Ancora, questi ragazzi stanno attraversando il dolore per provare questo.

http://web.yl.is.s.u-tokyo.ac.jp/~tosh/ocaml-on-iphone/

Il mio modesto raccomandazione è che si concentra sull'utilizzo di Obj-C per tutto. Se vuoi veramente un ML, usalo solo per il kernel o la parte interessante. Troverei un * ML che codifica gens in qualcosa come C, e quindi uso quel risultato come libreria per l'app.

Buona fortuna.

+0

+1: temevo che sarebbe stato più difficile di quanto sembri, ma penso di poter vivere con l'obiettivo C ... finché riesco a capire una macro intelligente che risolve il problema del funargs verso l'alto e verso il basso;) – Juliet

+1

Puoi controllare questo: http://www.plausiblelabs.com/blog/?p=8 – drudru

12

Abbiamo istruzioni per la creazione di un cross compiler OCaml-to-iOS sul nostro sito. Abbiamo iniziato con le patch menzionate sopra, ma abbiamo scoperto che dovevano essere modificate in vari modi per essere eseguite su un iPhone/iPad di serie. Stiamo vendendo un'app per iPhone di nome Cassino interamente scritta in OCaml (fatta eccezione per i wrapper sottili di Cocoa Touch). I wrapper per tutti i Cocoa Touch sarebbero un grande lavoro, ma i wrapper per una singola applicazione non sono così male. E la codifica in OCaml è molto piacevole rispetto a ObjC.

Abbiamo anche appena pubblicato le fonti complete per una piccola app per iPhone OCaml denominata Portland sul nostro sito. Maggiori informazioni allo psellos.com.

+0

Le istruzioni erano molto buone e non hanno causato errori nella creazione del compilatore to-ARM. +1 – ScootyPuff

Problemi correlati