I started programming with MonoTouch two days ago. So far I must say I'm impressed. I had absolutely no experience on a Mac before.
Here is a summary of the experience with MonoTouch:
- You need a Mac on which you install:
- iPhone SDK from Apple (iPhone Library and Interface Builder)
- Mono Framework
- MonoDevelop IDE
- MonoTouch SDK
- You create user interfaces using Interface Builder, the standard User Interface designer program for Mac/iPhone apps that is part of the SDK.
- You code your logic in C# using an IDE called MonoDevelop which is somewhat similar to Visual Studio and includes code completion. You have access to the C# 3.0 (LINQ, Lambda, Generics) features, Garbage Collection (not offered in the native iPhone SDK) and most general purpose .net APIs. They have wrapped a large portion of the iPhone SDK with a C# friendly API style.
Overall, the experience is quite good. There is one important issue though; there is no debugger (no breakpoints, no watch window, no call stack). You must debug using Console.WriteLine(). I hope Novell will find a way to debug in an upcoming release.
-Sly