2009-07-07 11 views
5

Ich würde gerne Anwendungen für das iPhone entwickeln, aber ich würde gerne OCaml anstelle von Objective-C verwenden. Nach einigem googeln scheint das definitiv möglich zu sein, aber ich habe keine Code-Schnipsel gefunden, die tatsächlich kompilieren.Wie verbinde ich OCaml mit iPhone API?

Ist es möglich, iPhone Apps mit OCaml zu schreiben? Wenn ja, könnten Sie einen Ausschnitt bereitstellen, der zeigt, wie Sie von OCaml Aufrufe in die Cocoa-API tätigen können?

+0

Hallo Julia, wie bist du mit deiner OCaml/iOS Entwicklung voran gekommen? Ich wäre sehr daran interessiert, mehr zu wissen, weil ich in ein paar Monaten das Gleiche machen möchte. Max – Max

+0

@Max: hi Max :) Ich und ein paar Freunde wollten ein Startup-Unternehmen gründen, das iPhone Apps schreibt, aber sie waren nicht sehr engagiert genug, um ein Projekt von der Idee zur Realität zu bringen. Am Ende lernte ich, dass das Projekt starb, bevor es überhaupt zustande kam, aber zumindest habe ich mit Obj-C und einigen Plattformen herumgespielt, mit denen ich vorher noch nie gearbeitet hatte. – Juliet

Antwort

4

Standardmäßig kann OCaml nicht zum Erstellen von IPhone-Apps verwendet werden. Sie müssten OCAML ARM-Code anstelle von x86-Code ausgeben lassen. Sie müssten auch Wrapper für alle IPhone-API-Aufrufe erstellen.

Trotzdem machen diese Jungs den Schmerz durch, um das zu versuchen.

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

Meine bescheidene Empfehlung ist, dass Sie sich mit Obj-C für alles konzentrieren. Wenn Sie wirklich eine ML wollen, verwenden Sie sie nur für den Kernel oder den interessanten Teil. Ich würde eine * ML finden, die gens zu etwas wie C codiert, und dann das Ergebnis als Bibliothek für die App verwenden.

Viel Glück.

+0

+1: Ich hatte Angst, es wäre schwieriger als es klingt, aber denke, ich kann mit objektiven C leben ... solange ich ein kluges Makro, das das Problem nach oben und unten löst löst;) – Juliet

+1

Sie könnten überprüfen Diese Ausgabe: http://www.plausiblelabs.com/blog/?p=8 – drudru

12

Wir haben Anweisungen zum Erstellen eines OCaml-zu-iOS-Cross-Compiler auf unserer Website. Wir begannen mit den oben erwähnten Patches, aber wir mussten feststellen, dass sie auf verschiedene Arten modifiziert werden mussten, um auf einem iPhone/iPad zu laufen. Wir verkaufen eine iPhone App namens Cassino, die vollständig in OCaml geschrieben ist (außer für dünne Wrapper in Cocoa Touch). Wrapper für alle Cocoa Touch wären eine große Aufgabe, aber Wrapper für eine einzelne Anwendung sind nicht so schlecht. Und die Codierung in OCaml ist im Vergleich zu ObjC sehr angenehm.

Wir haben auch nur vollständige Quellen für eine kleine OCaml iPhone App namens Portland auf unserer Website veröffentlicht. Lesen Sie mehr unter psellos.com.

+0

Die Anweisungen waren sehr gut und führten zu keinen Fehlern beim Aufbau des To-ARM-Compilers. +1 – ScootyPuff

Verwandte Themen