NAVmoble - the pocket-sized ERP
Optimized for Microsoft Dynamics NAV and Windows Mobile powered devices

Tuesday, October 13, 2009

Running .NET Apps on iPhone

I missed it somehow, but Novell released MonoTouch (current release is v.1.1.1) , which gives the developers the opportunity to develop iPhone applications using C# and their favorite .NET Framework classes.
Actually, we talk here about static native code generation ( there is no CLR implementation).
It is based on Mono's feature called Full AOT (Ahead of Time Compilation)

MonoTouch supports garbage collection, multi-threading, and many features of .NET 3.5, including C# 3.0 and LINQ, with some exceptions due to the security system in the device. See Limitations for more information about the limitations of MonoTouch.

The following .NET assemblies are part of MonoTouch 1.0:

  • mscorlib.dll
  • System.dll
  • System.Core.dll
  • System.Xml.dll
  • System.Xml.Linq.dll

MonoTouch supports BCL, WebServices, Linq and even limited WCF functionality.
There are number of limitations . The main reason is the static code generation process. There is no direct debugging experience and generics support is limited - read more about limitations

Checkout this screencast for a quick Hello World feel. (via

It sound very promising ... just need $400/$1000, Mac, and iPhone Developer Program membership to get hands durty.

Game developers may check out Unity for another C# to XCode compiler. However Unity is dedicated to game development

MonoTouch web site
Limitations of MonoTouch
Debugging support in MonoTouch
Editions and Pricing
Getting started screencast
Full AOT (Ahead of Time Compilation)
Unity web site