2009-12-10 3 views
10

MonoTouch всегда упоминается вместе с C#. Являются ли рамки и набор инструментов на самом деле ограниченными для C# или работают другие языки CLR, такие как IronRuby и F #?Альтернативные языки с MonoTouch

ответ

12

Это не ограничивается C#, но есть несколько предостережений на работающих на других языках:

  • динамического генерирования кода (отражения испускают) не представляется возможным на iPhone, так IronPython и IronRuby не будет работать
  • Если компилятор генерирует код, который зависит от API-интерфейсов, которых нет в MonoTouch, таких как библиотека времени выполнения VB.NET, эти API-интерфейсы/библиотеки необходимо будет портировать
  • Компилятор должен иметь возможность настроить таргетинг на пользовательскую инфраструктуру/corlib - хотя ядро ​​fx MonoTouch такое же, как Silverlight, поэтому любой SL-таргетинг-компилятор должен работать из коробки. Я уверен, что вы могли бы выполнить некоторую тривиальную перенацеливание ссылок на сборки с помощью такого инструмента, как Cecil.

Известно, что Delphi Prism работает - их дополнение MonoDevelop даже поддерживает MonoTouch. Другие статически скомпилированные языки .NET, как правило, довольно легко переносить.

3

Novell неясна в этом вопросе, они говорят: «MonoTouch - это комплект для разработки программного обеспечения для Mac OS X, который позволяет использовать языки программирования .NET».

кажется, что простые F # программа как Hello-мир работает, увидеть этот пост: http://jamesmoorecode.blogspot.com/2009/09/f-running-on-iphone.html

И потому IronRuby построен на вершине DLR и с тех пор Novell не поддерживает DLR для MonoTouch, IronRuby не должен Работа.

+0

Спасибо за ваш очень полезный ответ. I + 1'd. – Chuck

+1

Чтобы сделать вещи немного проще для F # внутри MonoDevelop, я просто разместил файл rake в git: //github.com/banshee/fsharp_rakefile.git –

Смежные вопросы