Вопрос

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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

А поскольку IronRuby построен на основе DLR и поскольку Novell не поддерживает DLR для MonoTouch, IronRuby не должен работать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top