【问题标题】:Alternative languages with MonoTouchMonoTouch 的替代语言
【发布时间】:2009-12-10 20:47:39
【问题描述】:

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

【问题讨论】:

    标签: iphone f# mono xamarin.ios ironruby


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      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 不应该工作。

      【讨论】:

      • 感谢您非常有帮助的回答。我 +1 了。
      • 为了让 MonoDevelop 中的 F# 更容易一些,我刚刚在 git://github.com/banshee/fsharp_rakefile.git 上发布了一个 rakefile
      猜你喜欢
      • 1970-01-01
      • 2013-04-12
      • 2010-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多