2009-07-07 51 views
5

我想开始为iPhone开发应用程序,但我真的想使用OCaml而不是Objective-C。一些谷歌搜索后,似乎这是绝对可能的,但我还没有找到任何实际编译的代码片段。如何与iPhone API接口OCaml?

是否可以使用OCaml编写iPhone应用程序?如果是这样,你能否提供一个片段来演示如何从OCaml调用Cocoa API?

+0

嗨,朱丽叶,你的OCaml/iOS开发过程如何?我会对更多了解更感兴趣,因为我想在几个月内做同样的事情。 Max – Max 2011-05-12 19:49:20

+0

@Max:hi Max :)我和几个朋友正在组建一家创建iPhone应用程序的创业公司,但他们没有足够的承诺将项目从理念转移到现实。最后得知,该项目在它实现之前就已经死亡,但至少我得到了Obj-C和一些以前从未与之合作过的平台。 – Juliet 2011-05-13 00:02:18

回答

4

开箱即用,OCaml不能用于构建iPhone应用程序。你将不得不拥有OCaml输出ARM代码而不是x86代码。您还必须为所有IPhone API调用构建包装器。

不过,这些家伙正在经历痛苦尝试这一点。

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

愚见recomendation是你专注于使用的OBJ-C的一切。如果 你真的想要一个ML,只用于内核或有趣的部分。 我会找到一个* ML代码生成类似于C的代码,然后使用该结果 作为应用程序库。

祝你好运。

+0

+1:我担心这听起来会比听起来难,但我认为我可以用客观的C来生活......只要我能找出一个聪明的宏来解决向上和向下的funargs问题;) – Juliet 2009-07-08 13:15:37

12

我们有在我们的网站上建立OCaml到iOS交叉编译器的指令。我们从上面提到的补丁开始,但是我们发现它们需要通过多种方式进行修改才能在股票iPhone/iPad上运行。我们销售的是一款名为Cassino的iPhone应用程序,完全用OCaml编写(除了Cocoa Touch的薄包装外)。所有Cocoa Touch的包装器都将是一项很大的工作,但单一应用程序的包装并不是那么糟糕。与ObjC相比,OCaml编码非常令人愉快。

我们刚刚发布了一个名为Portland的小型OCaml iPhone应用程序的完整源代码。阅读psellos.com