MonoTouch - это редакция Mono для устройств iPhone и iPod Touch, производимых компанией Apple.
MonoTouch позволяет разработчикам создавать приложения на основе C# и .NET и запускать их на iPhone, получая преимущества от использования iPhone API. При этом появляется возможность повторного использования кода и библиотек, написанных под .NET. Разработчикам не придётся изучать что-то новое в плане разработки - используется все та же привычная для них среда. Разработчики могут использовать как симулятор iPhone для тестирования своих приложений, так и саму MonoTouch на целевом устройстве, и потом отправлять приложения в AppStore для распространения.
Технология
iPhone имеет два важных требования. Во-первых, устройство не поддерживает движки JIT на уровне ядра - чтобы уменьшить возможности для написания вредоносного ПО. Во-вторых, соглашение, которое позволяет стать разработчиком iPhone, требует отказа от использования любых скриптовых движков и технологий JIT.
Для удовлетворения этих требований MonoTouch поставляется в виде статического компилятора, который переводит исполняемые файлы .NET и библиотеки в «родные» приложения. Никаких JIT и интерпретаторов вместе с приложением не поставляется - только «родной» код.
Это все построено на основе технологии Mono «Ahead of Time Compilation», подобной той, что используется для поддержки Unity3D на iPhone. Но, в отличие от Unity, MonoTouch поддерживает и другие устройства.
Как видно, MonoTouch является законченным решением для разработки приложений, которые будут распространяться через AppStore, но при этом существуют и ограничения на то, что разработчики могут использовать в C# и других языках .NET.
Сейчас все намеченные в проекты функции полностью реализованы, и Мигель предлагает заинтересованным разработчикам попробовать Mono на iPhone. Сейчас разработчики MonoTouch собирают отзывы о платформе, для участия нужно заполнить форму.
Каталог с образцами виджетов (исходный код).
>>> Страница проекта