2009-07-07 21 views
5

私はiPhone用のアプリケーションの開発を始めたいと思いますが、Objective-CではなくOCamlを使用したいと思っています。いくつかのグーグルの後、これは間違いなく可能ですが、実際にコンパイルするコードスニペットが見つかりませんでした。OCamlとiPhone APIをどのように統合しますか?

OCamlを使ってiPhoneアプリを書くことは可能ですか?もしそうなら、あなたはOCamlからCocoa APIへの呼び出しを行う方法を示すスニペットを提供できますか?

+0

こんにちはジュリエット、どのようにOCaml/iOS開発を進めましたか?私は数ヶ月で同じことをしたいので、もっと知ることに非常に興味があります。 Max – Max

+0

@ Max:hi Max :)私といくつかの友人がiPhoneアプリを開発してスタートアップ企業を形成しようとしていましたが、プロジェクトをアイデアからリアリティに移行するのに十分なコミットメントはありませんでした。最後に学んだプロジェクトは、これまでに実現した前に死にましたが、少なくとも私は以前Obj-Cといくつかのプラットフォームを使っていました。 – Juliet

答えて

4

そのままの状態で、OCamlを使用してIPhoneアプリケーションを構築することはできません。 OCamlはx86コードではなくARMコードを出力する必要があります。また、すべてのIPhone API呼び出しのラッパーを構築する必要があります。

まだ、これらの人はこれを試すために苦痛を経験しています。

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

私の謙虚なrecomendationあなたはすべてのためのObj-Cを使用してに焦点を当てることです。 本当にMLが必要な場合は、カーネルや興味深い部分のみに使用してください。 Cのようなものにgensをコード化した* MLが見つかり、その結果を というアプリケーションのライブラリとして使用します。

幸運。

+0

+1:私はそれが聞こえるよりも難しいと思っていましたが、客観的なCで生きていると思っています...上向きと下向きのfunargs問題を解決する巧妙なマクロを見つけることができる限り) – Juliet

+1

これは http://www.plausiblelabs.com/blog/?p=8 – drudru

12

私たちのサイトにOCaml-to-iOSクロスコンパイラを構築する方法があります。上記のパッチから始めましたが、在庫iPhone/iPadで動作させるにはいくつかの方法で修正が必要でした。私たちはCassinoという名前のiPhoneアプリを販売しています。これはOCamlで完全に書かれています(Cocoa Touchへの薄いラッパーを除く)。すべてのCocoa Touch用のラッパーは大きな仕事ですが、単一のアプリケーションのラッパーはそれほど悪くありません。 OCamlでのコーディングは、ObjCに比べてとても楽しいです。

私たちはちょうど私たちのサイトでポートランドという小さなOCaml iPhoneアプリの完全なソースを公開しました。詳しくはpsellos.comをご覧ください。

+0

非常に優れており、ARMコンパイラをビルドする際にエラーが発生しませんでした。 +1 – ScootyPuff

関連する問題