MonoTouch的替代语言

时间:2009-12-10 20:47:39

标签: iphone f# mono xamarin.ios ironruby

MonoTouch总是与C#一起提到。框架和工具集实际上是否仅限于C#,还是像IronRuby和F#这样的其他CLR语言也可以工作?

2 个答案:

答案 0 :(得分:12)

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

  • iPhone上无法生成动态代码(反射发射),因此IronPython和IronRuby无法正常工作
  • 如果编译器生成依赖于MonoTouch上不存在的API的代码,例如VB.NET运行时库,则需要移植这些API /库
  • 编译器必须能够定位自定义框架/ corlib - 尽管MonoTouch的核心fx与silverlight相同,因此任何SL目标编译器都应该开箱即用。我相信你也可以用塞西尔这样的工具对装配参考进行一些微不足道的重新定位。

熟悉Delphi Prism的工作原理 - 他们的MonoDevelop插件甚至还支持MonoTouch。其他静态编译的.NET语言通常应该很容易移植。

答案 1 :(得分:3)

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

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

由于IronRuby是建立在DLR之上的,并且由于Novell不支持DLR for MonoTouch,因此IronRuby不起作用。