I have tried my hands on monotouch that allows iPhone and iPad apps with C# and .NET.
My experience had not been good, few of the reasons below:
- · It has own IDE which is slow and crashes at times
- · It’s SDK does not support all the native functionalities
- · Code, once written for iPad needs rewrite of many components (specially UI) to port it on Android.
- (The advantage of sharing code between Mono for Android and MonoTouch applications is greatly diluted because the UI definitions, proprietary SDK function calls, and even resource assets are mostly specific to each target platform.)
- · The bulky Mono runtime that has to be either compiled into the application's resource bundle or installed as a separate runtime adds considerable overhead and start-up time, especially for small applications.
- · Learning - development on monotouch for android and iOS is not straight forward, it needs the developer to be familiar to native development concepts of both of these platforms (like, Activities, Intents, UIControllers, View, Sub-view, NavigationControllers, …)
- But, monotoch for iOS and Android generates nearly true native code that’s a plus.
- Monotouch suits a use case where we want a native app and we don’t have objective c developers.