5

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

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

4

2 回答 2

13

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

我们还刚刚在我们的网站上发布了一个名为Portland的小型 OCaml iPhone 应用程序的完整资源。在psellos.com上阅读更多信息。

于 2011-01-18T03:24:14.880 回答
5

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

尽管如此,这些家伙仍然在经历痛苦来尝试这个。

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

我谦虚的建议是,你应该专注于使用 Obj-C 来处理所有事情。如果您真的想要 ML,请仅将其用于内核或有趣的部分。我会找到一个 *ML 代码生成类似 C 的东西,然后将该结果用作应用程序的库。

祝你好运。

于 2009-07-08T01:17:38.663 回答