2009-12-10 63 views
10

MonoTouch隨C#一起提及。框架和工具集是否僅限於C#,或者像IronRuby和F#這樣的其他CLR語言也可以工作嗎?MonoTouch的替代語言

回答

12

它不限於C#,但也有一些注意事項,以運行其它語言:

  • 動態代碼生成(反射發出)是不可能的iPhone上,所以IronPython和IronRuby的將無法工作
  • 如果編譯器產生取決於API的不上MonoTouch的存在,如VB.NET運行時庫的代碼,這些API /庫將需要移植
  • 編譯器必須能夠以自訂目標框架/ corlib - 儘管MonoTouch的核心fx與silverlight相同,所以任何SL目標編譯器都應該可以開箱即用。我相信你可以用Cecil這樣的工具做一些簡單的裝配引用重定位。

德爾福棱鏡已知工作 - 他們的MonoDevelop插件甚至支持MonoTouch。其他靜態編譯的.NET語言通常應該很容易移植。

3

Novell在這一點上有點含糊,他們說:「MonoTouch是一款適用於Mac OS X的軟件開發工具包,可讓您使用.NET編程語言」

看來,像你好世界簡單的F#程序的工作,看到這個帖子:http://jamesmoorecode.blogspot.com/2009/09/f-running-on-iphone.html

而且由於IronRuby基於DLR的頂部,因爲Novell的不支持的MonoTouch的DLR,IronRuby的不應該工作。

+0

感謝您的非常有用的答案。我+1了。 – Chuck 2009-12-11 17:34:13

+1

爲了讓MonoDevelop中的F#更容易一些,我剛剛在git上發佈了rakefile://github.com/banshee/fsharp_rakefile.git – 2009-12-14 05:06:20