10

MonoTouch 总是与 C# 一起被提及。框架和工具集实际上是否仅限于 C#,或者 IronRuby 和 F# 等其他 CLR 语言也可以工作?

4

2 回答 2

12

它不仅限于 C#,但运行其他语言有一些注意事项:

  • 动态代码生成(反射发射)在 iPhone 上是不可能的,所以 IronPython 和 IronRuby 不能工作
  • 如果编译器生成的代码依赖于 MonoTouch 上不存在的 API,例如 VB.NET 运行时库,则需要移植这些 API/库
  • 编译器必须能够以自定义框架/corlib 为目标——尽管 MonoTouch 的核心 fx 与 silverlight 相同,因此任何 SL 目标编译器都应该开箱即用。我相信您也可以使用 Cecil 之类的工具对程序集引用进行一些简单的重定向。

众所周知,Delphi Prism 可以工作 - 他们的 MonoDevelop 插件甚至支持 MonoTouch。其他静态编译的 .NET 语言通常应该很容易移植。

于 2009-12-10T22:25:15.993 回答
3

Novell 在这一点上有点含糊,他们说:“MonoTouch 是用于 Mac OS X 的软件开发工具包,可让您使用 .NET 编程语言”

似乎像 Hello-world 这样的简单 F# 程序正在运行,请参阅这篇文章:http: //jamesmoorecode.blogspot.com/2009/09/f-running-on-iphone.html

而且因为 IronRuby 是在 DLR 之上构建的,而且由于 Novell 不支持 MonoTouch 的 DLR,IronRuby 不应该工作。

于 2009-12-10T21:08:08.917 回答